@charset "utf-8";
/* ══════════════════════════════════════════════════════════════════════════
   mtgal-ui.css — 폰트 교체(Noto Sans KR) + 다크모드          2026-08-16
   ─────────────────────────────────────────────────────────────────────────
   설계 원칙: 밝은 테마의 기존 모습은 한 픽셀도 건드리지 않는다.
     · 폰트만 전역 교체
     · 다크모드 규칙은 전부 [data-theme="dark"] 안에서만 적용
     · 따라서 다크모드를 끄면 지금과 완전히 동일하다
   되돌리기: head.sub.php 의 mtgal-ui 블록을 지우면 끝. 이 파일만 지워도 무해.
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════════
   0. 디자인 토큰                                            2026-08-16
   ────────────────────────────────────────────────────────────────────────
   테마 원본(theme.css 43KB)에는 CSS 변수가 0개다. 색이 파일 곳곳에
   하드코딩돼 있어 브랜드 색 하나 바꾸는 데도 전수 검색이 필요했다.
   여기서부터는 값을 직접 쓰지 말고 토큰을 참조한다.

   접두어 --mt- 는 우리 것이라는 표시다. 테마·부트스트랩 변수와 겹치지 않는다.
   다크모드는 같은 토큰을 재정의하는 방식이라, 컴포넌트 CSS는 한 벌만 있으면 된다.
   ══════════════════════════════════════════════════════════════════════════ */
:root {
	/* ── 브랜드 파랑 — 기존 #007bff 를 기준으로 명도 단계를 폈다 ── */
	--mt-blue-50:  #E8F2FF;
	--mt-blue-100: #CCE4FF;
	--mt-blue-200: #99C9FF;
	--mt-blue-300: #66AFFF;
	--mt-blue-400: #3394FF;
	--mt-blue-500: #1A87FF;
	--mt-blue-600: #007BFF;
	--mt-blue-700: #0062CC;
	--mt-blue-base:#007BFF;   /* 테마 원본 색 — 기존 요소와 이어 붙일 때 */

	/* ── 중립 — 파랑 쪽으로 아주 살짝 기울여 브랜드와 어울리게 ──
	   ★ 밝은 테마 가독성 손질                                  2026-08-17
	     "회색 글자 때문인지 회색 박스 때문인지 눈에 잘 안 들어온다".
	     실제로 재 보니 흐린 글자 두 단계가 기준(4.5:1) 언저리거나 아래였다.
	         ink-500 #64748B  4.8:1  ← 날짜·조회수 같은 곁글
	         ink-400 #94A3B8  2.6:1  ← 기준 미달. 작은 글씨라 더 안 보인다
	     여기서 한 단계씩 내리면 그 색을 쓰는 66곳·25곳이 한 번에 좋아진다.
	         ink-500 → #52627A  6.1:1
	         ink-400 → #6B7A90  4.6:1  (기준 통과)
	     짙은 글자(900/700)는 이미 10:1 이상이라 그대로 둔다.

	   ★ 회색 상자도 같이 손봤다
	     ink-50(상자 바닥)이 회색기가 돌아 흰 바닥 위에서 뿌옇게 겹쳐 보였다.
	     바닥은 흰색에 가깝게 올리고, 대신 테두리(ink-100)를 한 톤 진하게 해
	     '회색으로 칠한 상자'가 아니라 '선으로 그은 상자'로 읽히게 한다. */
	--mt-ink-900: #0F172A;
	--mt-ink-800: #1E293B;
	--mt-ink-700: #334155;
	--mt-ink-600: #475569;
	--mt-ink-500: #52627A;   /* was #64748B — 대비 4.8 → 6.1 */
	--mt-ink-400: #6B7A90;   /* was #94A3B8 — 대비 2.6 → 4.6 */
	--mt-ink-300: #CBD5E1;
	--mt-ink-200: #E2E8F0;
	--mt-ink-100: #E3E9F1;   /* was #EEF2F6 — 상자 테두리를 또렷하게 */
	--mt-ink-50:  #FBFCFE;   /* was #F7F9FB — 상자 바닥의 회색기를 뺀다 */

	/* ── 의미색 ── */
	--mt-danger:  #DC3545;   /* 테마가 쓰던 값 유지 */
	--mt-success: #12805C;
	--mt-warn:    #B4690E;

	/* ── 표면·선·글자 (컴포넌트는 이 다섯만 쓰면 된다) ── */
	--mt-bg:        #FFFFFF;
	--mt-surface:   #FFFFFF;
	--mt-surface-2: var(--mt-ink-50);
	--mt-line:      var(--mt-ink-200);
	--mt-line-soft: var(--mt-ink-100);

	--mt-text:      var(--mt-ink-900);
	--mt-text-sub:  var(--mt-ink-700);
	--mt-text-dim:  var(--mt-ink-500);
	--mt-text-mute: var(--mt-ink-400);

	--mt-primary:   var(--mt-blue-600);
	--mt-primary-h: var(--mt-blue-700);
	--mt-focus:     rgba(37,99,235,.14);

	/* ── 라운드 ── */
	--mt-r-xs: 6px;
	--mt-r-sm: 10px;
	--mt-r-md: 12px;
	--mt-r-lg: 14px;
	--mt-r-xl: 18px;
	--mt-r-pill: 999px;

	/* ── 그림자 — 흰 배경에서 영역을 가르는 용도 ── */
	--mt-sh-xs:   0 1px 2px rgba(15,23,42,.05);
	--mt-sh-sm:   0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);
	--mt-sh-md:   0 2px 4px rgba(15,23,42,.04), 0 10px 24px -8px rgba(15,23,42,.16);
	--mt-sh-lg:   0 4px 8px rgba(15,23,42,.04), 0 18px 40px -12px rgba(15,23,42,.20);

	/* ── 모션 ── */
	--mt-ease:  cubic-bezier(.22,.61,.36,1);
	--mt-t-fast: .12s var(--mt-ease);
	--mt-t:      .2s var(--mt-ease);

	/* ── 입력 요소 공통 치수 (검색·회원가입·게시판이 같은 값을 쓴다) ── */
	--mt-field-h:    46px;
	--mt-field-h-mo: 48px;
	--mt-field-r:    var(--mt-r-sm);
}

/* ── 다크모드: 같은 토큰만 갈아끼운다 ──
   컴포넌트 CSS 를 다시 쓰지 않아도 되는 게 이 구조의 핵심이다. */
:root[data-theme="dark"] {
	--mt-bg:        #0F1418;
	--mt-surface:   #171D23;
	--mt-surface-2: #1F262E;
	--mt-line:      #2B333C;
	--mt-line-soft: #232A31;

	/* 2026-08-16 상향 — "다크모드에서 글자가 회색이라 잘 안 보인다" 제보.
	   WCAG 대비는 원래도 통과했지만(dim 6.4, mute 4.4) 눈에는 흐렸다.
	   본문에까지 dim 이 쓰이는 곳이 많아 전체가 회색으로 읽혔던 것.
	   토큰 하나로 283개 규칙이 같이 올라가므로 여기만 고친다.
	       text  14.4 → 16.1   sub  10.5 → 13.2
	       dim    6.4 →  8.6   mute  4.4 →  5.9   (surface 기준) */
	--mt-text:      #EAF0F7;
	--mt-text-sub:  #D6DFE9;
	--mt-text-dim:  #BAC4D0;
	--mt-text-mute: #98A4B0;

	--mt-primary:   var(--mt-blue-400);
	--mt-primary-h: var(--mt-blue-300);
	--mt-focus:     rgba(96,165,250,.20);

	--mt-sh-xs:   0 1px 2px rgba(0,0,0,.4);
	--mt-sh-sm:   0 1px 3px rgba(0,0,0,.45);
	--mt-sh-md:   0 10px 24px -8px rgba(0,0,0,.6);
	--mt-sh-lg:   0 18px 40px -12px rgba(0,0,0,.7);
}


/* ── 1. 한글 서체 ────────────────────────────────────────────────────────── */
/* 실제 @font-face 선언은 notosanskr.css 에 있다(124조각, 가변폰트).
   head.sub.php 에서 이 파일보다 먼저 불러온다.
   Pretendard 에서 갈아탄 이유와 되돌리는 법은 그 파일 머리말에 적어 두었다. */

/* 테마 폰트 CSS 가 body 에 !important 를 걸어놔서 여기서도 필요하다.
   fontawesome 은 아이콘 폰트라 반드시 제외해야 한다(제외 안 하면 아이콘이 깨진다). */
/* 아래 선택자 목록은 테마 폰트 CSS(css/font/pc-NexonLv2Gothic.css)가
   NEXON Lv2 Gothic 을 !important 로 거는 곳을 **하나도 빠짐없이** 덮어야 한다.
   하나라도 빠지면 그 요소 때문에 브라우저가 NEXON woff2(118KB)를 실제로 받아온다.
   — 쓰지도 않을 한글 폰트를 통째로 내려받는 셈이라 낭비가 크다.
   테마 쪽 대상: body / .f-md / .f-mo / .f-lg / .f-xl / h1~h6, .en
   폰트 CSS 자체는 글자 크기·행간도 정하므로 지우면 안 된다. font-family 만 덮는다. */
body,
body .f-de,
button, input, select, textarea, optgroup,
.btn, .form-control, .custom-select,
h1, h2, h3, h4, h5, h6,
.f-md, .f-mo, .f-lg, .f-xl, .en,
.na-subject, .na-title, .na-info {
	/* 2026-08-17: Noto Sans KR → Pretendard.
	   Pretendard 는 한글 자소가 조금 더 크고 자간이 좁아 같은 크기에서
	   더 또렷하게 읽힌다. 못 받았을 때를 대비해 뒤쪽 대체 목록은 그대로 둔다. */
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui,
	             'Malgun Gothic', sans-serif !important;
}
/* 아이콘은 따로 손대지 않는다.
   · Font Awesome 은 .fa 에 자기 font-family 를 직접 걸어두므로 상속보다 우선한다
     (여기서 !important 로 덮으면 .btn.fa 같은 조합에서 글자가 아이콘폰트로 깨진다)
   · 나리야 .na-icon / .qnaIco 는 폰트가 아니라 background-image 다 — 무관하다
   · .na-text 는 11px 배지라 dotum 그대로 둔다. 본문 서체로 바꾸면 폭이 넘친다 */

/* 한글은 자간을 아주 살짝 조이면 덩어리감이 좋아진다. */
body { letter-spacing: -0.01em; }

/* 굵기는 서체 기본(400)을 그대로 쓴다.
   Pretendard 시절 얇아 보여 500 으로 올렸던 블록은 서체를 바꾸면서 지웠다 —
   Noto Sans KR 은 400 에서도 획이 충분히 굵다. */



/* ── 2. 다크모드 ────────────────────────────────────────────────────────── */
/* 색은 전부 변수로 두어 나중에 한 곳에서 조정할 수 있게 했다.
   (기존 테마는 43KB CSS 에 색이 흩어져 있어 손대기 어렵다)          */
:root[data-theme="dark"] {
	--mt-bg:        #15181c;   /* 페이지 바닥 */
	--mt-surface:   #1c2026;   /* 카드·목록 등 올라온 면 */
	--mt-surface-2: #232830;   /* 한 겹 더 올라온 면(헤더·입력창) */
	--mt-border:    #2e343d;
	--mt-text:      #dce1e8;
	--mt-text-dim:  #98a3b2;
	--mt-text-mute: #7b8695;
	--mt-primary:   #4d9bff;   /* 원래 #007bff 는 어두운 배경에서 대비가 모자람 */
	--mt-danger:    #ff6b6b;
	--mt-shadow:    rgba(0,0,0,.45);
}

/* 바탕 */
:root[data-theme="dark"] body,
:root[data-theme="dark"] .wrapper,
:root[data-theme="dark"] #wrapper {
	background-color: var(--mt-bg) !important;
	color: var(--mt-text) !important;
}

/* 흰 면들 → 표면색으로. 이 사이트는 bg-white 를 카드처럼 쓴다. */
:root[data-theme="dark"] .bg-white,
:root[data-theme="dark"] .bg-light,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .list-group-item,
:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .popover,
:root[data-theme="dark"] .toast,
/* ★ .nt-container 는 여기서 뺐다.                            2026-08-18
   이건 카드가 아니라 **배치용 감싸개**다. 본문 칸과 사이드 칸을 둘 다
   품고 있어서, 여기에 표면색을 칠하면 두 칸이 한 덩어리 상자처럼 보인다
   ("사이드랑 컨텐츠가 한 박스처럼 보인다" 의 원인).
   감싸개는 투명하게 두고, 그 위에 놓인 카드·위젯만 표면색을 갖게 한다. */
/* ★ .na-item 은 여기서 뺐다.                                2026-08-18
   이건 카드가 아니라 **목록 한 줄 안의 제목 묶개**다. 여기에 표면색을 칠하면
   줄 배경(공지줄은 옅은 파란 틴트) 위에 어두운 상자가 덧그려져,
   공지사항 줄에 검은 띠가 그어진 것처럼 보인다.
   묶개는 투명하게 두고 줄 배경이 그대로 비치게 한다. */
:root[data-theme="dark"] .na-item { background-color: transparent !important; }
:root[data-theme="dark"] .bg-white,
:root[data-theme="dark"] .bg-light,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .list-group-item,
:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .popover,
:root[data-theme="dark"] .toast {
	background-color: var(--mt-surface) !important;
	color: var(--mt-text) !important;
}

/* 헤더·메뉴는 한 겹 더 밝게 해서 층이 보이게 */
/* ★ 여기 있던 요소 선택자 `header` 를 뺐다.
   <header> 는 사이트 상단만이 아니라 글 제목(bo_v_title)·댓글 등
   본문 안에도 쓰인다. 그래서 다크모드에서 글 제목 뒤에 회색 상자가
   생겼다(.me-li 때와 같은 실수다). 사이트 헤더는 id 로 콕 집는다. */
:root[data-theme="dark"] #header_pc,
:root[data-theme="dark"] #header_mo,
:root[data-theme="dark"] .navbar,
:root[data-theme="dark"] .nt-header,
:root[data-theme="dark"] .nt-menu,
:root[data-theme="dark"] .me-li,
:root[data-theme="dark"] .table thead th {
	background-color: var(--mt-surface-2) !important;
	color: var(--mt-text) !important;
}

/* 글자 */
:root[data-theme="dark"] .text-dark,
:root[data-theme="dark"] .text-body,
:root[data-theme="dark"] .text-black,
:root[data-theme="dark"] .na-subject,
:root[data-theme="dark"] .me-a,
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2,
:root[data-theme="dark"] h3, :root[data-theme="dark"] h4,
:root[data-theme="dark"] h5, :root[data-theme="dark"] h6 {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .text-muted,
:root[data-theme="dark"] .na-info,
:root[data-theme="dark"] .text-secondary,
:root[data-theme="dark"] small {
	color: var(--mt-text-mute) !important;
}

/* 링크 */
:root[data-theme="dark"] a { color: var(--mt-text); }
:root[data-theme="dark"] a:hover { color: var(--mt-primary); }
:root[data-theme="dark"] .text-primary,
:root[data-theme="dark"] a.text-primary { color: var(--mt-primary) !important; }

/* 선 */
:root[data-theme="dark"] .border,
:root[data-theme="dark"] .border-top,
:root[data-theme="dark"] .border-bottom,
:root[data-theme="dark"] .border-left,
:root[data-theme="dark"] .border-right,
:root[data-theme="dark"] .na-line,
:root[data-theme="dark"] .dropdown-divider,
:root[data-theme="dark"] hr,
:root[data-theme="dark"] .table td,
:root[data-theme="dark"] .table th,
:root[data-theme="dark"] .list-group-item {
	border-color: var(--mt-border) !important;
}

/* 입력 요소 — 밝은 채로 남으면 제일 눈에 띈다 */
:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .custom-select,
:root[data-theme="dark"] input[type="text"],
:root[data-theme="dark"] input[type="password"],
:root[data-theme="dark"] input[type="search"],
:root[data-theme="dark"] input[type="email"],
:root[data-theme="dark"] input[type="tel"],
:root[data-theme="dark"] input[type="number"],
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-border) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .form-control::placeholder,
:root[data-theme="dark"] textarea::placeholder { color: var(--mt-text-mute) !important; }
:root[data-theme="dark"] .form-control:focus {
	border-color: var(--mt-primary) !important;
	box-shadow: 0 0 0 .2rem rgba(77,155,255,.25) !important;
}

/* 버튼 */
:root[data-theme="dark"] .btn-light,
:root[data-theme="dark"] .btn-outline-secondary,
:root[data-theme="dark"] .btn-secondary {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-border) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .btn-primary { border-color: var(--mt-primary) !important; }

/* 표 줄무늬·호버 */
:root[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd),
:root[data-theme="dark"] .table-hover tbody tr:hover,
:root[data-theme="dark"] .list-group-item-action:hover,
:root[data-theme="dark"] .na-item:hover {
	background-color: var(--mt-surface-2) !important;
}

/* 사이드 위젯도 스스로 표면색을 갖게 한다.
   theme.css 의 .main_sd_list 는 테두리만 있고 배경이 없다. 지금까지는
   위 .nt-container 배경에 얹혀 카드처럼 보였는데, 그 배경을 뺐으니
   여기서 직접 칠해 줘야 한다. */
:root[data-theme="dark"] .main_sd_list {
	background-color: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
}

/* 그림자는 어두운 배경에서 안 보이므로 더 진하게 */
:root[data-theme="dark"] .shadow,
:root[data-theme="dark"] .shadow-sm,
:root[data-theme="dark"] .card { box-shadow: 0 .125rem .5rem var(--mt-shadow) !important; }

/* 이미지·배너는 그대로 두되 아주 살짝 눌러 눈부심만 줄인다.
   광고 배너의 색을 바꾸면 광고주 자산을 훼손하는 것이라 밝기만 건드린다. */
:root[data-theme="dark"] img:not(.no-dim) { filter: brightness(.92); }

/* 코드·인용 */
:root[data-theme="dark"] pre,
:root[data-theme="dark"] code,
:root[data-theme="dark"] blockquote {
	background-color: var(--mt-surface-2) !important;
	color: var(--mt-text) !important;
}

/* 에디터 iframe 은 부모 CSP·CSS 를 물려받지 않는다. 건드리지 않는다.
   (2026-08 에 CSP 로 에디터를 죽인 전례가 있다) */


/* ── 3. 전환 버튼 ───────────────────────────────────────────────────────── */
/* ★ 위치를 왼쪽 아래에서 오른쪽 아래로 옮겼다.            2026-08-17
   모바일(767px 이하)에서 알림 버튼이 #nt_sidebar_noti{left:0;bottom:25px}
   라서 정확히 같은 자리였다 — 두 개가 겹쳐 눌렸다.
   오른쪽 아래는 '맨 위로' 버튼이 쓰는 자리인데, 그건 스크롤해야 나타났다
   사라지는 버튼이다. 나타났다 사라지는 쪽을 기준으로 삼으면 전환 버튼이
   같이 움직여 보이므로, 항상 있는 전환 버튼을 맨 아래에 고정하고
   '맨 위로' 쪽을 한 칸 위로 올렸다(바로 아래 #nt_sidebar_move 규칙). */
.mt-theme-toggle {
	position: fixed;
	right: 25px;
	bottom: 20px;
	z-index: 1030;              /* 공지 팝업(1035)보다 아래 */
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,.12);
	background: #fff;
	color: #333;
	font-size: 17px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0,0,0,.18);
	transition: transform .15s ease, background-color .15s ease;
	padding: 0;
}
/* '맨 위로'·'맨 아래로' 를 전환 버튼 위로 올린다.
   위젯 CSS(widget/sidebar/widget.css)를 고치지 않고 여기서 덮는다 —
   위젯은 나리야 것이라 업데이트하면 되돌아간다.
   42px(버튼) + 20px(원래 아래 여백) + 10px(간격) = 72px */
#nt_sidebar_move { bottom: 72px !important; }

.mt-theme-toggle:hover { transform: scale(1.06); }
.mt-theme-toggle:focus-visible { outline: 2px solid #4d9bff; outline-offset: 2px; }
:root[data-theme="dark"] .mt-theme-toggle {
	background: var(--mt-surface-2);
	color: #ffd166;
	border-color: var(--mt-border);
	box-shadow: 0 2px 10px rgba(0,0,0,.5);
}
@media (prefers-reduced-motion: reduce) {
	.mt-theme-toggle { transition: none; }
	.mt-theme-toggle:hover { transform: none; }
}


/* ══════════════════════════════════════════════════════════════════════════
   4. 게시판 목록 정리 (/top/mt)                              2026-08-16
   ────────────────────────────────────────────────────────────────────────
   원래 스킨은 .na-subject 에 text-overflow:unset / white-space:unset 을 걸어
   제목이 2~3줄로 늘어났다. 제목 텍스트가 감싸는 태그 없이 맨몸으로 있어서
   CSS 만으로는 잡을 수 없었기에 스킨에서 .mt-subject-text 로 감쌌다.
   ══════════════════════════════════════════════════════════════════════════ */

/* 제목 줄이 늘어나지 않게 셀 자체를 한 줄로 고정 */
#bo_list .na-title .na-subject > .na-table > div {
	white-space: nowrap;
	overflow: hidden;
}

/* 제목만 말줄임 — 뒤에 붙는 댓글수는 줄어들지 않게 한다 */
#bo_list .na-title .na-subject .mt-subject-text {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}

/* ★ 댓글수가 제목 뒤가 아니라 칸 오른쪽 끝으로 밀리던 문제   2026-08-17
   앞서는 제목에 max-width:calc(100% - 3.2rem) 로 **자리를 미리 비워** 뒀다.
   그런데 그 3.2rem 은 댓글수가 한 자리든 세 자리든 늘 같은 폭이라,
   짧은 숫자일 때는 제목과 숫자 사이에 빈 공간이 그대로 남았다.

   자리를 재는 대신 flex 로 '제목은 남는 만큼만, 숫자는 제 폭만큼' 나눈다.
     제목        flex: 0 1 auto + min-width: 0  → 모자랄 때만 줄며 말줄임
     숫자·아이콘 flex: 0 0 auto                 → 절대 안 줄어듦

   ★ 칸 전체가 아니라 .mt-subject-line 만 flex 인 이유
     모바일에서는 이 칸에 사이트명·주소 줄이 하나 더 들어간다. 칸을 통째로
     flex 로 만들면 그 줄이 제목 옆에 붙고, 줄바꿈을 허용하면 이번엔
     댓글수가 아래로 떨어진다. 그래서 스킨에서 제목줄만 따로 감쌌다. */
#bo_list .na-title .na-subject .mt-subject-line {
	display: flex;
	align-items: center;
	column-gap: .3rem;
	min-width: 0;
	max-width: 100%;
}
#bo_list .na-title .na-subject .mt-subject-line > .mt-subject-text {
	flex: 0 1 auto;
	min-width: 0;
}
#bo_list .na-title .na-subject .mt-subject-line > .na-icon,
#bo_list .na-title .na-subject .mt-subject-line > .na-hicon,
#bo_list .na-title .na-subject .mt-subject-line > .count-plus {
	flex: 0 0 auto;
}

/* 사이트 주소 칸 — PHP 에서 16자로 자르고, 그래도 넘치면 CSS 로 한 번 더 */
#bo_list #mttip_site_name_wrap {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}



/* ══════════════════════════════════════════════════════════════════════════
   5. 검색창 — 헤더 아래로 내려오는 패널                     2026-08-16
   ────────────────────────────────────────────────────────────────────────
   기존: 화면 전체를 검게 덮는 오버레이(theme.css:193, rgba(0,0,0,.85)).

   마크업 구조를 정확히 알고 짜야 한다 — 닫기 버튼이 폼 안이 아니라 형제다:
       #nt_search > .closebtn        (먼저 나옴, 원래 float:right)
       #nt_search > .tcontent > form > input + button
   그래서 .closebtn 은 절대배치로 오른쪽 끝에 고정하고, 폼이 남은 폭을 쓴다.
   원복: 이 절만 지우면 원래 전체화면 방식으로 돌아간다(마크업 무손상).
   ══════════════════════════════════════════════════════════════════════════ */

#nt_search {
	position: fixed;
	top: 0;                        /* JS 가 헤더 높이에 맞춰 다시 잡는다 */
	left: 0;
	right: 0;
	width: 100%;
	height: auto;
	background: #fff !important;
	background-color: #fff !important;
	border-bottom: 1px solid #e7ebf0;
	box-shadow: 0 12px 28px rgba(16,24,40,.12);
	z-index: 1040;                 /* 공지 팝업(1035)·다크모드 버튼(1030) 위 */
	padding: 0;
	animation: mtSearchDrop .16s cubic-bezier(.2,.7,.3,1);
}
@keyframes mtSearchDrop {
	from { opacity: 0; transform: translateY(-10px); }
	to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) { #nt_search { animation: none; } }

/* 입력 영역 — 가운데 정렬. 오른쪽은 닫기 버튼 자리를 비워둔다 */
#nt_search .tcontent {
	position: static;
	top: auto;
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	padding: 1rem 1rem;
	text-align: left;
}
#nt_search form {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
}

#nt_search input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 1rem;
	font-size: 1.02rem;
	line-height: 48px;
	color: #111827;
	background: #f4f6f9;
	border: 1px solid #e3e8ef;
	border-radius: 12px;
	outline: none;
	transition: border-color .12s ease, background-color .12s ease, box-shadow .12s ease;
}
#nt_search input[type="text"]:focus {
	background: #fff;
	border-color: #007bff;
	box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}
#nt_search input[type="text"]::placeholder { color: #9aa4b2; }

#nt_search button[type="submit"] {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: filter .12s ease;
}
#nt_search button[type="submit"]:hover { filter: brightness(1.08); }
#nt_search button[type="submit"] i { font-size: 1.05rem; }

/* 닫기 — 패널 오른쪽 끝에 조용히 */
#nt_search .closebtn {
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	font-size: 20px;
	font-weight: 400;
	color: #98a2b3;
	background: transparent;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color .12s ease, color .12s ease;
}
#nt_search .closebtn:hover { background: #f1f3f7; color: #111827; }

/* 뒤 화면은 살짝 눌러 초점을 준다. 클릭하면 닫힌다 */
#mt-search-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(15,23,42,.32);
	z-index: 1039;
	display: none;
}

@media (max-width: 575.98px) {
	#nt_search .tcontent { padding: .8rem .75rem; padding-right: 3rem; }
	#nt_search .closebtn { right: .5rem; }
	#nt_search input[type="text"] { height: 44px; line-height: 44px; font-size: .98rem; }
	#nt_search button[type="submit"] { width: 44px; height: 44px; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] #nt_search {
	background: var(--mt-surface-2) !important;
	background-color: var(--mt-surface-2) !important;
	border-bottom-color: var(--mt-border);
	box-shadow: 0 12px 28px rgba(0,0,0,.55);
}
:root[data-theme="dark"] #nt_search input[type="text"] {
	background: var(--mt-bg);
	border-color: var(--mt-border);
	color: var(--mt-text);
}
:root[data-theme="dark"] #nt_search input[type="text"]:focus {
	border-color: var(--mt-primary);
	box-shadow: 0 0 0 3px rgba(77,155,255,.20);
}
:root[data-theme="dark"] #nt_search .closebtn { color: var(--mt-text-dim); }
:root[data-theme="dark"] #nt_search .closebtn:hover {
	background: var(--mt-surface); color: var(--mt-text);
}


/* ══════════════════════════════════════════════════════════════════════════
   5-1. 게시판 검색폼 — 위쪽 여백                            2026-08-16
   ────────────────────────────────────────────────────────────────────────
   래퍼에 mb-3 만 있고 위쪽 여백이 없어 앞 요소에 붙어 있었다.
   같은 마크업이 스킨 8개에 흩어져 있어 파일마다 고치지 않고 CSS 로 잡는다.
   ══════════════════════════════════════════════════════════════════════════ */
#bo_search > .alert:has(#fsearch),
#new_search > .alert:has(#fsearch) { margin-top: 1rem; }
/* :has() 미지원 브라우저용 보조 — 이 클래스 조합은 검색폼 래퍼에만 쓰인다 */
#bo_search > .alert.bg-light.border.mx-3.mx-sm-0 { margin-top: 1rem; }


/* ══════════════════════════════════════════════════════════════════════════
   6. 새글·새댓글 목록(/bbs/new.php) — 한 줄로 고정          2026-08-16
   ══════════════════════════════════════════════════════════════════════════ */

/* 제목(댓글 내용) 1줄 */
#new_list .na-title,
#new_list .na-item { min-width: 0; }
#new_list .na-subject {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 등록자 1줄.
   주의: 바깥 셀이나 .sv_wrap 에 overflow:hidden 을 걸면 안 된다 —
   사이드뷰 팝업(.sv)이 그 안에 absolute 로 들어 있어서 통째로 잘린다.
   그래서 눈에 보이는 이름 링크에만 말줄임을 건다. */
#new_list .sv_member {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}
#new_list .xp-icon { flex: 0 0 auto; }


/* ══════════════════════════════════════════════════════════════════════════
   7. 모바일 헤더 — 햄버거 · 로고 · 검색 한 줄               2026-08-16
   ══════════════════════════════════════════════════════════════════════════ */
#header_mo h3 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0;
}
/* float 을 쓰지 않고 절대배치로 좌우에 고정 — 로고 폭과 무관하게 정확히 가운데 */
#header_mo h3 > a.float-left,
#header_mo h3 > #header_mo_search {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	float: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	color: #374151;
	transition: background-color .12s ease;
}
#header_mo h3 > a.float-left   { left: 0; }
#header_mo h3 > #header_mo_search { right: 0; }
#header_mo h3 > a.float-left:hover,
#header_mo h3 > #header_mo_search a:hover { background: #f1f3f7; }
#header_mo h3 > #header_mo_search a {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%; border-radius: 10px; color: inherit;
}
#header_mo h3 .fa { font-size: 1.15rem; }
#header_mo #logo_img { max-height: 34px; width: auto; }

:root[data-theme="dark"] #header_mo h3 > a.float-left,
:root[data-theme="dark"] #header_mo h3 > #header_mo_search { color: var(--mt-text); }
:root[data-theme="dark"] #header_mo h3 > a.float-left:hover,
:root[data-theme="dark"] #header_mo h3 > #header_mo_search a:hover { background: var(--mt-surface); }


/* ══════════════════════════════════════════════════════════════════════════
   8. 사이드바(오프캔버스) — tozinsa 구조에 맞춤              2026-08-16
   ────────────────────────────────────────────────────────────────────────
   tozinsa 는 사이드바를 열면 계정 버튼 → 메뉴 순으로 바로 이어진다.
   우리는 그 앞에 4칸 아이콘 그리드(메뉴/새글/검색/더보기 + 더보기 7칸)가
   있어서 정작 메뉴가 한참 아래로 밀린다. 그 그리드를 감춘다.

   되돌리기: 아래 .sidebar-icon 규칙 두 줄만 지우면 즉시 원래대로다.
   마크업은 그대로 두므로 링크·기능은 아무것도 사라지지 않는다.
   (감춰지는 바로가기: 새글·검색·관리자·테마설정·위젯설정·1:1문의·태그모음·신고모음
    — 전부 메뉴나 헤더에서 다른 경로로 갈 수 있다)
   ══════════════════════════════════════════════════════════════════════════ */
#nt_sidebar .sidebar-icon { display: none !important; }
#nt_sidebar #sidebar_more_icon { display: none !important; }

/* 그리드를 감추면서 생긴 음수 여백 보정 */
#nt_sidebar .sidebar-content > .mt-n1 { margin-top: 0 !important; }

/* ── 최소한의 다듬기 ── */
#nt_sidebar_header h3 { letter-spacing: -.01em; margin: 0; }

#nt_sidebar_menu h5 {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: #8b95a5;
	padding: 1rem 1rem .5rem;
	margin: 0;
}
#nt_sidebar .me-ul > li > a,
#nt_sidebar .sidebar-list .me-ul > li > a {
	padding-top: .7rem;
	padding-bottom: .7rem;
	transition: background-color .12s ease;
}
#nt_sidebar .me-ul > li > a:hover { background: rgba(0,0,0,.035); }

/* 통계 숫자는 자릿수를 맞춘다 */
#nt_sidebar .float-right { font-variant-numeric: tabular-nums; }

/* 경험치 바 — 줄무늬 애니메이션은 요즘 감각이 아니다 */
#nt_sidebar .progress { height: 6px; border-radius: 999px; overflow: hidden; }
#nt_sidebar .progress-bar-striped { background-image: none !important; }

/* ── 다크모드 ── */
:root[data-theme="dark"] #nt_sidebar { background: var(--mt-bg) !important; }
:root[data-theme="dark"] #nt_sidebar .bg-white,
:root[data-theme="dark"] #nt_sidebar .sidebar-list { background: var(--mt-surface) !important; }
:root[data-theme="dark"] #nt_sidebar .me-ul > li > a { color: var(--mt-text); }
:root[data-theme="dark"] #nt_sidebar .me-ul > li > a:hover { background: rgba(255,255,255,.06); }
:root[data-theme="dark"] #nt_sidebar .border-top,
:root[data-theme="dark"] #nt_sidebar .me-ul { border-color: var(--mt-border) !important; }
:root[data-theme="dark"] #nt_sidebar .progress { background: var(--mt-border); }


/* ══════════════════════════════════════════════════════════════════════════
   9. 사이드바 하위메뉴 화살표 · 헤더 구분 · 검색폼 여백      2026-08-16
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 하위메뉴 화살표: 오른쪽(▶) → 아래(▼), 펼치면 위(▲) ──
   마크업이 <i class="fa fa-caret-right tree-toggle"> + <ul class="me-ul1 tree on|off">
   형제 구조라 아이콘에서 뒤 형제 상태를 볼 수 없다. 부모 li 에 :has() 를 쓴다.
   위치는 손대지 않고 회전만 준다 — 기존 정렬을 깨지 않기 위해서. */
#nt_sidebar .me-li > .tree-toggle,
#nt_sidebar_menu .me-li > .tree-toggle {
	display: inline-block;
	transform: rotate(90deg);
	transform-origin: center;
	transition: transform .15s ease;
}
#nt_sidebar .me-li:has(> .me-ul1.on) > .tree-toggle,
#nt_sidebar_menu .me-li:has(> .me-ul1.on) > .tree-toggle {
	transform: rotate(-90deg);
}
@media (prefers-reduced-motion: reduce) {
	#nt_sidebar .me-li > .tree-toggle { transition: none; }
}

/* ── 사이드바 상단: 로고줄과 계정버튼줄 구분 ──
   둘 다 bg-primary 라 파랑 위에 파랑이어서 경계가 안 보였다.
   계정 버튼 띠를 한 단계 어둡게 깔아 별개 구역으로 읽히게 한다. */
#nt_sidebar_header {
	box-shadow: inset 0 -1px 0 rgba(255,255,255,.22);
	padding-top: .15rem;
	padding-bottom: .15rem;
}
/* 반투명 검정으로 어둡게 하면 안 된다 — 뒤가 흰색인 상태(비로그인 등)에서는
   '흰 배경 위 16% 검정' = 연회색이 되어 흰 글씨가 묻힌다. 실제로 그렇게 됐다.
   뒤 배경과 무관하게 같은 색이 나오도록 불투명한 진한 파랑을 쓴다.
   헤더는 #007bff(bg-primary), 이 띠는 그보다 진해서 두 구역이 갈린다. */
#nt_sidebar .sidebar-content .btn-group > .btn-primary {
	background-color: #0056b3 !important;
	border-color: #0056b3 !important;
	border-right: 1px solid rgba(255,255,255,.22) !important;
	color: #fff !important;
	padding-top: .6rem;
	padding-bottom: .6rem;
	font-weight: 500;
}
#nt_sidebar .sidebar-content .btn-group > .btn-primary:last-child {
	border-right: 0 !important;
}
#nt_sidebar .sidebar-content .btn-group > .btn-primary:hover,
#nt_sidebar .sidebar-content .btn-group > .btn-primary:focus {
	background-color: #004494 !important;
	border-color: #004494 !important;
	color: #fff !important;
}

/* ── 검색폼 위쪽 여백 — 검색결과 페이지(#sch_res_detail)까지 포함 ──
   그쪽 폼은 name="fsearch" 만 있고 id 가 없어서 앞선 :has(#fsearch) 규칙에
   안 걸렸다. 컨테이너 기준으로 다시 잡는다. */
#sch_res_detail > .alert,
#bo_search > .alert,
#new_search > .alert { margin-top: 1rem; }


/* ══════════════════════════════════════════════════════════════════════════
   10. 메뉴 이모지 — 글자효과 제외 + 세로 정렬               2026-08-16
   ────────────────────────────────────────────────────────────────────────
   보증업체 메뉴에 걸린 레인보우 그라데이션(theme.css:2175)은
   background-clip:text + -webkit-text-fill-color:transparent 방식이라
   그 안의 이모지까지 투명하게 만든다 — 👑 이 왕관이 아니라 색띠로 뭉개졌다.
   extend/mtgal_menu_emoji.extend.php 가 이모지를 .mt-me-emoji 로 감싸주므로
   여기서 효과만 되돌리고 정렬을 따로 잡는다.
   ══════════════════════════════════════════════════════════════════════════ */
.mt-me-emoji {
	/* 그라데이션 텍스트 해제 — 이모지 본래 색이 나오게 */
	background: none !important;
	background-image: none !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	-webkit-text-fill-color: initial !important;
	color: initial !important;
	text-shadow: none !important;
	animation: none !important;

	/* 정렬 — baseline 기준으로 맞추면 폰트 메트릭에 따라 이모지가 아래로 처진다.
	   (0.95em + vertical-align:middle 로 시도했으나 여전히 어긋났다)
	   그래서 라벨을 담는 요소를 flex 로 만들어 세로 가운데로 붙인다.
	   아래 .mt-me-emoji 를 가진 부모에만 적용하므로 다른 메뉴는 영향 없다. */
	display: inline-block;
	line-height: 1;
	font-size: 1.05em;                /* 글자보다 살짝 크게 — 작아 보인다는 지적 반영 */
	font-weight: 400 !important;
	margin-right: .2em;
	flex: 0 0 auto;
	/* 컬러 이모지 폰트를 명시해 한글 폰트의 흑백 대체글꼴을 피한다 */
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji",
	             "Segoe UI Symbol", sans-serif !important;
	letter-spacing: 0 !important;
}
/* 이모지 뒤 글자는 원래 효과를 그대로 받는다(건드리지 않음) */


/* ══════════════════════════════════════════════════════════════════════════
   11. 회원가입 폼(/bbs/register_form.php) — 사이트 톤에 맞춤   2026-08-16
   ────────────────────────────────────────────────────────────────────────
   기본 부트스트랩 4 폼 그대로라 입력창이 각지고 구역 구분이 약했다.
   검색 패널과 같은 규칙(44~48px 높이, 10~12px 라운드, 파란 포커스 링)을 쓴다.
   마크업은 손대지 않는다 — 이 절만 지우면 원래대로 돌아간다.
   ══════════════════════════════════════════════════════════════════════════ */

/* 바깥 카드 */
.register {
	margin: 0 !important;
	padding: .25rem .25rem 1rem;
}
/* 2026-08-16 제거: 겉박스(.na-col.card)에 전용 테두리·라운드·그림자를 씌웠더니
   회원가입 페이지만 다른 페이지와 박스 모양이 달라졌다.
   겉박스는 테마 기본(.card + .shadow)을 그대로 쓴다 — 여기서는 손대지 않는다.
   이 파일의 회원가입 규칙은 '박스 안쪽'(입력창·구역제목)만 담당한다. */

/* 구역 제목 — 작은 라벨체로, 아래에 얇은 선 */
.register .list-group-item > h5 {
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: #6b7280;
	margin: 0;
	padding-bottom: .65rem;
	border-bottom: 1px solid #eceff3;
}
/* 구역 사이 간격은 여백으로 (테두리 대신) */
.register .list-group { border: 0; }
.register .list-group-item {
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	background: transparent;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* 라벨 */
.register .col-form-label {
	font-weight: 600;
	font-size: .93rem;
	color: #374151;
}
.register .col-form-label strong { font-weight: 600; }

/* 입력창 — 검색 패널과 같은 규칙 */
.register .form-control,
.register .custom-select,
.register input[type="text"],
.register input[type="password"],
.register input[type="email"],
.register input[type="tel"],
.register input[type="number"] {
	height: 46px;
	padding: 0 .9rem;
	font-size: .98rem;
	color: #111827;
	background: #f7f9fb;
	border: 1px solid #e3e8ef;
	border-radius: 10px;
	box-shadow: none;
	transition: border-color .12s ease, background-color .12s ease, box-shadow .12s ease;
}
.register textarea.form-control { height: auto; padding: .7rem .9rem; border-radius: 10px; }
.register .form-control:focus,
.register .custom-select:focus {
	background: #fff;
	border-color: #007bff;
	box-shadow: 0 0 0 3px rgba(37,99,235,.13);
}
.register .form-control::placeholder { color: #9aa4b2; }
.register .form-control.required:invalid { border-color: #e3e8ef; }   /* 처음부터 빨갛게 두지 않는다 */

/* 도움말 문구 */
.register .form-control-plaintext {
	font-size: .84rem;
	line-height: 1.6;
	color: #8a94a4 !important;
	padding-top: .35rem;
}
.register .form-group.row { margin-bottom: 1rem; }

/* 버튼 */
.register .btn {
	height: 46px;
	padding: 0 1.1rem;
	border-radius: 10px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.register .btn-lg, .register .btn-block { height: 50px; font-size: 1rem; }
.register .input-group .btn { border-radius: 0 10px 10px 0; }
.register .input-group .form-control { border-radius: 10px 0 0 10px; }

/* 체크박스·약관 */
.register .custom-control-label { font-size: .93rem; }
.register .form-check-label { font-size: .93rem; }

/* ── 모바일 ── */
@media (max-width: 575.98px) {
	.register { padding: .25rem 0 1rem; }
	.register .list-group-item { padding-left: .85rem; padding-right: .85rem; }
	.register .col-form-label {
		padding-bottom: .3rem;
		font-size: .9rem;
	}
	.register .form-group.row { margin-bottom: 1.15rem; }
	.register .form-control,
	.register .custom-select { height: 48px; font-size: 1rem; }   /* 터치 영역 확보 */
	.register .btn { height: 48px; }
	.register .form-control-plaintext { padding-top: .25rem; }
}

/* ── 다크모드 ── */

:root[data-theme="dark"] .register .list-group-item > h5 {
	color: var(--mt-text-dim);
	border-bottom-color: var(--mt-border);
}
:root[data-theme="dark"] .register .col-form-label { color: var(--mt-text); }
:root[data-theme="dark"] .register .form-control,
:root[data-theme="dark"] .register .custom-select {
	background: var(--mt-bg);
	border-color: var(--mt-border);
	color: var(--mt-text);
}
:root[data-theme="dark"] .register .form-control:focus {
	border-color: var(--mt-primary);
	box-shadow: 0 0 0 3px rgba(77,155,255,.18);
}
:root[data-theme="dark"] .register .form-control-plaintext { color: var(--mt-text-mute) !important; }


/* 이모지가 들어간 메뉴 라벨은 flex 로 세로 가운데 정렬한다.
   글자와 이모지는 글꼴이 달라 baseline 이 안 맞기 때문에, 정렬을 글꼴에
   맡기지 않고 컨테이너가 잡게 하는 것이 확실하다. */
#nt_menu_mobile #mobile_nav a:has(> .mt-me-emoji) {
	display: flex !important;
	align-items: center;
}
/* PC 상단 메뉴는 항목이 가로로 늘어서는 캡슐이라 inline-flex 가 맞다. */
#nt_menu .me-a:has(> .mt-me-emoji) {
	display: inline-flex !important;
	align-items: center;
}
/* ★ 알약을 칸 가운데로.                                    2026-08-17
   테마 원래 .me-a 는 display:block 이라 칸을 꽉 채웠다. 이모지 세로정렬 때문에
   inline-flex 로 바꾸면서 폭이 글자만큼으로 줄었는데, 그러면 알약이 칸의
   **왼쪽에 붙는다**. 그래서 알약 왼쪽 여백은 넉넉하고 오른쪽은 딱 붙어 보였다
   ("왼쪽은 적당한데 오른쪽이 좁다").
   알약 안쪽 padding 은 원래부터 좌우 10px 로 같았다 — 문제는 알약의 위치였다.
   부모 <a> 에 text-align:center 를 주면 inline 요소인 알약이 칸 가운데로 온다.
   .me-a 자체의 text-align 으로는 안 된다 — 그건 알약 '안쪽' 글자 정렬이다. */
#nt_menu .me-li > a { text-align: center; }
/* 사이드바(햄버거) 메뉴는 flex 여야 한다 — inline-flex 로 하면 안 된다.
   테마가 구분선을 <li> 가 아니라 안쪽 <a> 에 그린다:
       .sidebar-list li a { display:block; border-bottom:1px solid #eee; }
   여기서 inline-flex 를 주면 <a> 폭이 글자 길이만큼으로 줄어들어
   구분선도 글자에서 끊긴다("메뉴 구분선이 도중에 끊긴다"의 원인).
   flex 는 블록처럼 폭을 다 쓰므로 세로 정렬은 그대로 얻으면서 선은 끝까지 간다. */
#nt_sidebar_menu .me-a:has(> .mt-me-emoji),
#nt_sidebar_menu .me-a1:has(> .mt-me-emoji),
#nt_sidebar .me-a:has(> .mt-me-emoji),
#nt_sidebar .me-a1:has(> .mt-me-emoji) {
	display: flex !important;
	align-items: center;
}


/* ══════════════════════════════════════════════════════════════════════════
   12. 보증업체 메뉴 — 클릭(활성) 상태 가독성 + 항상 노출     2026-08-16
   ══════════════════════════════════════════════════════════════════════════ */

/* ── ① 활성(.on) 상태에서 글자가 사라지던 문제 ──
   theme.css:464 의 `#nt_menu_mobile .d-block.on { background: rgba(0,0,0,.2) }` 가
   background **단축속성**이라 background-image(레인보우 그라데이션)까지 지운다.
   그런데 글자는 -webkit-text-fill-color:transparent 로 남아 있어서 결과가
   '투명한 글자 + 그라데이션 없음' = 안 보임 이었다.
   (지금까지는 보증업체에 .on 이 아예 안 붙어서 드러나지 않던 버그다)
   → 활성일 때 그라데이션을 다시 깔아준다. */
#nt_menu_mobile li.menu-totosite > a.on,
#nt_menu_mobile li.menu-totosite > a.d-block.on,
#nt_menu_mobile li.menu-totosite > a:hover {
	background: linear-gradient(
		90deg, #ff9aa2, #ffd166, #f9f871, #8ce99a,
		#74c0fc, #b197fc, #faa2c1, #ff9aa2
	) !important;
	background-size: 300% auto !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	animation: rainbowTextFlow 3.8s linear infinite;
}
/* 활성 표시는 배경 대신 밑줄로 — 배경을 깔면 그라데이션과 충돌한다 */
#nt_menu_mobile li.menu-totosite > a.on::after,
#nt_menu_mobile li.menu-totosite > a.d-block.on::after { width: 72% !important; }

/* 이모지는 그라데이션 대상이 아니므로 활성 상태에서도 제 색을 유지한다 */
#nt_menu_mobile li.menu-totosite > a.on .mt-me-emoji,
#nt_menu .me-li.menu-totosite.on .me-a .mt-me-emoji {
	-webkit-text-fill-color: initial !important;
	color: initial !important;
	background: none !important;
	animation: none !important;
}

/* ── ② 모바일 가로 메뉴에서 보증업체를 항상 보이게 ──
   sly.js 가 transform 으로 밀기 때문에 position:sticky 는 듣지 않는다.
   그래서 보증업체 칸을 스크롤 영역 밖(별도 테이블 셀)으로 뺐다.
   여기서는 그 칸의 모양만 잡는다. */





/* ══════════════════════════════════════════════════════════════════════════
   13. 모바일 사이드 위젯 — 본문과 붙여주기                   2026-08-16
   ────────────────────────────────────────────────────────────────────────
   모바일에서는 사이드 열이 본문 아래로 쌓이는데, 위젯마다 박스(테두리+라운드)와
   내부 여백이 겹쳐 본문과 뚝 떨어져 보였다.
   PC 레이아웃은 건드리지 않고 768px 미만에서만 간격을 줄인다.
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
	/* 본문 열과 사이드 열 사이 */
	.na-row > .na-col.order-md-1 { margin-top: -.5rem; }

	/* 위젯 사이 간격 */
	.main_sd_list { margin-bottom: .65rem !important; }

	/* 위젯 내부 — 제목 밑 선과 목록 사이가 과하게 벌어져 있었다 */
	.main_sd_list > h3.h3 { margin-bottom: .1rem; }
	.main_sd_list > hr.hr { margin-top: .45rem !important; margin-bottom: 0 !important; }
	.main_sd_list > div.mt-3 { margin-top: .55rem !important; }
	.main_sd_list > div.mb-4 { margin-bottom: .55rem !important; }
	.main_sd_list > div.mb-3 { margin-bottom: .55rem !important; }

	/* 목록 행 간격 */
	.main_sd_list .na-list > li { padding-top: 0; padding-bottom: 0; }
	.main_sd_list .na-line { padding-top: .35rem; padding-bottom: .35rem; }

	/* 좌우 끝을 본문과 맞춘다 — 박스가 안으로 들어가 있으면 더 동떨어져 보인다 */
	.main_sd_list > div[class*="px-3"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}


/* ══════════════════════════════════════════════════════════════════════════
   14. 메뉴 구조 — tozinsa 방식(알약 캡슐)                    2026-08-16
   ────────────────────────────────────────────────────────────────────────
   tozinsa 는 메뉴를 흰 알약 캡슐에 담고, 항목마다 알약 배경으로 상태를 표시한다.
   우리 마크업이 달라 CSS 를 그대로 못 쓰므로 같은 결과를 우리 선택자로 만든다.
   로고 영역은 요청대로 손대지 않는다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── PC : 메뉴를 흰 캡슐에 담는다 ── */
#nt_menu > .d-flex {
	align-items: center;
	min-height: 56px;
	padding: 0 8px;
	background: var(--mt-surface);
	border: 1px solid var(--mt-line-soft);
	border-radius: var(--mt-r-pill);
	box-shadow: var(--mt-sh-sm);
}
#nt_menu .me-ul { align-items: center; }
#nt_menu .fa.empty { display: none; }         /* 빈 아이콘 자리 제거 */

/* 항목 = 알약. 밑줄이 아니라 배경으로 상태를 보인다.
   ★ 보증업체(.menu-totosite)는 반드시 제외한다 —
     그 항목의 .me-a 에는 theme.css 가 레인보우 글자효과를 걸어 뒀고,
     여기서 color 를 주면 회색 글자가 씌워지고
     background 단축속성을 쓰면 그라데이션이 지워진다.
     실제로 그렇게 만들어서 "글자가 회색으로 안 보인다" 가 됐다.
     보증업체의 알약은 아래쪽에서 부모 <a> 에 따로 그린다. */
#nt_menu .me-li:not(.menu-totosite) > a > .me-a {
	display: block;
	margin: 0 2px;
	/* 여백을 넓혔다(9/10 → 11/16).                            2026-08-17
	   알약을 칸 가운데로 보내고 나니 글자에 비해 알약이 작아 답답해 보였다.
	   가장 긴 항목이 '유용한 정보'(6자)라 15px 기준 약 142px, 칸 폭은
	   7등분이라 1200px 기준 약 171px — 16px 씩 줘도 줄바꿈 없이 들어간다. */
	padding: 11px 16px !important;
	border-radius: var(--mt-r-pill);
	font-size: 15px !important;
	font-weight: 700;
	letter-spacing: -.035em;
	color: var(--mt-ink-600);
	text-align: center;
	white-space: nowrap;
	transition: color var(--mt-t-fast), background var(--mt-t-fast);
}
#nt_menu .me-li:not(.menu-totosite):hover > a > .me-a {
	color: var(--mt-primary);
	background: var(--mt-blue-50);
}
/* 현재 메뉴 — 연한 파랑 알약 + 안쪽 테두리 */
#nt_menu .me-li.on:not(.menu-totosite) > a > .me-a,
#nt_menu .me-li.on:not(.menu-totosite):hover > a > .me-a {
	color: var(--mt-blue-700);
	background: var(--mt-blue-100);
	box-shadow: inset 0 0 0 1px var(--mt-blue-200);
	font-weight: 800;
}
/* 보증업체 .me-a 는 글자 모양만 담당 — 크기·정렬만 맞추고 색은 건드리지 않는다 */
#nt_menu .me-li.menu-totosite > a > .me-a {
	display: block;
	margin: 0 1px;
	padding: 9px 10px !important;
	font-size: 15px !important;
	text-align: center;
	white-space: nowrap;
}
/* ── 보증업체 : 알약을 .me-a 가 아니라 부모 <a> 에 그린다 ──
   .me-a 에는 theme.css 가 레인보우 글자효과를 걸어 뒀다
   (linear-gradient + background-clip:text + text-fill-color:transparent).
   그 요소에 배경을 주면 두 가지가 동시에 깨진다:
     ① background 단축속성이면 그라데이션(background-image)까지 지워져
        글자가 투명한 채로 남아 아예 안 보인다  ← 실제로 이렇게 만들었다
     ② background-color 만 줘도 background-clip:text 때문에 글자 모양으로
        클립돼서 알약이 안 생긴다
   그래서 배경은 부모 <a>, 글자효과는 .me-a 로 역할을 나눈다. */
#nt_menu .me-li.menu-totosite > a {
	display: block;
	border-radius: var(--mt-r-pill);
	transition: background-color var(--mt-t-fast), box-shadow var(--mt-t-fast);
}
#nt_menu .me-li.menu-totosite:hover > a {
	background-color: var(--mt-blue-50);
}
#nt_menu .me-li.menu-totosite.on > a,
#nt_menu .me-li.menu-totosite.on:hover > a {
	background-color: var(--mt-blue-100);
	box-shadow: inset 0 0 0 1px var(--mt-blue-200);
}
/* .me-a 에는 그림자만 막는다.
   background 계열은 아예 선언하지 않는다 — transparent 로라도 덮어쓰면
   background-clip:text 조합에서 그라데이션이 사라질 수 있다. */
#nt_menu .me-li.menu-totosite > a > .me-a,
#nt_menu .me-li.menu-totosite:hover > a > .me-a,
#nt_menu .me-li.menu-totosite.on > a > .me-a {
	box-shadow: none !important;
}

/* 하위 드롭다운도 같은 언어로 */
#nt_menu .sub-1div {
	background: var(--mt-surface);
	border: 1px solid var(--mt-line-soft);
	border-radius: var(--mt-r-md);
	box-shadow: var(--mt-sh-lg);
	padding: 6px;
	margin-top: 8px;
}
#nt_menu .sub-1da {
	display: block;
	border-radius: var(--mt-r-sm);
	border-bottom: 0;
	font-weight: 600;
	color: var(--mt-ink-700);
	transition: background var(--mt-t-fast), color var(--mt-t-fast);
}
#nt_menu .sub-1dli:hover .sub-1da,
#nt_menu .sub-1dli.on .sub-1da { background: var(--mt-blue-50); color: var(--mt-primary); }

/* 상단고정 상태에서는 캡슐을 눕히고 배경을 반투명으로 */
#nt_sticky_wrap.me-sticky #nt_menu > .d-flex {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	min-height: 48px;
}
#nt_sticky_wrap.me-sticky {
	background: rgba(255,255,255,.92);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	box-shadow: 0 1px 0 var(--mt-line-soft), 0 10px 26px -16px rgba(15,23,42,.32);
}




/* ══════════════════════════════════════════════════════════════════════════
   15. 자동등록방지(캡차) — 회원가입 폼                       2026-08-16
   ────────────────────────────────────────────────────────────────────────
   fieldset 안에 [이미지][입력칸][음성][새로고침][안내문] 이 그냥 나열돼 있어
   좁은 화면에서 줄이 어긋났다. 11절에서 준 입력창 규칙(높이 46px 등)이
   캡차 입력칸에도 걸려 더 벌어졌다. 여기서 캡차만 따로 잡는다.
   ══════════════════════════════════════════════════════════════════════════ */
.register #captcha.captcha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
}
/* 왼쪽에 이미 '자동등록방지' 라벨이 있으므로 legend 는 중복이다 */
.register #captcha.captcha > legend {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap;
}
.register #captcha_img {
	flex: 0 0 auto;
	height: var(--mt-field-h);
	width: auto;
	border: 1px solid var(--mt-line);
	border-radius: var(--mt-field-r);
	background: #fff;
}
.register #captcha_key.captcha_box {
	flex: 0 1 150px;
	min-width: 110px;
	height: var(--mt-field-h) !important;
	padding: 0 .8rem !important;
	font-size: 1.02rem;
	letter-spacing: .18em;
	text-align: center;
	background: var(--mt-surface-2);
	border: 1px solid var(--mt-line);
	border-radius: var(--mt-field-r);
	color: var(--mt-text);
}
.register #captcha_key.captcha_box:focus {
	background: var(--mt-surface);
	border-color: var(--mt-primary);
	box-shadow: 0 0 0 3px var(--mt-focus);
	outline: none;
}
/* 음성듣기·새로고침 — 글자 대신 아이콘 크기의 작은 버튼으로 */
.register #captcha_mp3,
.register #captcha_reload {
	flex: 0 0 auto;
	width: var(--mt-field-h);
	height: var(--mt-field-h);
	padding: 0;
	font-size: 0;                       /* 안의 글자는 감추고 */
	border: 1px solid var(--mt-line);
	border-radius: var(--mt-field-r);
	background: var(--mt-surface-2);
	color: var(--mt-text-dim);
	cursor: pointer;
	transition: background var(--mt-t-fast), border-color var(--mt-t-fast);
}
.register #captcha_mp3::after,
.register #captcha_reload::after {
	font-family: FontAwesome;
	font-size: 1rem;                    /* 아이콘만 보이게 */
	line-height: 1;
}
.register #captcha_mp3::after     { content: "\f028"; }   /* 스피커 */
.register #captcha_reload::after  { content: "\f021"; }   /* 새로고침 */
.register #captcha_mp3:hover,
.register #captcha_reload:hover { background: var(--mt-blue-50); border-color: var(--mt-blue-200); }
.register #captcha_mp3 > span,
.register #captcha_reload > span { display: none; }

.register #captcha_info {
	flex: 1 1 100%;
	margin: 0;
	font-size: .82rem;
	line-height: 1.5;
	color: var(--mt-text-mute);
}

/* ── 모바일 : 이미지+입력칸 한 줄, 버튼 두 개 그 옆 ── */
@media (max-width: 575.98px) {
	.register #captcha.captcha { gap: 6px; }
	.register #captcha_img { height: var(--mt-field-h-mo); }
	.register #captcha_key.captcha_box {
		flex: 1 1 auto;
		min-width: 0;
		height: var(--mt-field-h-mo) !important;
		font-size: 1rem;
	}
	.register #captcha_mp3,
	.register #captcha_reload { width: var(--mt-field-h-mo); height: var(--mt-field-h-mo); }
	.register #captcha_info { font-size: .78rem; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .register #captcha_img { background: #fff; border-color: var(--mt-line); }
:root[data-theme="dark"] .register #captcha_key.captcha_box,
:root[data-theme="dark"] .register #captcha_mp3,
:root[data-theme="dark"] .register #captcha_reload {
	background: var(--mt-bg); border-color: var(--mt-line); color: var(--mt-text);
}


/* ══════════════════════════════════════════════════════════════════════════
   16. 모바일 상단 메뉴바 — tozinsa 구조 그대로              2026-08-16
   ────────────────────────────────────────────────────────────────────────
   마크업을 토진사와 같은 클래스 체계로 다시 짰다(_menu-mo.php).
   색만 우리 파랑으로 바꿨고 치수·구성은 그대로다.
   ══════════════════════════════════════════════════════════════════════════ */
#nt_menu_mobile { position: relative; z-index: 20; }

#nt_menu_mobile .mo-menu-bar {
	display: flex;
	align-items: center;
	background: linear-gradient(135deg, var(--mt-blue-500) 0%, var(--mt-blue-600) 55%, var(--mt-blue-700) 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 3px 12px -6px rgba(29,78,216,.6);
}

/* ── 고정 칩 (보증업체) — 어느 메뉴에 있든 항상 노출 ── */
#nt_menu_mobile .mo-menu-fix {
	position: relative;
	flex: 0 0 auto;
	display: flex; align-items: center;
	max-width: 47%;
	margin: 6px 8px;
	padding: 0 12px;
	min-height: 30px;
	border-radius: var(--mt-r-pill);
	background: #fff;
	color: var(--mt-blue-700) !important;
	text-decoration: none !important;
	box-shadow: 0 3px 10px -4px rgba(0,30,80,.55), inset 0 0 0 1px rgba(255,255,255,.9);
	overflow: hidden;
	transition: transform .16s ease, box-shadow .16s ease;
}
#nt_menu_mobile .mo-menu-fix__t {
	display: block; min-width: 0;
	font-size: 13px; font-weight: 800; letter-spacing: -.04em;
	line-height: 1.6;              /* 1 로 하면 이모지 글리프 위아래가 깎인다 */
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#nt_menu_mobile .mo-menu-fix:active { transform: scale(.97); }
#nt_menu_mobile .mo-menu-fix.on {
	box-shadow: 0 4px 12px -3px rgba(0,30,80,.6), inset 0 0 0 2px var(--mt-blue-200);
}
/* 은은한 광택이 주기적으로 지나간다 */
#nt_menu_mobile .mo-menu-fix::before {
	content: '';
	position: absolute; top: 0; bottom: 0; left: -60%; width: 45%;
	background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(37,99,235,.16) 50%, rgba(255,255,255,0) 100%);
	transform: skewX(-18deg);
	animation: mtFixSheen 3.6s ease-in-out infinite;
	pointer-events: none;
}
@keyframes mtFixSheen { 0%,62% { left: -60%; } 92%,100% { left: 115%; } }
@media (prefers-reduced-motion: reduce) { #nt_menu_mobile .mo-menu-fix::before { display: none; } }

/* ── 스크롤 목록 ── */
#nt_menu_mobile .mo-menu-frame { position: relative; flex: 1 1 auto; min-width: 0; overflow: hidden; }
#nt_menu_mobile .mo-menu-ul { display: flex; margin: 0; padding: 0; list-style: none; }
#nt_menu_mobile .mo-menu-ul > li { list-style: none; }
#nt_menu_mobile .mo-menu-ul > li > a {
	position: relative; display: block;
	padding: 13px 11px 12px;
	color: rgba(255,255,255,.8) !important;
	font-size: 13px; font-weight: 700; letter-spacing: -.04em; line-height: 1;
	text-decoration: none !important;
	transition: color .18s ease;
}
#nt_menu_mobile .mo-menu-ul > li > a:active { color: #fff !important; }
#nt_menu_mobile .mo-menu-ul > li.on > a { color: #fff !important; font-weight: 800; }
#nt_menu_mobile .mo-menu-ul > li.on > a::after {
	content: '';
	position: absolute; left: 9px; right: 9px; bottom: 4px; height: 2.5px;
	border-radius: var(--mt-r-pill); background: #fff;
	box-shadow: 0 0 8px rgba(255,255,255,.55);
}
/* 우측 페이드 — 더 스크롤할 수 있음을 알린다 */
#nt_menu_mobile .mo-menu-gra { position: absolute; top: 0; bottom: 0; width: 26px; pointer-events: none; z-index: 2; }
#nt_menu_mobile .mo-menu-gra--r { right: 0; background: linear-gradient(270deg, var(--mt-blue-700) 0%, rgba(29,78,216,0) 100%); }

/* ── 하위메뉴 ── */
#nt_menu_mobile .mo-menu-caret { margin-left: 4px; font-size: 11px; opacity: .75; transition: transform .2s ease; }
#nt_menu_mobile .mo-menu-ul > li.open > a .mo-menu-caret { transform: rotate(180deg); }
#nt_menu_mobile .mo-menu-ul > li.open > a { color: #fff !important; }

#nt_menu_mobile .mo-menu-sub {
	display: none;
	background: var(--mt-surface);
	border-bottom: 1px solid var(--mt-line-soft);
	box-shadow: inset 0 6px 10px -8px rgba(15,23,42,.35), 0 8px 18px -14px rgba(15,23,42,.5);
}
#nt_menu_mobile .mo-menu-sub.show { display: block; }
#nt_menu_mobile .mo-menu-sub > ul {
	display: flex; flex-wrap: wrap;
	margin: 0; padding: 6px 4px 8px; list-style: none;
}
#nt_menu_mobile .mo-menu-sub > ul > li { list-style: none; width: 50%; }
#nt_menu_mobile .mo-menu-sub > ul > li.all { width: 100%; }
#nt_menu_mobile .mo-menu-sub > ul > li > a {
	display: block; margin: 2px 4px; padding: 9px 12px;
	border-radius: var(--mt-r-md);
	background: var(--mt-surface-2);
	color: var(--mt-ink-800) !important;
	font-size: 13px; font-weight: 700; letter-spacing: -.035em;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	text-decoration: none !important;
	transition: background .16s ease, color .16s ease;
}
#nt_menu_mobile .mo-menu-sub > ul > li > a:active,
#nt_menu_mobile .mo-menu-sub > ul > li > a:hover { background: var(--mt-blue-50); color: var(--mt-primary) !important; }
#nt_menu_mobile .mo-menu-sub > ul > li.on > a {
	background: linear-gradient(135deg, var(--mt-blue-500), var(--mt-blue-700));
	color: #fff !important;
	box-shadow: 0 6px 14px -8px rgba(29,78,216,.8);
}
#nt_menu_mobile .mo-menu-sub > ul > li.all > a { background: var(--mt-ink-800); color: #fff !important; font-weight: 800; }
#nt_menu_mobile .mo-menu-sub > ul > li.d2 > a { font-size: 12.3px; font-weight: 600; opacity: .92; }
#nt_menu_mobile .mo-menu-sub > ul > li.d2 > a::before { content: '· '; opacity: .6; }

/* ── 모바일 검색 : 로고 줄 바로 아래 흐름 안에서 펼쳐진다 ── */
#nt_search.mt-search-inflow {
	position: static !important;
	top: auto !important;
	width: 100%;
	border-bottom: 1px solid var(--mt-line-soft);
	box-shadow: none;
	z-index: auto;
	animation: none;
}
/* 좌우 여백을 로고 줄(.px-3 / .px-sm-4)과 정확히 맞춘다.
   안 맞추면 검색칸만 안쪽으로 들어가거나 밖으로 삐져나와 보인다. */
#nt_search.mt-search-inflow .tcontent {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: .7rem 1rem .8rem;          /* 로고 줄의 px-3 = 1rem, 좌우 대칭 */
	box-sizing: border-box;
}
@media (min-width: 576px) {
	#nt_search.mt-search-inflow .tcontent { padding-left: 1.5rem; padding-right: 1.5rem; }  /* px-sm-4 */
}
/* 모바일에서는 × 버튼을 없애고 그 자리를 입력칸에 준다.
   원래 오른쪽에 3.1rem(약 50px)을 × 자리로 비워 둬서 입력칸이 그만큼 좁았다.
   헤더 돋보기가 toggle 이라 다시 누르면 닫히고 ESC 도 살아 있으니
   닫는 방법이 사라지는 건 아니다. (PC 오버레이에는 × 가 그대로 있다) */
#nt_search.mt-search-inflow .closebtn { display: none; }

#nt_search.mt-search-inflow { box-sizing: border-box; overflow: hidden; }
#nt_search.mt-search-inflow form { width: 100%; min-width: 0; gap: .4rem; }
#nt_search.mt-search-inflow input[type="text"] { min-width: 0; }
/* 로고 줄의 돋보기와 같은 크기감으로 */
#nt_search.mt-search-inflow input[type="text"],
#nt_search.mt-search-inflow button[type="submit"] { height: 46px; }
#nt_search.mt-search-inflow button[type="submit"] { width: 46px; flex: 0 0 46px; }
:root[data-theme="dark"] #nt_menu_mobile .mo-menu-sub { background: var(--mt-surface); }
:root[data-theme="dark"] #nt_menu_mobile .mo-menu-sub > ul > li > a { background: var(--mt-bg); color: var(--mt-text) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   17. 보증업체 메뉴 — 간격·높이를 다른 항목과 맞춤          2026-08-16
   ────────────────────────────────────────────────────────────────────────
   증상: 보증업체와 바로 뒤 메뉴 사이에 간격이 없고, 높이도 어긋나 보였다.
   원인 셋:
     ① 다른 항목은 알약(배경)이 .me-a 에 있어 margin:0 1px 이 알약에 붙는데,
        보증업체만 알약이 부모 <a> 라 그 마진이 알약 바깥에 남아 간격이 0이 됐다.
     ② theme.css 가 hover/활성 때 .me-a 에 transform:translateY(-1px) 을 준다.
        다른 항목엔 없는 움직임이라 그 항목만 1px 떠 보인다.
     ③ theme.css 의 ::after 무지개 밑줄(bottom:6px)이 알약 안에 겹쳐 그려져
        아래쪽이 더 두꺼워 보인다. 알약 디자인에서는 중복이다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── PC ── */
/* ① 마진을 알약(부모 <a>)으로 옮긴다 — 다른 알약과 같은 2px 간격 */
#nt_menu .me-li.menu-totosite > a {
	margin: 0 1px;
	padding: 0;
}
#nt_menu .me-li.menu-totosite > a > .me-a {
	margin: 0 !important;
	padding: 9px 10px !important;
	line-height: inherit;
}
/* ② 다른 항목은 안 움직이므로 이 항목만 뜨지 않게 한다 */
#nt_menu .me-li.menu-totosite > a > .me-a,
#nt_menu .me-li.menu-totosite:hover > a > .me-a,
#nt_menu .me-li.menu-totosite.on > a > .me-a {
	transform: none !important;
}
/* ③ 알약 시절에는 무지개 밑줄을 감췄었다 — 지금은 밑줄이 상태 표시다.
   ★ 2026-08-17: 이 display:none 때문에 '보증업체' 만 마우스오버·선택 시
     밑줄이 안 나왔다. 아래쪽(메뉴 하단줄 구역)에서 다시 켠다.
     여기서는 지우지 않고 그대로 둔다 — 알약으로 되돌릴 때 필요하다. */
#nt_menu .me-li.menu-totosite > a > .me-a::after { display: none !important; }

/* ── 모바일 ── */
/* 고정칩과 첫 스크롤 항목이 붙어 보이던 문제 — 프레임 왼쪽에 여백을 준다 */
#nt_menu_mobile .mo-menu-frame { padding-left: 4px; }
/* 칩 높이를 스크롤 항목의 글자 줄 높이에 맞춘다
   (스크롤 항목 = padding 13/12 + line-height 1 → 약 38px 영역) */
#nt_menu_mobile .mo-menu-fix {
	margin: 6px 6px 6px 8px;
	min-height: 32px;
}
/* 테마가 모바일 보증업체에도 translateY(-1px) 을 준다 — 여기서도 끈다 */
#nt_menu_mobile li.menu-totosite > a:hover,
#nt_menu_mobile li.menu-totosite > a.on,
#nt_menu_mobile li.menu-totosite > a.d-block.on,
#nt_menu_mobile .mo-menu-fix:hover,
#nt_menu_mobile .mo-menu-fix.on { transform: none !important; }
/* 모바일 고정칩의 무지개 밑줄(::after)도 알약 안에서는 중복이다 */
#nt_menu_mobile .mo-menu-fix::after { display: none !important; }


/* ══════════════════════════════════════════════════════════════════════════
   18. PC 메뉴 — 항목을 글자 폭에 맞추고 전체를 가운데로      2026-08-16
   ────────────────────────────────────────────────────────────────────────
   증상: 보증업체 왼쪽 여백과 고객센터 오른쪽 여백이 달랐다.
   원인: 마크업이 <li class="col"> 이라 부트스트랩 .col(flex:1 0 0) 이 걸려
         모든 항목이 '같은 너비'로 늘어난다. 글자 길이는 제각각(보증업체 4자,
         유용한 정보 6자)이라 칸 안에서 남는 공간이 항목마다 다르고,
         그 차이가 양 끝에서 여백 차이로 보였다.
   해결: 항목을 글자 폭(auto)으로 되돌리고 목록 전체를 가운데 정렬한다.
         그러면 좌우 끝 여백이 캡슐 패딩으로만 결정돼 정확히 같아진다.
   ══════════════════════════════════════════════════════════════════════════ */
#nt_menu .me-list { flex-grow: 0 !important; width: 100%; }
#nt_menu .me-ul {
	display: flex !important;
	flex-wrap: nowrap;
	justify-content: center;      /* ← 좌우 여백을 같게 만드는 핵심 */
	align-items: center;
	width: 100%;
}
/* .col 의 flex:1 0 0 을 해제 — 글자 폭만큼만 차지한다 */
#nt_menu .me-ul > .me-li {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
}

/* 항목이 많아 캡슐을 넘칠 때만 균등 분배로 되돌린다(잘림 방지) */
@media (max-width: 1199.98px) {
	#nt_menu .me-ul > .me-li { flex: 0 1 auto !important; min-width: 0; }
	#nt_menu .me-li:not(.menu-totosite) > a > .me-a,
	#nt_menu .me-li.menu-totosite > a > .me-a {
		padding-left: 7px !important;
		padding-right: 7px !important;
	}
}


/* ══════════════════════════════════════════════════════════════════════════
   19. PC 하위메뉴 — 마우스가 내려가는 도중 닫히던 문제        2026-08-16
   ────────────────────────────────────────────────────────────────────────
   증상: 하위메뉴가 열린 뒤 항목을 클릭하려고 마우스를 내리면 닫힌다.
   원인: 14절에서 드롭다운에 margin-top:8px 을 줘 부모 메뉴와 사이에 틈이
         생겼다. 그 틈에 마우스가 닿는 순간 :hover 가 풀려 닫힌다.
         (내가 만든 간격이다 — 그전엔 붙어 있어 문제가 없었다)
   해결: 틈을 투명한 '다리'로 덮는다. 보이지는 않지만 hover 는 이어진다.
         tozinsa 도 같은 방식을 쓴다.
   ══════════════════════════════════════════════════════════════════════════ */
#nt_menu .me-list .me-li { position: relative; }

/* ① 부모 항목 아래로 내려오는 다리 — 메뉴에서 드롭다운까지 */
#nt_menu .me-li:hover::after {
	content: '';
	position: absolute;
	left: -6px; right: -6px;
	top: 100%;
	height: 14px;              /* margin-top(8px)보다 넉넉하게 */
	background: transparent;
	z-index: 19;
}

/* ② 드롭다운 위쪽으로 뻗는 다리 — 반대 방향에서도 이어지게 */
#nt_menu .sub-1div::after {
	content: '';
	position: absolute;
	left: -20px; right: -20px;
	top: -20px;
	height: 22px;
	background: transparent;
	z-index: 0;
}
/* 실제 항목들이 다리 위에 오도록 */
#nt_menu .sub-1dul { position: relative; z-index: 2; }

/* 드롭다운 자체도 hover 를 유지해야 한다 */
#nt_menu .sub-1div { pointer-events: auto; }

/* ── 18절 부작용 수정 : 드롭다운이 좁아져 깨지던 문제 ──────────────────────
   마크업이 <div class="sub-slide sub-1div w-100"> 이라 부트스트랩 .w-100 이
   width:100% !important 를 건다. 그 100% 의 기준은 부모 <li> 다.
   18절에서 항목을 글자 폭(width:auto)으로 줄이자 드롭다운도 같이 줄어
   '공지사항' 같은 항목이 눌려 깨졌다.
   테마 기본값은 원래 width:auto (theme.css:327) 였으므로 그리로 되돌린다. */
#nt_menu .me-li .sub-1div.w-100,
#nt_menu .me-li .sub-1div {
	width: auto !important;
	min-width: 160px;
}
#nt_menu .sub-1dul { white-space: nowrap; }
#nt_menu .sub-1da { white-space: nowrap; }

/* 마지막 항목의 드롭다운이 화면 밖으로 나가지 않게 오른쪽 기준으로 편다 */
#nt_menu .me-ul > .me-li:last-child .sub-1div { left: auto; right: 0; }
#nt_menu .me-ul > .me-li:last-child .sub-1div::before { left: auto; right: 24px; }


/* ══════════════════════════════════════════════════════════════════════════
   20. PC 메뉴 여백 + 태블릿 대응                             2026-08-16
   ────────────────────────────────────────────────────────────────────────
   태블릿(아이패드·갤럭시탭)은 UA 가 아니라 '화면 폭'으로 갈린다.
   테마가 responsive 라 모바일/PC 헤더를 둘 다 내보내고 CSS(d-md-*)가 고른다.
   → 768px 이상이면 태블릿도 PC 메뉴를 받는다. 그런데 PC 메뉴는 1200px 기준으로
     짠 것이라 768~991px 에서는 항목 7개가 캡슐을 넘친다.
   (앞단 캐시 키의 x-mt-device 는 mo 로 잡히지만 HTML 이 동일해서 문제는 없다)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 캡슐 좌우 여백 — 항목이 가장자리에 붙지 않게 ── */
#nt_menu > .d-flex { padding: 0 16px; }
#nt_menu .me-ul > .me-li:first-child { margin-left: 2px; }
#nt_menu .me-ul > .me-li:last-child  { margin-right: 2px; }
/* 항목 사이도 조금 더 */
#nt_menu .me-li:not(.menu-totosite) > a > .me-a { margin: 0 2px; }
#nt_menu .me-li.menu-totosite > a { margin: 0 2px; }

/* ── 태블릿 가로 (992~1199px) ── */
@media (min-width: 992px) and (max-width: 1199.98px) {
	#nt_menu > .d-flex { padding: 0 10px; }
	#nt_menu .me-li:not(.menu-totosite) > a > .me-a,
	#nt_menu .me-li.menu-totosite > a > .me-a {
		font-size: 14px !important;
		padding: 9px 8px !important;
		letter-spacing: -.05em;
	}
}

/* 768~991px(태블릿 세로) 구간은 아래 22번에서 구조로 해결한다.
   여기서 글자·여백·로고를 줄여 욱여넣던 방식은 폐기했다 — 아래 주석 참고. */


/* ══════════════════════════════════════════════════════════════════════════
   21. 텔레그램 고객센터 (.mt-tg)                             2026-08-16
   ────────────────────────────────────────────────────────────────────────
   사이드바의 레벨/포인트 랭킹 탭을 대체한다.
   1차 시안은 그라데이션 배경 + 점패턴 + 발광 버튼이었는데, 옆의 다른 위젯이
   전부 조용한 흰 카드라 혼자 광고처럼 튀었다. 그래서 이렇게 바꿨다:
     · 바깥은 다른 위젯과 똑같은 .main_sd_list + h3 + hr 카드 (PHP 쪽)
     · 안쪽은 배경·테두리 없는 한 줄 — list-garo 목록 행과 같은 무게
     · 색은 텔레그램 브랜드색을 아이콘 하나에만 쓴다
     · 버튼은 테마의 btn-primary 톤을 그대로, 발광 그림자 없이
   이미지 파일이 아니라 HTML+CSS 인 이유: 배율 상관없이 선명하고,
   다크모드 토큰을 따라가고, 아이디가 바뀌어도 다시 만들 필요가 없다.
   ══════════════════════════════════════════════════════════════════════════ */
/* 제목 — 다른 위젯 제목은 <a> 라서 부트스트랩 링크색(#007bff)으로 보인다.
   여기만 링크를 뺐으므로 같은 색을 직접 지정해 줄을 맞춘다.
   다크모드는 위쪽 h3 규칙이 이미 --mt-text 로 맞춰 주므로 따로 둘 필요가 없다. */
.mt-tg-h { color: #007bff; }

.mt-tg {
	display: block;
	text-decoration: none !important;
	color: inherit;
}
.mt-tg__row {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* 아이콘 — 텔레그램 브랜드색은 여기 한 곳에만 쓴다 */
.mt-tg__ico {
	flex: 0 0 40px;
	width: 40px; height: 40px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 10px;
	background: #29A3E7;
}
.mt-tg__ico svg { display: block; margin: 1px 2px 0 0; }

/* 글자 */
/* overflow:hidden 을 여기서는 뺐다 — 가로로 자르는 일은 아래 __id 가 하고,
   여기 걸어 두면 글자 아래쪽(g·@ 의 내려간 부분)까지 같이 잘렸다. */
.mt-tg__txt { flex: 1 1 0; min-width: 0; }
.mt-tg__label {
	display: flex; align-items: center; gap: 5px;
	font-size: 12px; font-weight: 500; letter-spacing: -.03em;
	color: var(--mt-text-sub); line-height: 1; white-space: nowrap;
}
/* 살아있음 표시 — 초록 점. flex 아이템이라 인라인 <i> 에도 크기가 먹는다. */
.mt-tg__label i {
	flex: 0 0 6px;
	width: 6px; height: 6px; border-radius: 50%;
	background: #12B76A;
}
/* ★ line-height 를 1.2 로 두면 @mtgal365 의 아래쪽이 잘린다.  2026-08-16
   overflow:hidden 은 가로 말줄임(text-overflow)에 필요해서 남겨야 하는데,
   그러면 세로도 같이 잘린다. 줄 높이가 글자 상자보다 낮으면 g 의 꼬리와
   @ 의 아랫부분이 그 밖으로 나가서 깎인다. 본문 글꼴을 Pretendard/
   Noto Sans KR 로 바꾼 뒤 아래로 내려간 부분이 더 길어져 드러났다.
   1.45 면 18px·20px 둘 다 글자 상자가 줄 안에 온전히 들어온다. */
.mt-tg__id {
	display: block; margin-top: 3px;
	font-size: 18px; font-weight: 700; letter-spacing: -.03em; line-height: 1.45;
	color: var(--mt-blue-600);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* 버튼 — 테마 btn-primary 와 같은 무게. 아랫줄 전체를 차지한다. */
.mt-tg__go {
	display: flex; align-items: center; justify-content: center; gap: 3px;
	margin-top: 10px;
	height: 34px;
	border-radius: 5px;
	background: var(--mt-blue-600);
	color: #fff; font-size: 13px; font-weight: 700; letter-spacing: -.03em;
	transition: background-color var(--mt-t-fast);
}
.mt-tg__go i { transition: transform var(--mt-t-fast); }
.mt-tg:hover .mt-tg__go { background: var(--mt-blue-700); }
.mt-tg:hover .mt-tg__go i { transform: translateX(3px); }
.mt-tg:hover .mt-tg__id { text-decoration: underline; }

/* 모바일은 사이드바가 화면 전폭이라 조금 여유를 준다 */
@media (max-width: 767px) {
	.mt-tg__ico { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 11px; }
	.mt-tg__ico svg { width: 23px; height: 23px; }
	.mt-tg__id { font-size: 20px; }
	.mt-tg__go { height: 38px; font-size: 14px; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .mt-tg__label { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-tg__id { color: var(--mt-primary); }
/* 다크에서도 버튼은 브랜드 파랑 + 흰 글자.
   var(--mt-primary) 는 다크에서 밝은 하늘색(#3394FF)이라 버튼에 쓰면
   색이 사이트 것과 달라 보이고, 글자를 어둡게 두니 '문의하기' 만
   검은 글씨가 됐다. 버튼은 배경이 진한 색이므로 흰 글자가 맞다. */
:root[data-theme="dark"] .mt-tg__go { background: var(--mt-blue-600) !important; color: #fff !important; }
:root[data-theme="dark"] .mt-tg:hover .mt-tg__go { background: var(--mt-blue-700) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   22. 태블릿 세로 768~991px — 축소가 아니라 구조로 푼다      2026-08-16
   ────────────────────────────────────────────────────────────────────────
   앞서 이 구간을 "PC 레이아웃 + 전부 축소"로 막아 놨었다. 결과가 나빴다:
     · 사이드 컬럼이 col-md-3 → 720px × 25% − 여백 = 안쪽 150px 남짓
     · 메뉴는 13px 까지 줄이고 이모지까지 감췄는데도 빠듯
     · 로고까지 줄여서 헤더가 초라해짐
   폭이 모자란 걸 글자 크기로 메우려 한 게 잘못이었다. 구조를 바꾼다:

     1) 메뉴  — PC 메뉴(고정 7칸) 대신 모바일 가로스크롤 메뉴를 쓴다.
                스크롤되니 줄일 이유가 없다. 이모지·글자 크기 원상복구.
                DOM 상 _menu-mo.php 가 header_pc 바로 뒤라 순서도 맞는다.
                헤더 자체는 PC 헤더를 그대로 둔다(800px 에선 그게 낫다).
     2) 본문/사이드 — 2단을 포기하고 1단으로 쌓는다. 본문이 720px 전폭을
                쓰고, 사이드는 그 아래에서 역시 전폭. 대신 세로로 길어지니
                위젯을 2열 그리드로 깐다.
     3) 타이틀 — 설명문(SEO 문장)이 길어 가운데정렬로 3줄씩 흐른다.
                왼쪽정렬 + 폭 제한 + 2줄 말줄임으로 정리.

   되돌리기: 이 섹션만 지우면 예전(축소) 방식이 아니라 테마 기본으로 돌아간다.
   ══════════════════════════════════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 991.98px) {

	/* ── 1) 메뉴 ── */
	#nt_menu, #nt_menu_wrap { display: none !important; }
	#nt_menu_mobile { display: block !important; }
	/* 태블릿은 폰보다 넓으니 항목을 조금 키운다 */
	/* 항목을 키운다. padding 은 반드시 4방향을 다 써야 한다 —
	   가로만 바꾸려고 `padding: 0 14px` 로 썼더니 위아래 13px/12px 이 0 이 되어
	   <a> 높이가 글자 높이로 주저앉고, bottom:4px 에 붙은 활성 밑줄이
	   글자 위로 겹쳐 올라왔다. */
	#nt_menu_mobile .mo-menu-ul > li > a { font-size: 15px; padding: 14px 14px 13px; }
	/* 밑줄도 넓어진 좌우 패딩에 맞춘다 */
	#nt_menu_mobile .mo-menu-ul > li.on > a::after { left: 12px; right: 12px; bottom: 5px; }
	/* 고정 칩의 글자는 .mo-menu-fix 가 아니라 안쪽 __t 가 크기를 정한다 */
	#nt_menu_mobile .mo-menu-fix__t { font-size: 15px; }
	#nt_menu_mobile .mo-menu-fix { min-height: 34px; padding: 0 14px; }

	/* ── 2) 본문/사이드 1단 ──
	   컬럼 구분은 .card 로 하면 안 된다. 게시판은 본문에 card 가 붙지만
	   메인(index)은 양쪽 다 안 붙어서 사이드까지 같이 걸린다.
	   대신 두 페이지 모두에 있는 order-md-1(사이드)/order-md-2(본문)로 가른다. */
	#nt_body .row.na-row > .na-col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
	#nt_body .row.na-row > .na-col.order-md-2 { order: 1 !important; }  /* 본문 먼저 */
	#nt_body .row.na-row > .na-col.order-md-1 { order: 2 !important; }  /* 사이드 아래 */

	/* 전폭이 된 사이드는 한 줄로 늘어지므로 위젯을 2열로 깐다.
	   grid 라 카드가 열 사이에서 잘리지 않는다(column-count 였다면 잘린다).
	   :has() 를 못 쓰는 구형 브라우저는 그냥 1열로 보인다 — 깨지지 않는다. */
	#nt_body .row.na-row > .na-col:has(> .main_sd_list) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 1rem;
		align-content: start;
		/* align-items 를 빼먹으면 기본값 stretch 라 같은 줄의 두 카드가
		   높은 쪽 높이로 늘어난다. 공지사항(5줄)이 유용한정보(7줄) 높이까지
		   늘어나 카드 안에 빈 흰 공간이 생기던 원인. 각자 제 높이를 쓰게 한다. */
		align-items: start;
	}

	/* ── 3) 타이틀 ── */
	#nt_title_flex { align-items: flex-start !important; }
	#nt_title .page-title,
	#nt_title .breadcrumb { text-align: left !important; }
	#nt_title h1.page-title,
	#nt_title h2.page-title { font-size: 1.45rem; line-height: 1.35; }   /* 2026-08-22 h2 추가 — 글 보기에서 태그가 h2 로 바뀐다 */
	#nt_title .breadcrumb-item span {
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
		overflow: hidden;
		max-width: 46rem;
		font-size: .82rem; line-height: 1.5;
	}
}


/* ══════════════════════════════════════════════════════════════════════════
   23. 다크모드 누락분 — 로그인 위젯 / 사이드 메뉴          2026-08-16
   ────────────────────────────────────────────────────────────────────────
   회원 제보: "다크모드에서 메뉴랑 로그인창이 깨져 보인다".
   원인은 다크모드 자체가 아니라 **덮지 못한 곳**이었다.

   2번 섹션의 다크 규칙은 .bg-white / .card 같은 부트스트랩 클래스를 기준으로
   면을 어둡게 바꾼다. 그런데 이 두 위젯은 자기 CSS 에 색을 직접 박아 놨다:
     widget/insoft-outlogin/widget.css : background:#fff, border:#ddd, color:#373E4A
     widget/sidebar/widget.css         : .me-ul{background:#fff} .me-ul1{background:#fafafa}
                                         li a{border-bottom:#eee} h5{border-top:#dee2e6}
   부트스트랩 클래스가 안 붙어 있으니 2번 섹션이 이들을 못 잡고,
   어두운 페이지 위에 흰 상자와 밝은 선만 남았다. 그게 "깨져 보인다" 의 실체다.

   원본 위젯 CSS 는 건드리지 않는다(테마 업데이트로 덮일 수 있다).
   여기서 다크모드일 때만 토큰 색으로 되돌린다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 로그인 위젯 ── */
:root[data-theme="dark"] .widget-amina-outlogin {
	background: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin .login-cell,
:root[data-theme="dark"] .widget-amina-outlogin .login-box {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin .login-cell .form-control,
:root[data-theme="dark"] .widget-amina-outlogin .login-cell .form-control:focus {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin .login-misc,
:root[data-theme="dark"] .widget-amina-outlogin .login-misc label,
:root[data-theme="dark"] .widget-amina-outlogin .login-misc a {
	color: var(--mt-text-dim) !important;
}
/* 프로필 사진 자리(로그인 후) — 흰 원이 그대로 남는다 */
:root[data-theme="dark"] .widget-amina-outlogin .profile .photo,
:root[data-theme="dark"] .widget-amina-outlogin .profile .photo i {
	background: var(--mt-surface-2) !important;
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin .logout-btn {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin .bar,
:root[data-theme="dark"] .widget-amina-outlogin .exp-bar .progress {
	background: var(--mt-line) !important;
}
/* 로그인 버튼은 파란 브랜드색이라 그대로 두되, 대비만 확인 */
:root[data-theme="dark"] .widget-amina-outlogin .btn-custom { color: #fff !important; }

/* ── 사이드 메뉴(햄버거 안) ── */
:root[data-theme="dark"] .sidebar-list .me-ul  { background: var(--mt-surface) !important; }
:root[data-theme="dark"] .sidebar-list .me-ul1 { background: var(--mt-surface-2) !important; }
:root[data-theme="dark"] .sidebar-list .me-ul2 { background: var(--mt-surface-2) !important; }
:root[data-theme="dark"] .sidebar-list li a    { border-bottom-color: var(--mt-line) !important; }
:root[data-theme="dark"] .sidebar-list h5      { border-top-color: var(--mt-line) !important; color: var(--mt-text) !important; }
:root[data-theme="dark"] .sidebar-list .tree-toggle { color: var(--mt-text-mute) !important; }
:root[data-theme="dark"] .sidebar-list .me-line1 .me-a1,
:root[data-theme="dark"] .sidebar-list .me-line2 .me-a2 {
	background: var(--mt-surface-2) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .sidebar-list .me-a,
:root[data-theme="dark"] .sidebar-list .me-a1,
:root[data-theme="dark"] .sidebar-list .me-a2 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .sidebar-list li a:hover { background: rgba(255,255,255,.06) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   24. 다크모드 전수 점검으로 찾은 누락분                    2026-08-16
   ────────────────────────────────────────────────────────────────────────
   페이지가 부르는 CSS 전부(테마·위젯·스킨·부트스트랩)를 훑어
   "밝은 배경을 칠하는데 다크 규칙이 없는" 선택자를 기계적으로 뽑았다.
   실제로 DOM 에 나타나는 것만 남기니 아래가 걸렸다.
   (안 쓰는 스킨 basic/gallery 의 20여 건은 CSS 자체가 로드되지 않아 제외)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 페이지 넘김 — 목록·사이드 위젯에 37군데. 흰 네모가 그대로 남아 있었다 ── */
:root[data-theme="dark"] .pagination .page-link {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .pagination .page-link:hover {
	background-color: var(--mt-surface) !important;
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] .pagination .page-item.active .page-link {
	background-color: var(--mt-primary) !important;
	border-color: var(--mt-primary) !important;
	color: #0d1117 !important;
}
:root[data-theme="dark"] .pagination .page-item.disabled .page-link {
	background-color: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text-mute) !important;
}

/* ── 입력창 앞뒤에 붙는 라벨(검색 셀렉트 등) ── */
:root[data-theme="dark"] .input-group-text {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text-dim) !important;
}

/* ── 푸터 — theme.css 가 bg-light(#f8f9fa)를 !important 로 건다 ── */
:root[data-theme="dark"] #nt_footer,
:root[data-theme="dark"] #nt_footer.bg-light {
	background-color: var(--mt-surface) !important;
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #nt_footer a { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_footer a:hover { color: var(--mt-primary) !important; }
:root[data-theme="dark"] #nt_footer .nt-links ul > li { border-color: var(--mt-line) !important; }

/* ── 체크박스/스위치 — 껍데기가 흰색이라 어두운 면에서 붕 뜬다 ── */
:root[data-theme="dark"] .custom-control-label::before {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .custom-control-input:checked ~ .custom-control-label::before {
	background-color: var(--mt-primary) !important;
	border-color: var(--mt-primary) !important;
}

/* ── 드롭다운 토글 화살표가 붙는 버튼 ── */
:root[data-theme="dark"] .dropdown-toggle.btn-light,
:root[data-theme="dark"] .dropdown-item {
	background-color: transparent !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .dropdown-item:hover,
:root[data-theme="dark"] .dropdown-item:focus {
	background-color: var(--mt-surface-2) !important;
	color: var(--mt-primary) !important;
}
/* 스위치 손잡이(동그라미)는 밝은 채로 두는 게 맞다 — 어두운 홈 위에서
   그게 "켜짐/꺼짐"을 읽는 단서라서다. 홈(트랙)만 어둡게 한다. */
:root[data-theme="dark"] .custom-switch .custom-control-label::after {
	background-color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
	background-color: #fff !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   25. 다크모드 — PHP 안 <style> 블록 누락분                 2026-08-16
   ────────────────────────────────────────────────────────────────────────
   회원 제보: "메인 모바일 다크모드에서 본문 글자·박스가 흰색으로 나온다".

   24번까지의 감사는 CSS **파일**만 훑었다. 그런데 이 테마는 페이지 PHP 안에
   <style> 블록을 직접 넣어 쓰는 곳이 있고, 거기에 색이 박혀 있었다.
   파일만 봐서는 절대 안 보이는 사각지대였다. PHP 전수 스캔으로 다시 찾았다:
     theme/Simple-A/index/index-basic.php   메인 FAQ 카드·공지문단
     skin/member/basic/consent_modal.inc.php  가입 동의 모달
     skin/social/consent_modal.inc.php        소셜가입 동의 모달

   ★ 이 <style> 들은 본문(body) 안에 있어서 내 CSS 보다 뒤에 온다.
     같은 특이도면 뒤가 이긴다 — 그래서 여기서는 !important 가 반드시 필요하다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 메인: 공지 문단 ── */
:root[data-theme="dark"] .main_notice_text { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .main_notice_links a { color: var(--mt-primary) !important; }

/* ── 메인: FAQ 영역 ── */
:root[data-theme="dark"] .main_faq_section {
	background: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
	box-shadow: 0 0 10px rgba(0,0,0,.35) !important;
}
:root[data-theme="dark"] .main_faq_head h2 { color: var(--mt-primary) !important; }
:root[data-theme="dark"] .main_faq_head p  { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .main_faq_card {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.35) !important;
}
:root[data-theme="dark"] .main_faq_card:hover {
	border-color: var(--mt-primary) !important;
	box-shadow: 0 8px 20px rgba(0,0,0,.45) !important;
}
:root[data-theme="dark"] .main_faq_badge {
	background: rgba(77,155,255,.15) !important;
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] .main_faq_q { color: var(--mt-text) !important; }
:root[data-theme="dark"] .main_faq_a { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .main_faq_a a { color: var(--mt-primary) !important; }

/* ── 가입 동의 모달 (회원가입·소셜가입 공통) ── */
:root[data-theme="dark"] .cd-card {
	background: var(--mt-surface) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .cd-body {
	border-top-color: var(--mt-line) !important;
	border-bottom-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .cd-actions .cd-close {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   26. 다크모드 전수 — 감사 스크립트 버그 수정 후 재수집     2026-08-16
   ────────────────────────────────────────────────────────────────────────
   ★ 24·25번 감사가 놓친 게 많았던 이유(중요):
     "이미 다크 대응된 선택자인가"를 **부분문자열**로 비교했다.
        covered = any(d in sel for d in dark_sel)
     dark_sel 에 태그 선택자 'a' 가 들어 있어서, '.show_box .main_line_2' 의
     'main' 에 든 a 한 글자에 걸려 **대응된 것으로 오판**했다.
     그 바람에 수십 건이 조용히 걸러졌다.
     → 이제 .class / #id 토큰 단위로 정확히 비교한다.

   ★ 범위도 바로잡았다: 디스크에 있는 모든 스킨이 아니라,
     실제 페이지가 <link> 로 부르는 CSS 14개만 대상으로 한다.
     (안 쓰는 basic/gallery 스킨에서 180건이 나왔지만 로드되지 않으므로 제외)

   회원 제보로 확인된 것: 메인 main_line 영역, /mtguide 목록, 타이틀 마스크.
   ══════════════════════════════════════════════════════════════════════════ */
:root[data-theme="dark"] i.light-circle,
:root[data-theme="dark"] img.light-circle { background-color: var(--mt-surface-2) !important; color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .btn.btn-basic { background-color: var(--mt-surface-2) !important; border-color: var(--mt-line) !important; color: var(--mt-text) !important; }
:root[data-theme="dark"] .sly-tab li a { background-color: var(--mt-surface-2) !important; color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .sly-tab .sly-btn { background-color: var(--mt-surface-2) !important; color: var(--mt-text) !important; }
:root[data-theme="dark"] .sly-tab .sly-btn:hover { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] #modal_loader { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] .tbl_bo_safety_info tr td { background-color: var(--mt-surface) !important; color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .tbl_bo_safety_info tr td .icon_safety_game { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #bo_gallery .list-item .list-item-div { background-color: var(--mt-surface) !important; border-color: var(--mt-line) !important; }
:root[data-theme="dark"] #bo_gallery .list-item .list-item-div .list-item-title { background-color: var(--mt-surface) !important; border-color: var(--mt-line) !important; }
:root[data-theme="dark"] #bo_gallery .list-safety-info table tr td { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] #bo_gallery .list-safety-info table tr td.site_name { color: var(--mt-text) !important; }
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_view { color: var(--mt-text) !important; }
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_view:hover { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] .btn_mttip { background-color: var(--mt-surface-2) !important; color: var(--mt-text) !important; }
:root[data-theme="dark"] #bo_list .na-table-head .d-md-table-cell { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] #bo_list #mttip_price { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_loader { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] #nt_menu .sub-2div { background-color: var(--mt-surface) !important; }
:root[data-theme="dark"] #nt_menu .sub-2da { border-color: var(--mt-line) !important; color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_menu .sub-2dli.on .sub-2da,
:root[data-theme="dark"] #nt_menu .sub-2dli:hover .sub-2da { background-color: var(--mt-surface) !important; border-color: var(--mt-line) !important; color: var(--mt-text) !important; }
:root[data-theme="dark"] #nt_menu .sub-2line { background-color: var(--mt-surface) !important; color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .nt-menu-full .sub-1da { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .nt-menu-full .sub-1line { background-color: var(--mt-surface) !important; }
:root[data-theme="dark"] .owl-slider .owl-carousel .owl-nav button { background-color: var(--mt-surface-2) !important; border-color: var(--mt-line) !important; }
:root[data-theme="dark"] .owl-slider .owl-carousel .owl-nav button:hover { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] .main_banner_title2 { color: var(--mt-text) !important; }
:root[data-theme="dark"] #ft_copyright { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .cnt_r .top_nav .nav li { background-color: var(--mt-surface-2) !important; border-color: var(--mt-line) !important; }
/* 메인 아이콘 6칸이 다크모드에서 안 읽히던 문제                2026-08-16
   이 칸들은 글자가 CSS 가 아니라 **그림 안에 박혀 있다**(투명 배경 PNG).
   본문 설명 글자가 진회색 #393B3D 라 어두운 카드 위에서 사라졌다.
   글자만 밝게 바꾸려면 그림 파일을 다시 만들어야 하는데, 반전시켜 보니
   일러스트까지 자연스럽게 다크 버전이 됐다(흰 종이는 어두워지고
   남색 선은 밝아진다). 그래서 파일을 건드리지 않고 CSS 로만 처리한다.

     invert(1)         밝기를 뒤집는다 — 진회색 글자가 밝은 회색이 된다
     hue-rotate(180deg) 반전하면 색상이 반대편으로 가는데, 180도 되돌리면
                        파란 제목이 다시 파랗게 보인다(주황으로 안 뒤집힌다)

   6개 다 눈으로 확인했다. 그림 파일을 새로 넣을 때는 이 규칙이 걸린다는 걸
   기억할 것 — 이미 밝은 그림을 넣으면 여기서 어두워진다. */
/* ══════════════════════════════════════════════════════════════════════════
   페이지 머리(제목 + 설명글)                                   2026-08-17
   ────────────────────────────────────────────────────────────────────────
   설명글이 breadcrumb 안에 링크로 들어가 있던 것을 <p> 로 떼어 냈다
   (theme/Simple-A/_title.php). 여기서는 그 <p> 의 생김새만 잡는다.

   ★ 자리는 그대로 본문 위다
     제목 바로 아래에 설명이 오는 배치 자체는 맞다 — 사람이 "여기가 무슨
     페이지인지" 를 가장 먼저 읽는 자리이고, 검색엔진도 h1 바로 뒤의 문장을
     그 페이지의 요약으로 본다. 문제는 자리가 아니라 마크업과 글꼴 배치였다.

   ★ 글줄 길이를 62em 으로 묶는 이유
     가운데 정렬된 긴 문장이 화면 폭만큼 늘어나면 눈이 다음 줄 첫 글자를
     찾지 못한다. 한 줄에 45~75자가 읽기 편한 범위다.
   ══════════════════════════════════════════════════════════════════════════ */
/* 메인 설명 구역(.show_box) 아이콘 — 그림 대신 이모지          2026-08-17
   원래 그림 크기: 위 구역 96x96, 아래 구역 48x48.
   그 자리를 그대로 채우도록 글자 크기를 맞춘다. */
.show_box .mt-sbico {
	display: inline-block;
	line-height: 1;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji",
	             "Segoe UI Symbol", sans-serif;
}
.show_box .main_line_2 ul li .mt-sbico { font-size: 46px; }
.show_box .main_line_3 > ul li .mt-sbico { font-size: 34px; }

/* ── 자리 잡기 ─────────────────────────────────────────────────────────
   그림을 이모지로 바꾸면서 원래 CSS 와 어긋난 곳들을 맞춘다.

   [위 구역 main_line_2 — 4칸 세로형]
     글자(h4·p)는 가운데 정렬인데 아이콘만 왼쪽에 붙어 있었다.
     span.icon 이 inline-block 인데 li 에 text-align 이 없어서다.
     그림일 때도 어긋나 있었는데 96px 라 덜 티가 났다.
     h4 는 height:18px 인데 line-height 가 24px 라 글자가 상자를 넘친다.

   [아래 구역 main_line_3 — 2칸 가로형]
     .icon 이 height:82px + align-items:flex-start 라 아이콘이 위에 붙고
     글자는 가운데 정렬이라 서로 어긋났다. 그림(48px)일 때는 위쪽에 여백이
     생기는 정도였지만 이모지는 더 작아서 확 티가 난다.
     폭을 고정해 네 항목의 글자 시작선도 같이 맞춘다.               */
.show_box .main_line_2 ul li { text-align: center; }
.show_box .main_line_2 ul li span.icon { display: block; }
.show_box .main_line_2 ul li .info h4 { height: auto; min-height: 24px; }

.show_box .main_line_3 > ul li { align-items: center; }
.show_box .main_line_3 > ul li .icon {
	align-items: center;
	height: auto;
	flex: 0 0 46px;
	width: 46px;
}
@media (max-width: 767px) {
	/* 모바일에서는 테마가 세로 쌓기로 바꾸므로 폭 고정을 푼다 */
	.show_box .main_line_3 > ul li .icon { flex: 0 0 auto; width: auto; }
}
@media (max-width: 767px) {
	.show_box .main_line_2 ul li .mt-sbico { font-size: 38px; }
	.show_box .main_line_3 > ul li .mt-sbico { font-size: 30px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   로그인 위젯(사이드바 내정보 상자)                             2026-08-17
   ────────────────────────────────────────────────────────────────────────
   위젯 CSS(widget/insoft-outlogin/widget.css)가 흰 배경·연회색 테두리를
   직접 박아 둬서 다크모드에서 흰 상자로 남았다. 위젯은 나리야 것이라
   업데이트하면 되돌아가므로 그 파일을 고치지 않고 여기서 덮는다.

   아이콘은 그림(/img/pc_icon/*.png)에서 이모지로 바꿨다 — 그림 안에 흰 면이
   커서 어두운 배경에서 흰 덩어리로 튀었다(widget.php 주석 참고).
   ══════════════════════════════════════════════════════════════════════════ */
/* 이모지 아이콘 — 원래 그림이 칸 너비의 70% 였다. 그 정도 크기로 맞춘다. */
.widget_outlogin_wrap .login_menu > li .lm-ico {
	font-size: 22px;
	line-height: 1;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji",
	             "Segoe UI Symbol", sans-serif;
}
@media (max-width: 767px) {
	.widget_outlogin_wrap .login_menu > li .lm-ico { font-size: 24px; }
}

:root[data-theme="dark"] .widget-amina-outlogin {
	background-color: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin .login-cell,
:root[data-theme="dark"] .widget-amina-outlogin .login-box,
:root[data-theme="dark"] .widget-amina-outlogin .logout-btn,
:root[data-theme="dark"] .widget-amina-outlogin .profile .photo i {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin [style*="border-color:#ddd"],
:root[data-theme="dark"] .widget-amina-outlogin .no-top-border { border-color: var(--mt-line) !important; }
:root[data-theme="dark"] .widget_outlogin_wrap .login_menu > li {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin a { color: var(--mt-text-sub) !important; }
:root[data-theme="dark"] .widget-amina-outlogin .logout-btn a { color: var(--mt-text) !important; }
/* 입력칸(아이디·비밀번호)도 같이 어둡게 — 안 하면 흰 칸만 두 개 남는다 */
:root[data-theme="dark"] .widget-amina-outlogin input[type="text"],
:root[data-theme="dark"] .widget-amina-outlogin input[type="password"] {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .widget-amina-outlogin input::placeholder { color: var(--mt-text-mute) !important; }

/* 최신글 목록(/bbs/new.php) — 게시판 이름 한 줄 말줄임        2026-08-17
   게시판 이름이 최장 32자라 8rem(112px) 칸에서 서너 줄로 접혔고,
   그 줄만큼 행 높이가 통째로 늘어나 목록이 성기게 보였다.
   글자를 잘라내지 않고 화면에서만 한 줄로 줄인다 — 전체 이름은 title 속성에
   남아 있어 마우스를 올리면 보이고, 검색엔진도 원문을 읽는다.

   min-width:0 이 필요한 이유: 이 칸은 md 이상에서 table-cell 이고 아래는
   float 인데, 어느 쪽이든 내용 폭 때문에 안 줄어드는 경우가 있다. */
#new_list .mt-newbo { min-width: 0; }
#new_list .mt-newbo > a {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media (min-width: 768px) {
	#new_list .mt-newbo { max-width: 13rem; }
}

/* ══════════════════════════════════════════════════════════════════════════
   게시판 본문을 화면 폭 가까이 넓힌다                            2026-08-18
   ────────────────────────────────────────────────────────────────────────
   폭을 묶고 있던 것은 테마 설정이다.
       head.php:156   .nt-container { max-width: 1200px }   ($tset['size'])
   그래서 넓은 모니터에서는 좌우가 크게 비었다.

   ★ 테마 설정을 바꾸지 않고 CSS 로 푸는 이유
     그 설정은 머리글·메뉴·날개까지 전부 같은 .nt-container 를 쓴다.
     설정값을 키우면 메뉴 줄까지 같이 늘어나 헤더가 허전해진다.
     게시판 본문 감싸개(.my-3 가 붙는 것)만 골라서 푼다.

   ★ 좌우 .75rem 만 남기는 이유
     0 으로 두면 글자가 화면 끝에 닿고, 브라우저 스크롤바와도 붙는다.
     한 뼘만 남겨 스크롤바 자리만 확보한다.
   ══════════════════════════════════════════════════════════════════════════ */
/* ★ 한 번 max-width:none 으로 뒀다가 되돌렸다.            2026-08-18
   none 이면 넓은 모니터에서 본문이 화면 끝까지 늘어난다. 2560px 짜리에서는
   글줄이 너무 길어져 눈이 다음 줄 첫 글자를 못 찾는다("본문이 엄청 넓어졌다").
   1200 → 1600 으로 올리는 선에서 멈춘다. 1920 모니터 기준 좌우 172px 씩 남는다. */
@media (min-width: 0px) {   /* 모든 화면 폭에 적용 */
	/* ★ 여백이 두 겹이던 것을 한 겹으로.                       2026-08-18
	   원래 이 구간에 여백이 셋 겹쳐 있었다.
	       .nt-container  padding  .75rem   ← 내가 준 것
	       .na-row        margin  -.75rem   ← 나리야 기본(칸 여백 상쇄용)
	       .na-col        padding  .75rem   ← 나리야 기본(카드 안쪽 여백)
	   앞의 둘은 서로 상쇄되라고 있는 짝인데, 내가 컨테이너에 또 줘서
	   결국 바깥으로 한 겹이 더 붙었다.
	   컨테이너 여백과 행의 음수 여백을 둘 다 0 으로 만들고, 칸 안쪽 여백
	   하나만 남긴다. 그러면 카드 테두리가 화면(또는 1600px) 끝에 딱 맞고
	   글자는 그 안쪽 .75rem 에서 시작한다. 잘릴 일도 없다. */
	#nt_body > .nt-container.my-3 {
		/* ★ max-width 를 건드리지 않는다.                       2026-08-18
		   1200 → none 으로 풀었다가 너무 넓다고 해서 1600 으로 줄였는데
		   그것도 넓었다. 결국 테마 기본값(1200px, head.php 의 $tset['size'])을
		   그대로 쓴다. 메인도 같은 값이라 두 쪽 폭이 자동으로 맞는다.
		   폭을 바꾸고 싶으면 관리자 테마 설정에서 한 번에 바꾸는 게 맞다. */
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	/* ★ 행의 음수 여백(.na-row{margin:-0.75rem})은 그대로 둔다.  2026-08-18
	   한때 0 으로 만들었다가 되돌렸다. 그건 나리야가 '칸 안쪽 여백'을 상쇄해
	   내용이 컨테이너 선에 맞게 하려고 둔 짝이다. 이걸 없애면 **메인이**
	   원래 자리에서 12px 오른쪽으로 밀린다. 기준은 메인이어야 하므로 건드리지
	   않고, 대신 게시판 카드를 메인 내용과 같은 선에 맞춘다(아래 참고). */
}

/* ══════════════════════════════════════════════════════════════════════════
   모바일 — 본문 상자와 사이드 상자의 시작선 맞추기               2026-08-17
   ────────────────────────────────────────────────────────────────────────
   구조가 이렇다.
     .nt-container  (모바일에서 px-0 → 좌우 여백 0)
       .na-row      (margin: -0.75rem)
         .na-col.card   ← 본문. **칸 자체가 카드**다
         .na-col        ← 사이드. 카드가 아니고, 안의 위젯이 각각 카드

   그래서 자리가 이렇게 갈린다(화면 왼쪽 끝 기준).
     본문 카드 테두리   0 - 12px = -12px   ← 화면 밖으로 나가 테두리가 잘린다
     사이드 위젯 테두리 -12px + 12px = 0   ← 화면에 딱 붙는다
   같은 화면인데 상자 두 개의 시작선이 12px 어긋나고, 본문 쪽은 테두리가
   잘려서 상자로 보이지도 않았다.

   본문 카드에만 좌우 여백을 줘서 위젯과 같은 선에 세운다.
   (칸의 padding·row 의 margin 은 건드리지 않는다 — 그건 PC 2단 배치의
    기준이라 손대면 데스크톱 폭이 흔들린다)
   ══════════════════════════════════════════════════════════════════════════ */
/* 모바일도 PC 와 같은 규칙을 쓴다(아래 min-width:768px 블록과 동일).
   ★ 여기 있던 두 규칙을 지웠다.                              2026-08-18
     ① .nt-container 에 좌우 1rem  ② 본문 카드에 좌우 .75rem
   둘 다 "카드가 화면 밖으로 12px 나가 테두리가 잘린다" 를 메우려고 붙인
   임시방편이었다. 진짜 원인은 행(.na-row)의 음수 여백이었고, 그걸 0 으로
   만들면서 사라졌다. 그런데 임시방편이 남아 있어 여백이 두 겹이 됐다. */

/* ══════════════════════════════════════════════════════════════════════════
   게시판 머리(제목 + 설명)                                       2026-08-17
   ────────────────────────────────────────────────────────────────────────
   전에는 전폭 회색 띠(#nt_title.bg-light, 최소높이 80px) 위에 제목을
   가운데로 크게 얹는 구조였다. 화면 위쪽을 크게 잡아먹어 목록이 아래로
   밀렸고, 사이드바 위까지 걸쳐 본문과 좌우 기준선도 어긋났다.
   지금은 본문 칸 안 맨 위에 들어온다(head.php 에서 옮겼다).

   ★ flex 를 푸는 이유 — 여기서 한 번 깨졌다
     이 요소에는 테마가 d-flex flex-column, 자식에는 mt-auto/mb-auto 를
     걸어 뒀다. 원래 80px 짜리 띠 안에서 위아래로 밀어내려고 쓰던 것인데,
     높이를 내용만큼으로 줄이고 나면 쓸모가 없고 방해만 된다.
     실제로 장식 막대를 ::before 로 넣었더니 flex 항목이 되어 눌려 버렸다.
     block 으로 되돌리면 위에서 아래로 쌓이기만 하므로 어긋날 곳이 없다.

   ★ 생김새 — 왼쪽 파란 기둥
     제목과 설명을 기둥 하나로 묶는다. 사이트가 이미 파란 리본
     (.main_explain_con_title)과 파란 알약(메뉴·정렬)을 쓰고 있어 결이 맞고,
     따로 요소를 추가하지 않아 깨질 구석이 없다.
   ══════════════════════════════════════════════════════════════════════════ */
/* ★ overflow 를 풀어야 한다.
   theme.css 의 #nt_title 에 overflow:hidden 이 걸려 있다. 원래는 전폭 띠
   안에서 배경 이미지·물결 장식이 밖으로 삐져나가지 않게 하려던 것이다.
   지금은 장식이 없고 높이도 내용만큼이라, 이게 남아 있으면 제목 글자의
   아래쪽(받침·꼬리)이 잘려 나간다. 실제로 "타이틀 글자가 짤린다" 가 이것.
   안쪽 .nt-container 여백도 같이 푼다 — 이미 본문 칸 안이라 이중이 된다. */
.na-col > #nt_title,
.na-col > #nt_title #nt-title-raster { overflow: visible !important; }
.na-col > #nt_title .nt-container,
.na-col > #nt_title .nt-container-wide {
	max-width: none !important;
	width: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
#nt_title { background-color: transparent !important; }
#nt_title_flex,
.responsive #nt_title_flex { min-height: 0 !important; }
#nt_title_flex {
	display: block !important;          /* d-flex 해제 */
	/* ★ !important 가 꼭 필요하다.                            2026-08-17
	   이 요소에는 부트스트랩 유틸리티 pb-2 pt-3 py-md-0 가 붙어 있고
	   유틸리티는 전부 !important 다. 특히 py-md-0 는 768px 이상에서
	   padding-top/bottom 을 0 으로 못박는다. 그래서 PC 에서는 내가 준
	   위아래 여백이 통째로 무시되고 제목이 위아래 선에 바짝 붙어 있었다
	   ("타이틀이 콘텐츠박스 설정 때문에 이상하게 잡힌다" 의 정체). */
	/* 좌우 여백을 0 이 아니라 1rem 준다.                       2026-08-17
	   카드 안에서 제목만 맨 왼쪽 끝에 붙어 있어 아래 내용과 시작선이 달라
	   보였다. 눈에 보이는 시작선은 상자의 테두리가 아니라 **글자**인데,
	   목록 요약줄(.mt-lbar)은 테두리에서 1rem 안쪽에서 글자가 시작하고
	   표 목록도 칸 여백만큼 들어가 있다. 제목도 같은 만큼 들여쓴다. */
	padding: 1.75rem 1rem 1.2rem !important;
	border-bottom: 1px solid var(--mt-line-soft, #e9edf3);
	/* margin-bottom 은 두지 않는다.                            2026-08-18
	   아래 내용(요약줄·목록)이 저마다 위쪽 여백을 갖고 있어서
	   여기서 또 주면 선과 내용 사이가 두 겹으로 벌어진다. */
}
/* ★ 제목 아래 짧은 파란 밑줄
   왼쪽 기둥(border-left)에서 이걸로 바꿨다. 기둥은 제목과 설명을 한 덩어리로
   묶어 버려서, 정작 눈이 가야 할 제목이 덜 도드라졌다.
   밑줄은 제목 바로 아래에 붙어 시선을 제목에 모으고, 설명과의 사이도
   자연스럽게 갈라 준다. 파랑에서 옅은 파랑으로 흐르게 해 딱딱함을 덜었다.
   ::after 를 여기 걸어도 안전하다 — 이 div 는 flex 컨테이너가 아니다
   (부모의 d-flex 는 위에서 block 으로 풀었다). */
#nt_title_flex > .page-title::after {
	content: "";
	display: block;
	width: 44px;
	height: 3px;
	margin-top: .8rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--mt-blue-600, #007bff), var(--mt-blue-300, #66afff));
}
#nt_title_flex > div { margin: 0 !important; }   /* mt-auto·mb-auto 무력화 */
#nt_title .page-title,
#nt_title_flex > div.page-title { text-align: left !important; }

#nt_title .page-title {
	/* ★ 화면 폭에 따라 글자 크기가 같이 줄어든다.               2026-08-18
	   게시판 이름이 최장 32자다("토토사이트 안전놀이터 메이저사이트 정보 및
	   검증 기준 모음"). 25px 고정이면 창을 조금만 좁혀도 두 줄로 접힌다.
	   clamp 로 묶으면 넓은 화면에서는 24px 를 지키고, 창이 좁아질수록
	   같이 작아져 한 줄을 더 오래 유지한다.
	     32자 × 24px × (1 - 0.05 자간) ≈ 730px  →  본문 칸(약 820px)에 들어간다
	   그래도 접힐 만큼 좁아지면 balance 로 두 줄 길이를 비슷하게 맞춘다. */
	/* !important 가 필요하다.                                  2026-08-18
	   theme.css 에 `.responsive #nt_title .page-title` 규칙이 있는데
	   (id 1 + class 2) 내 `#nt_title .page-title` (id 1 + class 1) 보다
	   특이도가 높다. 그래서 767px 이하에서는 테마의 24px·22px 가 이겨
	   clamp 가 통째로 무시되고 제목이 계속 여러 줄로 접혔다. */
	font-size: clamp(18px, 1.95vw, 24px) !important;
	font-weight: 800;
	letter-spacing: -.05em;
	line-height: 1.32;
	color: var(--mt-text, #1f2937);
	word-break: keep-all;     /* 한국어는 단어 중간에서 끊지 않는다 */
	text-wrap: balance;
}

@media (max-width: 767px) {
	#nt_title_flex {
		/* 모바일은 위 간격을 거의 두지 않는다 — 카드 위 여백이 이미 있고,
		   첫 화면이 짧아 그만큼 목록이 밀린다. */
		/* 위아래를 같게. 전에는 위 .35rem / 아래 .8rem 이라 제목이
		   위로 치우쳐 보였다. 카드 자체 여백이 이미 있으니 작게 잡되
		   위아래는 맞춘다. margin-bottom 은 PC 와 같은 이유로 뺐다. */
		padding: .8rem .9rem .8rem !important;
	}
	#nt_title_flex > .page-title::after { width: 36px; margin-top: .65rem; }
	#nt_title .page-title { font-size: clamp(15px, 4.1vw, 19px) !important; }
}

:root[data-theme="dark"] #nt_title_flex { border-bottom-color: var(--mt-line); }
:root[data-theme="dark"] #nt_title_flex > .page-title::after {
	background: linear-gradient(90deg, var(--mt-primary), rgba(96,165,250,.35));
}
:root[data-theme="dark"] #nt_title .page-title { color: var(--mt-text) !important; }

.nt-page-desc {
	display: block;
	width: 100%;
	max-width: 62em;
	margin: .5rem auto 0;
	padding: 0;
	font-size: 14px;   /* f-sm */
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: -.02em;
	color: var(--mt-text-dim, #64748b);   /* mute(#94A3B8)는 흰 배경 대비 2.6:1 로 미달 → dim 4.8:1 */
	word-break: keep-all;      /* 한국어는 단어 중간에서 끊으면 읽기 나쁘다 */
}
/* 제목이 왼쪽이므로 설명도 왼쪽. margin auto 를 풀어 왼쪽 끝에 맞춘다. */
#nt_title_flex .nt-page-desc { margin-left: 0; margin-right: 0; text-align: left; }
#nt_title_flex .nt-page-desc { margin-top: .8rem; }

/* 모바일에서는 설명글을 감춘다.
   폰에서는 첫 화면이 짧아 두세 줄짜리 설명이 목록을 그만큼 밀어낸다.
   지우지 않고 감추기만 하므로 HTML 에는 남아 검색엔진은 그대로 읽는다. */
@media (max-width: 767px) {
	.nt-page-desc { display: none; }
}
:root[data-theme="dark"] .nt-page-desc { color: var(--mt-text-mute) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   메인 상단 여섯 칸 — 그림이 아니라 글자로 그린다               2026-08-17
   ────────────────────────────────────────────────────────────────────────
   원래는 제목·설명이 박힌 PNG 였다. 다크모드에서 글자가 안 보여 세 번을
   고쳐 봤지만(반전 / content:url / 밝은·어두운 두 장) 다 문제가 남았다.
   글자를 그림에서 빼내면 색은 CSS 가 맞추므로 테마 문제가 사라진다.
   덤으로 검색엔진이 이 문구를 읽고, 확대해도 흐려지지 않는다.
   테마의 li 테두리·그림자·hover 테두리(a:after)는 그대로 살린다.
   ══════════════════════════════════════════════════════════════════════════ */
/* 칸 높이를 줄마다 맞춘다.
   테마 격자는 align-items:flex-start 라 칸마다 설명 길이대로 높이가 달라진다
   (한 줄짜리 옆에 두 줄짜리가 오면 아래가 들쭉날쭉해 보인다).
   stretch 로 바꾸고 li 를 flex 로 만들어 <a> 가 칸을 꽉 채우게 한다. */
.top_nav .nav.mt-navcards { align-items: stretch; }
.mt-navcards > li { display: flex; }
.mt-navcards > li > a {
	display: flex !important;
	align-items: center;
	justify-content: center;   /* 아이콘+글자 묶음을 칸 가운데로 */
	gap: 16px;
	width: 100%;
	padding: 20px 14px;
	text-decoration: none !important;
	color: inherit;
}
/* ★ 이모지 크기는 제목의 약 2.2배로 잡았다.               2026-08-17
   원래 그림(285x110)에서 일러스트가 카드 높이의 68%(약 75px), 제목 글자가
   26px 였다 — 즉 그림이 제목의 2.2배쯤 되는 비율이었다.
   이모지를 제목과 비슷한 크기로 두면 허전하고, 3배를 넘기면 글자를 눌러 버린다.
   제목 21px × 2.2 ≈ 46px. */
.mt-nc__ico {
	flex: 0 0 auto;
	font-size: 46px;
	line-height: 1;
	/* 컬러 이모지 글꼴을 명시한다 — 한글 글꼴의 흑백 대체글자를 피한다 */
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji",
	             "Segoe UI Symbol", sans-serif;
}
/* 글자 묶음은 내용만큼만 차지한다 — flex:1 로 늘리면 아이콘이 왼쪽 끝으로
   밀려 붙어서, 설명이 짧은 칸과 긴 칸의 아이콘 위치가 서로 어긋난다. */
.mt-nc__tx { flex: 0 1 auto; min-width: 0; max-width: 15em; text-align: left; }
.mt-nc__t {
	display: block;
	font-size: 21px;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1.25;
	color: var(--mt-blue-600, #007bff);
}
.mt-nc__d {
	display: block;
	margin-top: 5px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -.03em;
	color: var(--mt-text-dim, #64748b);   /* mute(#94A3B8)는 흰 배경 대비 2.6:1 로 미달 → dim 4.8:1 */
}
.mt-navcards > li { transition: transform .15s ease; }
.mt-navcards > li:hover { transform: translateY(-2px); }

/* 모바일은 2열이라 칸이 좁다(360px 화면에서 약 172px).
   가로로 두면 설명이 서너 글자마다 끊긴다. 아이콘을 위로 올리고 가운데 정렬. */
@media (max-width: 600px) {
	.mt-navcards > li > a {
		flex-direction: column;
		gap: 7px;
		padding: 14px 8px;
		text-align: center;
	}
	.mt-nc__ico { font-size: 34px; }   /* 제목 15px × 2.2 */
	.mt-nc__tx  { max-width: none; text-align: center; }
	.mt-nc__t   { font-size: 15px; }   /* f-de */
	.mt-nc__d   { margin-top: 3px; font-size: 12px; line-height: 1.45; }   /* f-xs */
}

:root[data-theme="dark"] .mt-nc__t { color: var(--mt-primary); }
:root[data-theme="dark"] .mt-nc__d { color: var(--mt-text-mute); }
:root[data-theme="dark"] .show_box .main_line_2,
:root[data-theme="dark"] .show_box .main_line_3 { background-color: var(--mt-surface) !important; border-color: var(--mt-line) !important; }
:root[data-theme="dark"] .show_box .main_line_1 { background-color: var(--mt-surface) !important; border-color: var(--mt-line) !important; }
:root[data-theme="dark"] .show_box .main_line_2 ul li .info h4 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .show_box .main_line_2 ul li .info p { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .show_box .main_line_3>ul li .info h4 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .show_box .main_line_3>ul li .info p { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .main_explain_title2 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .main_explain_con .main_explain_con_inner_end { color: var(--mt-text-dim) !important; }
/* ── 목록 표 머리 — border 가 #333 이라 어두운 배경에서 안 보인다 ── */
:root[data-theme="dark"] .na-table-head { border-color: var(--mt-line) !important; }
:root[data-theme="dark"] .na-table-head .d-md-table-cell { color: var(--mt-text) !important; }
:root[data-theme="dark"] .na-table .d-md-table-row { border-color: var(--mt-line) !important; }

/* ── 타이틀 밴드의 물결 마스크 ──
   이건 CSS 가 아니라 <svg><path fill="#fff"> 로 색이 마크업에 박혀 있다.
   CSS 의 fill 속성이 프레젠테이션 속성보다 우선하므로 여기서 덮을 수 있다.
   값으로 골라서 흰색 계열만 바꾼다 — 브랜드 파랑(#007bff) 마스크는 그대로 둔다.
   .na-mask-rev 는 타이틀 밴드 "위쪽" 을 깎는 마스크라 그 위 메뉴바 색(surface-2)과 맞춘다. */


/* ══════════════════════════════════════════════════════════════════════════
   27. 다크모드 — 헤더 영역을 한 겹으로 정리                 2026-08-16
   ────────────────────────────────────────────────────────────────────────
   회원 제보: "PC 헤더가 박스 때문에 이상하다".

   원인은 2번 섹션의 이 한 줄이었다:
       :root[data-theme="dark"] header, .navbar, .nt-menu, .me-li { background: surface-2 }
   `.me-li` 는 메뉴 **항목 하나하나**다(<li class="col p-0 me-li">).
   여기에 배경을 주면 항목 7개가 각각 상자로 보인다. 밝은 테마에서는
   흰 배경 위 흰 상자라 안 보였는데, 다크에서 색이 갈리면서 드러났다.

   헤더는 원래 "한 장의 띠"다. 층을 만들지 말고 하나로 칠한다:
       #nt_sticky_wrap(.bg-white) · #header_pc · #header_mo · #nt_menu → surface
       .me-li · .me-ul · me-list                                      → 투명
   타이틀 밴드는 한 톤 내려 페이지 바닥색을 쓰고(--mt-bg),
   그 사이 물결 마스크가 헤더색(surface)으로 헤더가 내려온 것처럼 보이게 한다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 헤더 띠 하나로 ── */
:root[data-theme="dark"] #nt_sticky_wrap,
:root[data-theme="dark"] #nt_sticky_wrap.bg-white,
:root[data-theme="dark"] #header_pc,
:root[data-theme="dark"] #header_mo,
:root[data-theme="dark"] #nt_menu,
:root[data-theme="dark"] .nt-menu,
:root[data-theme="dark"] #nt_sticky_wrap.me-sticky {
	background-color: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
}

/* ── 메뉴 항목은 배경을 갖지 않는다 (2번 섹션의 .me-li 규칙을 되돌린다) ── */
:root[data-theme="dark"] #nt_menu .me-li,
:root[data-theme="dark"] #nt_menu .me-ul,
:root[data-theme="dark"] #nt_menu .me-list,
:root[data-theme="dark"] #nt_menu .me-li > a {
	background-color: transparent !important;
}
:root[data-theme="dark"] #nt_menu .me-li > a > .me-a { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_menu .me-li:hover > a > .me-a,
:root[data-theme="dark"] #nt_menu .me-li.on > a > .me-a { color: var(--mt-text) !important; }
:root[data-theme="dark"] #nt_menu .me-li:hover > a,
:root[data-theme="dark"] #nt_menu .me-li.on > a { background-color: var(--mt-surface-2) !important; }
/* 보증업체 알약은 무지개 글자효과가 걸려 있어 색을 건드리면 안 된다 */
:root[data-theme="dark"] #nt_menu .me-li.menu-totosite > a > .me-a { color: initial !important; }

/* ── 하위 드롭다운 ── */
:root[data-theme="dark"] #nt_menu .sub-1div,
:root[data-theme="dark"] #nt_menu .sub-1dul {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #nt_menu .sub-1da { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_menu .sub-1dli:hover .sub-1da {
	background-color: var(--mt-surface) !important;
	color: var(--mt-primary) !important;
}

/* ── LNB(즐겨찾기·로그인 줄) — 헤더 위 얇은 띠 ── */
:root[data-theme="dark"] #nt_lnb { background-color: var(--mt-bg) !important; }
:root[data-theme="dark"] #nt_lnb a { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_lnb a:hover { color: var(--mt-primary) !important; }

/* ── 타이틀 밴드 + 물결 마스크 ──
   밴드는 페이지 바닥색, 마스크는 헤더색. 그래야 "헤더가 아래로 흘러내린" 모양이 된다.
   (26번에서 surface-2 로 잡았던 걸 헤더색에 맞춰 바로잡는다) */
:root[data-theme="dark"] #nt_title,
:root[data-theme="dark"] #nt_title.bg-light { background-color: var(--mt-bg) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   28. 다크모드 — PC 하위메뉴(드롭다운) 마무리               2026-08-16
   ────────────────────────────────────────────────────────────────────────
   테마가 거는 값(theme.css 323~360):
       .nt-menu .sub-1div  { background:#fff; box-shadow: 0 6px 12px rgba(0,0,0,.175) }
       .nt-menu .sub-1da   { color:#000; border-bottom:1px solid #eee }
       .nt-menu .sub-1dli.on/:hover .sub-1da { color:#000; background:#f5f5f5; border-color:#eee }

   27번에서 글자색만 바꿨더니 아직 어긋났다. 빠졌던 것들:
     · 항목 사이 구분선(#eee)이 어두운 면에서 밝게 튄다
     · 글자를 text-dim 으로 둬서 메뉴치고 흐렸다 → text 로 올린다
     · 그림자가 검정 계열이라 어두운 배경에선 안 보인다 → 더 진하게
     · .on(현재 메뉴) 상태가 밝은 회색 배경 그대로였다
   ══════════════════════════════════════════════════════════════════════════ */
:root[data-theme="dark"] #nt_menu .sub-1div,
:root[data-theme="dark"] .nt-menu .sub-1div {
	background-color: var(--mt-surface-2) !important;
	border: 1px solid var(--mt-line) !important;
	box-shadow: 0 8px 20px rgba(0,0,0,.55) !important;
}
:root[data-theme="dark"] #nt_menu .sub-1dul,
:root[data-theme="dark"] .nt-menu .sub-1dul { background-color: transparent !important; }

:root[data-theme="dark"] #nt_menu .sub-1da,
:root[data-theme="dark"] .nt-menu .sub-1da,
:root[data-theme="dark"] #nt_menu .sub-1div .me-sh {
	color: var(--mt-text) !important;
	border-bottom-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #nt_menu .sub-1dli:last-child .sub-1da { border-bottom-color: transparent !important; }

:root[data-theme="dark"] #nt_menu .sub-1dli.on .sub-1da,
:root[data-theme="dark"] #nt_menu .sub-1dli:hover .sub-1da,
:root[data-theme="dark"] .nt-menu .sub-1dli.on .sub-1da,
:root[data-theme="dark"] .nt-menu .sub-1dli:hover .sub-1da {
	background-color: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #nt_menu .sub-1line,
:root[data-theme="dark"] .nt-menu .sub-1line { background-color: transparent !important; }

/* 2단 하위메뉴도 같은 규칙으로 (지금은 안 쓰지만 메뉴를 늘리면 바로 나온다) */
:root[data-theme="dark"] #nt_menu .sub-2div,
:root[data-theme="dark"] .nt-menu .sub-2div {
	background-color: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #nt_menu .sub-2da,
:root[data-theme="dark"] .nt-menu .sub-2da {
	color: var(--mt-text) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #nt_menu .sub-2dli.on .sub-2da,
:root[data-theme="dark"] #nt_menu .sub-2dli:hover .sub-2da {
	background-color: var(--mt-surface) !important;
	color: var(--mt-primary) !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   29. 다크모드 — 메뉴 호버/현재 상태 + LNB 띠 합치기        2026-08-16
   ────────────────────────────────────────────────────────────────────────
   ① "마우스오버시 글자가 잘 안 보임"
      27번에서 글자색만 --mt-text 로 올렸는데, 정작 배경을 안 건드렸다.
      밝은 테마용으로 만들어 둔 이 규칙들이 다크에서도 그대로 살아 있었다:
          #nt_menu .me-li:not(.menu-totosite):hover > a > .me-a { background: var(--mt-blue-50) }
          #nt_menu .me-li.on:not(.menu-totosite)   > a > .me-a { background: var(--mt-blue-100) }
      --mt-blue-50/100 은 거의 흰색에 가까운 연파랑이다.
      거기에 --mt-text(밝은 회백색) 글자를 얹었으니 안 보이는 게 당연하다.
      → 배경을 어두운 파랑 틴트로 바꾸고 글자는 밝은 파랑으로 되돌린다.
      ※ 배경을 .me-a(알약) 에 걸어야 한다. 부모 <a> 에 걸면 알약 모양이 안 나온다.

   ② LNB(즐겨찾기·로그인 줄)가 헤더와 층이 갈라져 보임
      27번에서 LNB 를 --mt-bg, 헤더를 --mt-surface 로 나눠 놨더니
      얇은 띠 두 개가 서로 다른 색으로 겹쳐 보였다. 하나로 합친다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── ① 호버 ── */
:root[data-theme="dark"] #nt_menu .me-li:not(.menu-totosite):hover > a > .me-a {
	background: rgba(77,155,255,.14) !important;
	color: var(--mt-primary) !important;
}
/* ── ① 현재 메뉴(.on) ── */
:root[data-theme="dark"] #nt_menu .me-li.on:not(.menu-totosite) > a > .me-a,
:root[data-theme="dark"] #nt_menu .me-li.on:not(.menu-totosite):hover > a > .me-a {
	background: rgba(77,155,255,.22) !important;
	color: #cfe4ff !important;
	box-shadow: inset 0 0 0 1px rgba(77,155,255,.45) !important;
}
/* 부모 <a> 에는 배경을 주지 않는다 — 알약 밖까지 칠해져 네모로 보인다 */
:root[data-theme="dark"] #nt_menu .me-li:hover > a,
:root[data-theme="dark"] #nt_menu .me-li.on > a { background-color: transparent !important; }

/* 보증업체는 무지개 글자효과라 색·배경을 건드리면 깨진다. 27번의 initial 지정도 취소.
   (color:initial 은 검정이라 어두운 배경에서 오히려 안 보였다) */
:root[data-theme="dark"] #nt_menu .me-li.menu-totosite > a > .me-a { color: unset !important; }

/* ── ② LNB 를 헤더와 같은 면으로 ── */
:root[data-theme="dark"] #nt_lnb,
:root[data-theme="dark"] #nt_sticky {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #nt_lnb .nt-container { background-color: transparent !important; }
:root[data-theme="dark"] #nt_lnb a { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] #nt_lnb a:hover { color: var(--mt-primary) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   30. 다크모드 — 타이틀 물결 마스크는 숨긴다 + 저대비 글자색 보정  2026-08-16
   ────────────────────────────────────────────────────────────────────────
   ① 물결 마스크(.mask-zone / .na-mask)
      26·27번에서 색을 맞춰 보려 했으나 계속 어긋났고, 결국 타이틀과 겹쳤다.
      구조를 보면 맞추기 어려운 게 당연했다:
          .mask-zone.na-mask-special1  → height:64px 짜리 빈 div (자리만 차지)
          .na-mask.na-mask-rev         → position:absolute 로 그 위에 SVG 물결
      즉 "위 요소 색으로 칠한 도형"을 겹쳐서 경계를 곡선으로 보이게 하는 장식이다.
      두 면이 같은 색일 때만 자연스럽고, 다크에서 헤더/밴드 색을 조금이라도
      다르게 잡으면 바로 띠가 보인다. 정보가 담긴 요소도 아니다.
      → 다크모드에서는 통째로 감춘다. 겹침도 같이 사라진다.
      밝은 테마에서는 그대로 나온다.

   ② 저대비 글자색
      로드되는 CSS 전체에서 "어두운 면 기준 대비 4.5 미만"인 color 선언을 뽑아
      기계적으로 보정했다.
        · 무채색(#000·#333·#666 등) → --mt-text / --mt-text-dim 토큰으로
        · 유채색(.txt-red·.txt-purple 등) → 색상(hue)은 유지하고 밝기만 올려 5.5 확보
      색을 눈대중으로 고르지 않고 WCAG 대비를 계산해서 정했다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── ① 장식 마스크 숨김 ── */
/* 처음엔 #nt_title 안으로만 한정했는데 좁았다.
   같은 장식이 tail.php(푸터 위)에도 들어간다 — 거기도 똑같이 흰 물결이 뜬다.
   두 곳 다 순수 장식이므로 다크에서는 전역으로 감춘다. */
:root[data-theme="dark"] .mask-show,
:root[data-theme="dark"] .mask-zone,
:root[data-theme="dark"] .na-mask { display: none !important; }

/* ── ② 저대비 글자색 보정 (자동 생성) ── */
:root[data-theme="dark"] i.light-circle,
:root[data-theme="dark"] img.light-circle { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] .txt-blue { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] .txt-indigo { color: #AB7FF3 !important; }  /* #6610f2 대비 2.4 */
:root[data-theme="dark"] .txt-purple { color: #A287D3 !important; }  /* #6f42c1 대비 2.6 */
:root[data-theme="dark"] .txt-pink { color: #E768A2 !important; }  /* #e83e8c 대비 4.4 */
:root[data-theme="dark"] .txt-red { color: #E1727D !important; }  /* #dc3545 대비 3.8 */
:root[data-theme="dark"] .txt-navy { color: #8595A5 !important; }  /* #323c46 대비 1.5 */
:root[data-theme="dark"] .txt-darkgreen { color: #7F9A86 !important; }  /* #475c4d 대비 2.4 */
:root[data-theme="dark"] .btn.btn-basic { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .sly-tab li a { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] .sly-tab .sly-btn { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] .tbl_bo_safety_info tr td { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .tbl_bo_safety_info tr td .icon_safety_game { color: var(--mt-text) !important; }  /* #666 대비 3.0 */
:root[data-theme="dark"] .bo_safety_view_con_line .text { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] #bo_gallery .list-safety-info table tr td.site_name { color: var(--mt-text) !important; }  /* #555 대비 2.3 */
:root[data-theme="dark"] #bo_gallery .list-safety-info table tr td.site_code { color: #E17373 !important; }  /* #db3232 대비 3.7 */
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_view { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_site { color: #E17373 !important; }  /* #db3232 대비 3.7 */
:root[data-theme="dark"] .btn_mttip { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] #bo_list #mttip_price { color: #E17373 !important; }  /* #db3232 대비 3.7 */
:root[data-theme="dark"] #nt_menu .me-a { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] #nt_menu .sub-2da { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] #nt_menu .sub-2dli.on .sub-2da,
:root[data-theme="dark"] #nt_menu .sub-2dli:hover .sub-2da { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] #nt_menu .sub-2line { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .nt-menu .sub-1da { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .nt-menu .sub-1dli.on .sub-1da,
:root[data-theme="dark"] .nt-menu .sub-1dli:hover .sub-1da { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .nt-menu .sub-1line { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .nt-menu-full .sub-1da { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] #nt_footer .nt-links ul>li>a { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] .page-link,
:root[data-theme="dark"] .page-link:hover,
:root[data-theme="dark"] .page-link:focus { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] .main_banner_title h2 { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] .main_banner_title h2 span { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] .main_banner_title2 { color: var(--mt-text) !important; }  /* #666 대비 3.0 */
:root[data-theme="dark"] #ft_copyright { color: var(--mt-text) !important; }  /* #333 대비 1.3 */
:root[data-theme="dark"] #ft_btn #btn_ft_device_change i { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] .show_box .main_line_2>h3 { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] .show_box .main_line_3>h3 { color: var(--mt-primary) !important; }  /* #007bff 대비 4.3 */
:root[data-theme="dark"] .show_box .main_line_2 ul li .info h4 { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .show_box .main_line_2 ul li .info p { color: var(--mt-text) !important; }  /* #444 대비 1.7 */
:root[data-theme="dark"] .show_box .main_line_3>ul li .info h4 { color: var(--mt-text) !important; }  /* #000 대비 1.2 */
:root[data-theme="dark"] .show_box .main_line_3>ul li .info p { color: var(--mt-text) !important; }  /* #444 대비 1.7 */
:root[data-theme="dark"] .main_explain_title2 { color: var(--mt-text) !important; }  /* #666 대비 3.0 */
:root[data-theme="dark"] .main_explain_con .main_explain_con_inner_end { color: var(--mt-text) !important; }  /* #666 대비 3.0 */
:root[data-theme="dark"] #main_con_3_1 .main_explain_con>div strong span { color: #988BDE !important; }  /* #251965 대비 1.1 */
:root[data-theme="dark"] .widget-amina-outlogin .login-cell.login-btn { color: #8C96A7 !important; }  /* #373E4A 대비 1.6 */
/* ── ③ 인라인 style 로 박힌 글자색 ──
   보증업체·먹튀사이트 목록의 정보표가 마크업에 색을 직접 쓴다:
       skin/board/BS4-mtsite/list.skin.php:395  <b style="color:#555">   사이트 이름
       skin/board/BS4-mtsite/list.skin.php:399  <b style="color:#dc3545"> 가입코드
       skin/board/BS4-safety/list.skin.php:448·452  (같은 구조)
   페이지 전체에 202군데 나온다. #555 는 어두운 면에서 대비 2.3 이라 거의 안 보인다.
   인라인 style 은 보통 CSS 로 못 이기지만, !important 는 이긴다 — 그걸 쓴다.
   스킨 PHP 를 고치지 않는 이유: 나중에 스킨을 손대도 이 규칙이 계속 유효하다. */
:root[data-theme="dark"] .list-safety-info table b[style*="#555"] { color: var(--mt-text) !important; }
:root[data-theme="dark"] .list-safety-info table b[style*="#dc3545"] { color: #FF8A94 !important; }
:root[data-theme="dark"] .list-safety-info table th { color: var(--mt-text-dim) !important; }
:root[data-theme="dark"] .list-safety-info table,
:root[data-theme="dark"] .list-safety-info table td,
:root[data-theme="dark"] .list-safety-info table th { border-color: var(--mt-line) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   31. 다크모드 — 게시글 본문(관리자가 쓴 HTML)               2026-08-16
   ────────────────────────────────────────────────────────────────────────
   제보: "/mtguide 안의 모든 게시물이 다크모드 대응 안 됨".

   게시글 본문은 CSS 가 아니라 **글 자체에 인라인 style 로** 색이 박혀 있다.
   글 4개만 봐도 색 선언이 46종, 수백 군데다:
       color:#555 ×87   color:#dc3545 ×86   border:1px solid #ddd ×33
       background:#fff ×15   color:#111 ×14   color:#fff ×19 ...

   전부 뒤집으면 안 된다. 짝이 맞아야 하기 때문이다 —
   `background:#007bff` 위의 `color:#fff` 를 어둡게 바꾸면 파란 버튼 글씨가 사라진다.
   그래서 "문서 기본색 짝"만 골라서 뒤집는다:
       · 흰 계열 배경(#fff·#fbfcfe·#f8f9fa…) → 어두운 면
       · 어두운 계열 글자(#111·#333·#555…)   → 밝은 글자
       · 유채색 배경(파랑·빨강·초록)과 그 위의 흰 글자 → 손대지 않음
       · 파랑 글자(#007bff·#0b62d6)는 대비 4.3 이라 --mt-primary 로만 올림

   ★ 선택자를 선언 경계에 고정한 이유
     [style*="color:#007bff"] 로 쓰면 `background-color:#007bff` 에도 걸린다.
     ("background-color:" 가 "color:" 로 끝나므로 부분일치가 된다)
     배경을 글자색 규칙으로 덮어버리는 사고가 나므로
     [style^="color:#007bff"] 와 [style*=";color:#007bff"] 두 형태로만 잡는다.

   원본 글은 고치지 않는다 — 밝은 테마에서는 글쓴이가 만든 그대로 보인다.
   ══════════════════════════════════════════════════════════════════════════ */
/* ── 배경: 흰 계열만 뒤집는다. 파랑·빨강 같은 유채색 배경은 글쓴이의 디자인이라 그대로 둔다 ── */
:root[data-theme="dark"] #bo_v [style^="background:#fff"],
:root[data-theme="dark"] #bo_v [style*=";background:#fff"],
:root[data-theme="dark"] #bo_v [style^="background: #fff"],
:root[data-theme="dark"] #bo_v [style*=";background: #fff"],
:root[data-theme="dark"] .view_content [style^="background:#fff"],
:root[data-theme="dark"] .view_content [style*=";background:#fff"],
:root[data-theme="dark"] .view_content [style^="background: #fff"],
:root[data-theme="dark"] .view_content [style*=";background: #fff"] {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#ffffff"],
:root[data-theme="dark"] #bo_v [style*=";background:#ffffff"],
:root[data-theme="dark"] #bo_v [style^="background: #ffffff"],
:root[data-theme="dark"] #bo_v [style*=";background: #ffffff"],
:root[data-theme="dark"] .view_content [style^="background:#ffffff"],
:root[data-theme="dark"] .view_content [style*=";background:#ffffff"],
:root[data-theme="dark"] .view_content [style^="background: #ffffff"],
:root[data-theme="dark"] .view_content [style*=";background: #ffffff"] {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#fbfcfe"],
:root[data-theme="dark"] #bo_v [style*=";background:#fbfcfe"],
:root[data-theme="dark"] #bo_v [style^="background: #fbfcfe"],
:root[data-theme="dark"] #bo_v [style*=";background: #fbfcfe"],
:root[data-theme="dark"] .view_content [style^="background:#fbfcfe"],
:root[data-theme="dark"] .view_content [style*=";background:#fbfcfe"],
:root[data-theme="dark"] .view_content [style^="background: #fbfcfe"],
:root[data-theme="dark"] .view_content [style*=";background: #fbfcfe"] {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f4f7fb"],
:root[data-theme="dark"] #bo_v [style*=";background:#f4f7fb"],
:root[data-theme="dark"] #bo_v [style^="background: #f4f7fb"],
:root[data-theme="dark"] #bo_v [style*=";background: #f4f7fb"],
:root[data-theme="dark"] .view_content [style^="background:#f4f7fb"],
:root[data-theme="dark"] .view_content [style*=";background:#f4f7fb"],
:root[data-theme="dark"] .view_content [style^="background: #f4f7fb"],
:root[data-theme="dark"] .view_content [style*=";background: #f4f7fb"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f8f9fa"],
:root[data-theme="dark"] #bo_v [style*=";background:#f8f9fa"],
:root[data-theme="dark"] #bo_v [style^="background: #f8f9fa"],
:root[data-theme="dark"] #bo_v [style*=";background: #f8f9fa"],
:root[data-theme="dark"] .view_content [style^="background:#f8f9fa"],
:root[data-theme="dark"] .view_content [style*=";background:#f8f9fa"],
:root[data-theme="dark"] .view_content [style^="background: #f8f9fa"],
:root[data-theme="dark"] .view_content [style*=";background: #f8f9fa"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f1f1f1"],
:root[data-theme="dark"] #bo_v [style*=";background:#f1f1f1"],
:root[data-theme="dark"] #bo_v [style^="background: #f1f1f1"],
:root[data-theme="dark"] #bo_v [style*=";background: #f1f1f1"],
:root[data-theme="dark"] .view_content [style^="background:#f1f1f1"],
:root[data-theme="dark"] .view_content [style*=";background:#f1f1f1"],
:root[data-theme="dark"] .view_content [style^="background: #f1f1f1"],
:root[data-theme="dark"] .view_content [style*=";background: #f1f1f1"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#eef5ff"],
:root[data-theme="dark"] #bo_v [style*=";background:#eef5ff"],
:root[data-theme="dark"] #bo_v [style^="background: #eef5ff"],
:root[data-theme="dark"] #bo_v [style*=";background: #eef5ff"],
:root[data-theme="dark"] .view_content [style^="background:#eef5ff"],
:root[data-theme="dark"] .view_content [style*=";background:#eef5ff"],
:root[data-theme="dark"] .view_content [style^="background: #eef5ff"],
:root[data-theme="dark"] .view_content [style*=";background: #eef5ff"] {
	background-color: rgba(96,165,250,.12) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";background:#e3ecfa"],
:root[data-theme="dark"] #bo_v [style^="background: #e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";background: #e3ecfa"],
:root[data-theme="dark"] .view_content [style^="background:#e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";background:#e3ecfa"],
:root[data-theme="dark"] .view_content [style^="background: #e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";background: #e3ecfa"] {
	background-color: rgba(96,165,250,.12) !important;
}

/* ── 글자: 어두운 계열만. color:#fff 는 유채색 배경 위에 얹힌 글자라 건드리면 안 된다 ── */
:root[data-theme="dark"] #bo_v [style^="color:#111"],
:root[data-theme="dark"] #bo_v [style*=";color:#111"],
:root[data-theme="dark"] #bo_v [style^="color: #111"],
:root[data-theme="dark"] #bo_v [style*=";color: #111"],
:root[data-theme="dark"] .view_content [style^="color:#111"],
:root[data-theme="dark"] .view_content [style*=";color:#111"],
:root[data-theme="dark"] .view_content [style^="color: #111"],
:root[data-theme="dark"] .view_content [style*=";color: #111"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#222"],
:root[data-theme="dark"] #bo_v [style*=";color:#222"],
:root[data-theme="dark"] #bo_v [style^="color: #222"],
:root[data-theme="dark"] #bo_v [style*=";color: #222"],
:root[data-theme="dark"] .view_content [style^="color:#222"],
:root[data-theme="dark"] .view_content [style*=";color:#222"],
:root[data-theme="dark"] .view_content [style^="color: #222"],
:root[data-theme="dark"] .view_content [style*=";color: #222"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#333"],
:root[data-theme="dark"] #bo_v [style*=";color:#333"],
:root[data-theme="dark"] #bo_v [style^="color: #333"],
:root[data-theme="dark"] #bo_v [style*=";color: #333"],
:root[data-theme="dark"] .view_content [style^="color:#333"],
:root[data-theme="dark"] .view_content [style*=";color:#333"],
:root[data-theme="dark"] .view_content [style^="color: #333"],
:root[data-theme="dark"] .view_content [style*=";color: #333"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#444"],
:root[data-theme="dark"] #bo_v [style*=";color:#444"],
:root[data-theme="dark"] #bo_v [style^="color: #444"],
:root[data-theme="dark"] #bo_v [style*=";color: #444"],
:root[data-theme="dark"] .view_content [style^="color:#444"],
:root[data-theme="dark"] .view_content [style*=";color:#444"],
:root[data-theme="dark"] .view_content [style^="color: #444"],
:root[data-theme="dark"] .view_content [style*=";color: #444"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#555"],
:root[data-theme="dark"] #bo_v [style*=";color:#555"],
:root[data-theme="dark"] #bo_v [style^="color: #555"],
:root[data-theme="dark"] #bo_v [style*=";color: #555"],
:root[data-theme="dark"] .view_content [style^="color:#555"],
:root[data-theme="dark"] .view_content [style*=";color:#555"],
:root[data-theme="dark"] .view_content [style^="color: #555"],
:root[data-theme="dark"] .view_content [style*=";color: #555"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#666"],
:root[data-theme="dark"] #bo_v [style*=";color:#666"],
:root[data-theme="dark"] #bo_v [style^="color: #666"],
:root[data-theme="dark"] #bo_v [style*=";color: #666"],
:root[data-theme="dark"] .view_content [style^="color:#666"],
:root[data-theme="dark"] .view_content [style*=";color:#666"],
:root[data-theme="dark"] .view_content [style^="color: #666"],
:root[data-theme="dark"] .view_content [style*=";color: #666"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#888"],
:root[data-theme="dark"] #bo_v [style*=";color:#888"],
:root[data-theme="dark"] #bo_v [style^="color: #888"],
:root[data-theme="dark"] #bo_v [style*=";color: #888"],
:root[data-theme="dark"] .view_content [style^="color:#888"],
:root[data-theme="dark"] .view_content [style*=";color:#888"],
:root[data-theme="dark"] .view_content [style^="color: #888"],
:root[data-theme="dark"] .view_content [style*=";color: #888"] {
	color: var(--mt-text-mute) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#007bff"],
:root[data-theme="dark"] #bo_v [style*=";color:#007bff"],
:root[data-theme="dark"] #bo_v [style^="color: #007bff"],
:root[data-theme="dark"] #bo_v [style*=";color: #007bff"],
:root[data-theme="dark"] .view_content [style^="color:#007bff"],
:root[data-theme="dark"] .view_content [style*=";color:#007bff"],
:root[data-theme="dark"] .view_content [style^="color: #007bff"],
:root[data-theme="dark"] .view_content [style*=";color: #007bff"] {
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#0b62d6"],
:root[data-theme="dark"] #bo_v [style*=";color:#0b62d6"],
:root[data-theme="dark"] #bo_v [style^="color: #0b62d6"],
:root[data-theme="dark"] #bo_v [style*=";color: #0b62d6"],
:root[data-theme="dark"] .view_content [style^="color:#0b62d6"],
:root[data-theme="dark"] .view_content [style*=";color:#0b62d6"],
:root[data-theme="dark"] .view_content [style^="color: #0b62d6"],
:root[data-theme="dark"] .view_content [style*=";color: #0b62d6"] {
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#e33030"],
:root[data-theme="dark"] #bo_v [style*=";color:#e33030"],
:root[data-theme="dark"] #bo_v [style^="color: #e33030"],
:root[data-theme="dark"] #bo_v [style*=";color: #e33030"],
:root[data-theme="dark"] .view_content [style^="color:#e33030"],
:root[data-theme="dark"] .view_content [style*=";color:#e33030"],
:root[data-theme="dark"] .view_content [style^="color: #e33030"],
:root[data-theme="dark"] .view_content [style*=";color: #e33030"] {
	color: #FF8A94 !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#dc3545"],
:root[data-theme="dark"] #bo_v [style*=";color:#dc3545"],
:root[data-theme="dark"] #bo_v [style^="color: #dc3545"],
:root[data-theme="dark"] #bo_v [style*=";color: #dc3545"],
:root[data-theme="dark"] .view_content [style^="color:#dc3545"],
:root[data-theme="dark"] .view_content [style*=";color:#dc3545"],
:root[data-theme="dark"] .view_content [style^="color: #dc3545"],
:root[data-theme="dark"] .view_content [style*=";color: #dc3545"] {
	color: #FF8A94 !important;
}

/* ── 테두리 ── */
:root[data-theme="dark"] #bo_v [style^="border:1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style^="border: 1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style*=";border: 1px solid #ddd"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #ddd"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #ddd"],
:root[data-theme="dark"] .view_content [style^="border: 1px solid #ddd"],
:root[data-theme="dark"] .view_content [style*=";border: 1px solid #ddd"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style^="border-top: 1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style*=";border-top: 1px solid #ddd"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #ddd"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #ddd"],
:root[data-theme="dark"] .view_content [style^="border-top: 1px solid #ddd"],
:root[data-theme="dark"] .view_content [style*=";border-top: 1px solid #ddd"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style^="border: 1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style*=";border: 1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style^="border: 1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style*=";border: 1px solid #e5e8ee"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style^="border-top: 1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style*=";border-top: 1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style^="border-top: 1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style*=";border-top: 1px solid #e5e8ee"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style^="border: 1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style*=";border: 1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style^="border: 1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style*=";border: 1px solid #dcdfe5"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style^="border-top: 1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style*=";border-top: 1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style^="border-top: 1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style*=";border-top: 1px solid #dcdfe5"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style^="border: 1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";border: 1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style^="border: 1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";border: 1px solid #e3ecfa"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style^="border-top: 1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";border-top: 1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style^="border-top: 1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";border-top: 1px solid #e3ecfa"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #eee"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #eee"],
:root[data-theme="dark"] #bo_v [style^="border: 1px solid #eee"],
:root[data-theme="dark"] #bo_v [style*=";border: 1px solid #eee"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #eee"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #eee"],
:root[data-theme="dark"] .view_content [style^="border: 1px solid #eee"],
:root[data-theme="dark"] .view_content [style*=";border: 1px solid #eee"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #eee"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #eee"],
:root[data-theme="dark"] #bo_v [style^="border-top: 1px solid #eee"],
:root[data-theme="dark"] #bo_v [style*=";border-top: 1px solid #eee"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #eee"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #eee"],
:root[data-theme="dark"] .view_content [style^="border-top: 1px solid #eee"],
:root[data-theme="dark"] .view_content [style*=";border-top: 1px solid #eee"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style^="border: 1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style*=";border: 1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style^="border: 1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style*=";border: 1px solid #dee2e6"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style^="border-top: 1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style*=";border-top: 1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style^="border-top: 1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style*=";border-top: 1px solid #dee2e6"] {
	border-top-color: var(--mt-line) !important;
}

/* 본문 기본색 + 표 — 인라인이 없는 부분까지 확실히 */
:root[data-theme="dark"] #bo_v, :root[data-theme="dark"] #bo_v_con, :root[data-theme="dark"] .view_content { color: var(--mt-text) !important; }
:root[data-theme="dark"] #bo_v table, :root[data-theme="dark"] #bo_v td, :root[data-theme="dark"] #bo_v th { border-color: var(--mt-line) !important; }
:root[data-theme="dark"] #bo_v_info .bg-light { background-color: var(--mt-surface-2) !important; }
:root[data-theme="dark"] #bo_v hr { border-color: var(--mt-line) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   32. 타이틀 밴드 폭을 본문·사이드와 맞춘다                  2026-08-16
   ────────────────────────────────────────────────────────────────────────
   제보: "타이틀 박스가 본문+사이드랑 폭이 안 맞고 오른쪽이 살짝 빈다".

   계산해 보니 정확히 12px 이었다. 구조 때문이다:
       .nt-container            max-width:1200px, margin:0 auto   → x = 0 ‥ 1200
       .na-row                  margin: 0 -0.75rem (nariya.css)   → x = -12 ‥ 1212
       .col-md-*                padding: 0 15px
   즉 행(row)이 컨테이너 밖으로 좌우 12px 씩 삐져나가고, .card 는 그 col 자체라
   **카드 상자의 오른쪽 끝이 x=1212**, 타이틀 컨테이너 끝은 x=1200 이 된다.
   글자 기준으로는 맞지만(카드 안쪽 내용도 1200 에서 끝난다) 눈에 보이는 건
   카드 "상자" 라서 타이틀이 12px 모자라 보인다.

   고치는 방법은 둘이다:
     ⓐ 행의 음수 여백을 없앤다  → 본문 폭이 24px 줄어든다(레이아웃 변화 큼)
     ⓑ 타이틀 안쪽을 같은 만큼 밖으로 민다 → 타이틀만 움직인다
   ⓑ 를 택했다. 행과 똑같은 -0.75rem 을 쓰므로 어느 화면폭에서도 자동으로 맞는다.

   모바일(<576px)은 제외한다 — 거기선 본문 컨테이너가 px-0 라 같은 값을 주면
   제목이 화면 가장자리에 붙어 읽기 나빠진다. 그 구간은 지금 여백이 맞다.
   ══════════════════════════════════════════════════════════════════════════ */
@media (min-width: 576px) {
	#nt_title #nt_title_flex,
	#nt_wing .nt-container > *:not(script) {
		margin-left: -0.75rem;
		margin-right: -0.75rem;
	}
}


/* ══════════════════════════════════════════════════════════════════════════
   33. 다크모드 — 헤더와 타이틀을 한 덩어리로                 2026-08-16
   ────────────────────────────────────────────────────────────────────────
   "타이틀 박스가 본문+사이드랑 넓이가 안 맞는다" 의 진짜 원인.

   32번에서 타이틀 안쪽 폭을 카드 상자와 맞췄는데도 어색했던 이유는
   **색이 만드는 덩어리**가 어긋나 있었기 때문이다. 다크모드 기준으로:

       #nt_sticky (LNB+헤더+메뉴)   --mt-surface   ← 화면 전폭으로 칠해진 띠
       #nt_title                   --mt-bg        ← 페이지색이라 안 보임
       본문·사이드 카드             --mt-surface   ← 1200px 폭

   전폭 띠 → 아무것도 없는 구간 → 1200px 카드 순으로 이어지니
   타이틀만 붕 떠 보이고 "폭이 다르다" 로 읽힌다.
   밝은 테마에선 헤더가 흰색, 타이틀이 #f8f9fa 로 거의 같아 티가 안 났다.

   타이틀도 헤더와 같은 면(--mt-surface)으로 칠해 위쪽을 한 덩어리로 만든다.
   물결 마스크는 30번에서 이미 감췄으므로 경계에 이음매도 생기지 않는다.
   결과: [전폭 헤더+타이틀 띠] → [페이지 바닥 위의 1200px 카드] 두 층으로 정리된다.
   ══════════════════════════════════════════════════════════════════════════ */
:root[data-theme="dark"] #nt_title,
:root[data-theme="dark"] #nt_title.bg-light,
:root[data-theme="dark"] #nt-title-raster {
	background-color: var(--mt-surface) !important;
}
/* 띠가 끝나는 자리에 얇은 선을 둬서 본문 영역과 층이 구분되게 */
:root[data-theme="dark"] #nt_title { border-bottom: 1px solid var(--mt-line) !important; }
:root[data-theme="dark"] #nt_title .page-title,
:root[data-theme="dark"] #nt_title h1 { color: var(--mt-text) !important; }
:root[data-theme="dark"] #nt_title .breadcrumb-item span,
:root[data-theme="dark"] #nt_title .breadcrumb .text-dark { color: var(--mt-text-dim) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   34. 다크모드 — 게시글 본문 인라인 색 전수                  2026-08-16
   ────────────────────────────────────────────────────────────────────────
   31번은 글 4개만 표본으로 삼아 값이 모자랐다. 이번엔 6개 게시판(mtguide·mt·
   mtcs·notice·totosite·mtsite)의 글을 모아 2.2MB 를 훑고 값을 전부 뽑았다.

   31번이 놓쳤던 것들 — /mtguide 글의 표가 흰색으로 남던 원인:
       border:1px solid #ccc  ×12      color:#1e40af  ×13 (대비 2.0)
       background:#f2f2f2 / #f9f9f9 / #fafafa / #fff5f5 / #f6fbf6 …
       color:#111827 #0f172a #374151 #4b5563 #1f2328 #c00 #db3232 …

   범위도 넓혔다: #bo_v · .view_content 에 .main_explain_title_wrap 을 추가했다.
   (게시판 목록 아래 안내문 블록이 #bo_v 밖이라 규칙이 닿지 않았다)

   그대로 두는 것 — 의도적이다:
       color:#fff (×20)        유채색 배경 위의 글자. 바꾸면 파란 버튼 글씨가 사라진다
       background:#007bff 등    글쓴이가 고른 브랜드색
       color:#28a745 (대비 5.4) 이미 충분히 보인다
   ══════════════════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════════════════════
   본문 카드와 사이드 상자의 시작선 맞추기 (PC)                    2026-08-18
   ────────────────────────────────────────────────────────────────────────
   1280 화면에서 실제로 재 본 값이다(chromium 캡처 픽셀 측정).
       컨테이너            40 ~ 1240
       사이드 칸           40 ~ 340   ·  위젯 테두리  54 ~ 326  (칸 안쪽 12px)
       본문 칸(=카드)     340 ~ 1240  ·  카드 테두리 341 ~ 1240 (칸 끝에 딱)
   사이드 위젯은 칸 안쪽으로 12px 들어가 있는데 본문 카드만 칸 끝에 붙어 있다.
   구조가 달라서 그렇다 — 사이드는 '칸 안에 위젯', 본문은 '칸 자체가 카드'.
   본문 카드에도 같은 12px 을 줘서 두 상자가 같은 선에서 시작하게 한다.
   (모바일은 한 줄로 쌓이므로 이 규칙이 필요 없다)
   ══════════════════════════════════════════════════════════════════════════ */
/* ★ 이 규칙은 넣었다가 즉시 뺐다.                           2026-08-18
       .na-row > .na-col.card { margin-left:.75rem; margin-right:.75rem }
   두 칸이 col-md-9(75%) + col-md-3(25%) = 100% 로 딱 맞는데, 여기에
   좌우 24px 을 더하니 한 줄에 못 들어가서 본문이 사이드 **아래로 밀려났다**.
   퍼센트 폭 칸에 margin 을 더하면 넘친다 — flex 에서 흔한 함정이다.
   본문 카드와 사이드 위젯의 12px 차이는 남지만, 배치가 깨지는 것보다는 낫다.
   맞추려면 margin 이 아니라 width 를 calc(75% - 1.5rem) 로 줄여야 하는데,
   그건 부트스트랩 격자 계산과 얽혀 다른 화면 폭에서 또 어긋난다. */

/* ══════════════════════════════════════════════════════════════════════════
   메인 머리 배너 (.main_banner_title)                            2026-08-18
   ────────────────────────────────────────────────────────────────────────
   제목은 이미 위 '메인 구역 제목 통일' 규격을 따른다(20px 파랑 + 밑줄).
   여기서는 상자 안쪽 여백과 본문·링크 줄을 사이트 결에 맞춘다.
     · padding 20px 5px 5px 로 위만 넓고 아래가 없어 글이 바닥에 붙었다
     · 안내 링크가 파란 밑줄 글자(btn-link)라 본문과 구분이 약했다
       → 옅은 파란 알약으로 바꿔 '눌러서 가는 곳'임을 분명히 한다
   ══════════════════════════════════════════════════════════════════════════ */
.main_banner_title { padding: 1.6rem 1.4rem 1.5rem !important; }
.main_banner_textbox { padding: 0 !important; }
.main_notice_text {
	font-size: 15px;   /* f-de */
	line-height: 1.8;
	letter-spacing: -.025em;
	color: var(--mt-text-sub, #334155);
	word-break: keep-all;
}
.main_notice_links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .45rem;
	margin-top: 1.1rem !important;
}
.main_notice_links a.btn-link {
	margin: 0 !important;
	padding: .45rem 1rem !important;
	border: 1px solid var(--mt-blue-200, #99c9ff);
	border-radius: 999px;
	background: var(--mt-blue-50, #e8f2ff);
	color: var(--mt-blue-700, #0062cc) !important;
	font-size: 14px !important;   /* f-sm */
	font-weight: 700;
	letter-spacing: -.03em;
	text-decoration: none !important;
	transition: background-color var(--mt-t-fast, .15s) ease, border-color var(--mt-t-fast, .15s) ease;
}
.main_notice_links a.btn-link:hover {
	background: var(--mt-blue-100, #cce4ff);
	border-color: var(--mt-blue-300, #66afff);
}

@media (max-width: 575px) {
	.main_banner_title { padding: 1.25rem 1rem 1.2rem !important; }
	.main_notice_text { font-size: 14px; line-height: 1.72; }
	.main_notice_links a.btn-link { padding: .4rem .8rem !important; font-size: 13px !important; }
}

:root[data-theme="dark"] .main_notice_text { color: var(--mt-text-sub) !important; }
:root[data-theme="dark"] .main_notice_links a.btn-link {
	background: rgba(96,165,250,.10);
	border-color: rgba(96,165,250,.28);
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] .main_notice_links a.btn-link:hover { background: rgba(96,165,250,.18); }

/* ══════════════════════════════════════════════════════════════════════════
   회원가입 · 정보찾기 폼                                         2026-08-18
   ────────────────────────────────────────────────────────────────────────
   캡처로 본 문제
     · 입력칸 폭이 제각각이었다. 아이디·이름·닉네임은 좁은데(col-sm-4)
       휴대폰번호만 col-sm-7 이라 유독 넓어 줄이 들쭉날쭉했다.
     · 입력칸이 각지고 높이가 서로 달랐다.
     · 인증 버튼이 파랑·초록으로 따로 놀았다.
   HTML 은 건드리지 않고 폭·높이·모서리만 맞춘다.
   ══════════════════════════════════════════════════════════════════════════ */
#fregisterform .form-control,
#fregisterform .custom-select,
form[name="fregisterform"] .form-control {
	height: 42px;
	border-radius: 8px;
	border-color: var(--mt-line, #d8dee7);
	background: var(--mt-surface-2, #f8fafc);
	font-size: 14px;   /* f-sm */
}
#fregisterform .form-control:focus {
	border-color: var(--mt-blue-500, #1a87ff);
	background: var(--mt-surface, #fff);
	box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
/* 입력칸 폭을 한 기준으로 — 긴 칸(휴대폰)만 튀지 않게 */
#fregisterform .form-group.row > [class*="col-sm-"] > .input-group,
#fregisterform .form-group.row > [class*="col-sm-"] > .form-control { max-width: 340px; }

/* 버튼이 붙은 칸 — 왼쪽 모서리만 둥글게, 버튼은 오른쪽만 */
#fregisterform .input-group > .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
#fregisterform .input-group-append > .btn {
	height: 42px;
	padding: 0 16px;
	border-radius: 0 8px 8px 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -.03em;
	white-space: nowrap;
}
/* 인증 버튼 두 개의 결을 맞춘다 — 발송은 파랑, 확인은 초록(성공 뜻)이되
   같은 크기·모서리로 통일한다 */
#btn_sms_cert_send { background: var(--mt-blue-600, #007bff); border-color: var(--mt-blue-600, #007bff); }
#btn_sms_cert_send:hover { background: var(--mt-blue-700, #0062cc); }

/* 자동등록방지 — 이미지·입력칸·버튼 높이 맞추기 */
#fregisterform #captcha input[type="text"],
#fregisterform .captcha input[type="text"] { height: 42px; border-radius: 8px; }

/* 안내 문구 */
#fregisterform .form-control-plaintext { font-size: 13px; line-height: 1.6; }

/* 아래 버튼 두 개 */
#fregisterform .btn-group-justified .btn,
#fregisterform .col-6 > .btn { height: 48px; border-radius: 8px; font-size: 15px; font-weight: 700; }

/* ── 정보찾기(/bbs/password_lost.php) ──                        2026-08-18
   3단계(아이디+휴대폰 → 인증번호 → 새 비밀번호)가 한 화면에서 바뀐다.
   입력칸 앞에 아이콘 상자가 붙는 구조라 모서리를 좌우로 나눠 줘야 한다. */
#mb_find_info { max-width: 380px !important; }
#mb_find_info .form-control {
	height: 44px;
	border-radius: 0 8px 8px 0;
	border-color: var(--mt-line, #d8dee7);
	background: var(--mt-surface-2, #f8fafc);
	font-size: 14px;   /* f-sm */
}
#mb_find_info .form-control:focus {
	border-color: var(--mt-blue-500, #1a87ff);
	background: var(--mt-surface, #fff);
	box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
#mb_find_info .input-group-text {
	height: 44px;
	width: 44px;
	justify-content: center;
	border-radius: 8px 0 0 8px;
	border-color: var(--mt-line, #d8dee7);
	background: var(--mt-surface-2, #f8fafc);
}
/* 아이콘 상자가 없는 칸(새 비밀번호)은 양쪽 다 둥글게 */
#mb_find_info .form-group > .form-control { border-radius: 8px; }
#mb_find_info .btn {
	height: 46px;
	border-radius: 8px;
	font-size: 15px;   /* f-de */
	font-weight: 700;
	letter-spacing: -.03em;
}
#mb_find_info .text-muted.small { font-size: 13px; line-height: 1.65; }
/* 아래 링크 줄 */
#mb_find_info a:not(.btn) { font-size: 13px; color: var(--mt-text-dim, #64748b); }
#mb_find_info a:not(.btn):hover { color: var(--mt-blue-600, #007bff); }

:root[data-theme="dark"] #mb_find_info .input-group-text { background: var(--mt-surface-2); border-color: var(--mt-line); }

/* ══════════════════════════════════════════════════════════════════════════
   게시판 목록 표 다듬기 (토진사 기준)                            2026-08-18
   ────────────────────────────────────────────────────────────────────────
   토진사를 캡처해 비교한 결과 차이는 세 가지였다.
     ① 상태 배지가 알약(둥근 끝)인데 우리는 각진 5px 사각형
     ② 줄 간격이 넉넉하고 구분선이 아주 옅다
     ③ 제목 글자가 조금 크고 진하다
   전부 CSS 로만 바꾼다 — HTML·글자는 그대로라 SEO 영향이 없다.

   ★ 배지는 인라인 style 로 색이 박혀 있다
     <span class="qnaIco" style="padding:5px;background-color:#007bff;
       border-radius:5px;color:#fff">답변대기</span>
     색은 글쓴이(관리자)가 상태마다 정한 값이라 그대로 두고,
     모양(padding·radius·글자)만 !important 로 덮는다.
   ══════════════════════════════════════════════════════════════════════════ */
#bo_list .qnaIco {
	display: inline-block;
	min-width: 62px;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	font-size: 12px !important;   /* f-xs */
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}
#bo_list .qnaIco i { display: none; }   /* 빈 <i> 가 앞에 공백을 만든다 */

/* ★ 제목이 말줄임 없이 그냥 잘리던 문제.                     2026-08-18
   나리야는 .na-subject 에 text-overflow:ellipsis 를 이미 걸어 뒀다.
       .na-title .na-subject { display:inline-block; text-overflow:ellipsis;
                               white-space:nowrap; overflow:hidden }
   그런데 부모 .na-item 이 flex 라, 그 안의 항목은 기본 min-width 가 auto
   (=내용 폭)라서 줄어들지 않는다. 그래서 말줄임이 작동할 자리가 없고
   칸 경계에서 글자가 뚝 잘렸다("주의" 의 '의' 가 반만 보임).
   min-width:0 을 줘야 비로소 줄어들면서 … 가 나온다.
   공지 제목은 <strong> 안에 또 <span class="mt-subject-text"> 로 감싸여
   있어서(전체공지 확장) 그 span 에도 같은 처리가 필요하다. */
/* ★ 제목이 말줄임 없이 잘리던 문제 — 게시판별로 잡음.       2026-08-18
   ── 왜 잘렸나 ──
   ① <a class="na-subject"> 안에 표가 한 겹 더 있다. 나리야가 걸어 둔
      말줄임은 '인라인 글자' 용이라 블록(표)에는 안 듣는다.
   ② 바깥 표가 table-layout:auto 라 제목 칸이 내용만큼 늘어나 버린다.

   ── 왜 앞서 fixed 만으로는 안 됐나 ──
   모든 게시판에서 폭이 안 정해진 칸은 '제목' 하나뿐이라 fixed 로 바꾸면
   제목이 남은 폭을 다 가져야 정상이다. 그런데 나머지 칸의 nw-* 값이 커서
   남는 폭이 거의 없었다.
       mt   5+15+10+6+4 = 40rem = 560px  → 890px 카드에서 제목은 330px
   그래서 멀쩡하던 제목까지 일찍 잘렸다.
   머리줄 칸 폭을 실제 내용에 맞게 줄이면(아래) 제목이 넉넉해진다.
       mt   29.1rem = 407px → 제목 483px
       mtcs 19.1rem = 267px → 제목 623px
   fixed 에서는 첫 줄(머리줄) 폭만 보므로 머리줄에만 주면 된다. */
/* ★ 머리줄과 목록은 **서로 다른 표**다.                       2026-08-18
       <div class="na-table d-none d-md-table">  ← 머리줄(번호·제목·…)
       <ul  class="na-table d-md-table">         ← 실제 목록
   표가 둘이라 칸 폭이 따로 계산된다. 머리줄에만 폭을 줬더니
   '사이트 주소'·'이름' 글자가 아래 데이터와 어긋나 보였다.
   게다가 목록 칸에는 nw-md-auto 가 붙어 md 이상에서 width:auto 가 되므로
   !important 로 눌러야 한다. 두 표에 같은 값을 줘야 세로줄이 맞는다. */
@media (min-width: 768px) {
	#bo_list .na-table.d-md-table,
	#bo_list ul.na-table { table-layout: fixed; }
	#bo_list .na-table-head > .nw-5,
	#bo_list ul.na-table > li > .nw-5  { width: 3.4rem !important; }
	#bo_list .na-table-head > .nw-15,
	#bo_list ul.na-table > li > .nw-15 { width: 9rem !important; }
	#bo_list .na-table-head > .nw-10,
	#bo_list ul.na-table > li > .nw-10 { width: 7.5rem !important; }

	/* ★ 긴 닉네임이 두 줄로 접히던 문제                       2026-08-17
	   '이름' 칸은 7.5rem 고정인데 "디아즈개먹튀" 처럼 긴 닉네임이 들어오면
	   글자가 접혀 그 줄만 키가 커지고 목록 간격이 들쭉날쭉해졌다.
	   접지 말고 말줄임(…)으로 끊는다.

	   ★ 왜 칸이 아니라 <a> 에 overflow 를 거는가
	     칸에 overflow:hidden 을 주면 닉네임을 누를 때 나오는 쪽지·메일
	     드롭다운(.sv)까지 잘려 안 보인다. 그건 칸 밖으로 나와야 하는
	     요소다. 그래서 자르는 건 이름 링크 하나로 한정한다.

	   ★ calc(100% - 1.7rem) 은 앞의 등급 아이콘(.xp-icon) 자리다.
	     이 아이콘은 이미지라 줄어들지 않으므로 미리 빼 둬야
	     이름이 아이콘을 밀어내지 않는다. */
	#bo_list ul.na-table > li > .nw-10 { white-space: nowrap; }
	#bo_list ul.na-table > li > .nw-10 .sv_wrap {
		display: inline-block;
		max-width: calc(100% - 1.7rem);
		vertical-align: middle;
	}
	/* 사이드뷰 잠금으로 <a> 가 <span> 이 된다([[mtgal-sideview-lock]]).
	   말줄임은 이 미디어쿼리 안에서만 걸려야 한다 — 전역으로 걸면
	   모바일에서 display:block 이 먹어 글쓴이 칸이 한 줄 더 차지하고
	   행 높이가 99px → 121px 로 늘어난다(2026-08-17 실측). */
	#bo_list ul.na-table > li > .nw-10 .sv_wrap > a,
	#bo_list ul.na-table > li > .nw-10 .sv_wrap > span.sv_member,
	#bo_list ul.na-table > li > .nw-10 .sv_wrap > span.sv_guest {
		display: block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	/* 비회원 글쓴이는 .sv_wrap 없이 글자만 들어오는 경우가 있다 */
	#bo_list ul.na-table > li > .nw-10 > .member,
	#bo_list ul.na-table > li > .nw-10 > .guest {
		display: inline-block;
		max-width: calc(100% - 1.7rem);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		vertical-align: middle;
	}

	/* 날짜 칸 — 공지글은 "2026.07.05" 처럼 연도까지 나온다.
	   4.6rem(64px) 로는 두 줄로 접혀서 5.8rem(81px) 으로 넓힌다. */
	#bo_list .na-table-head > .nw-6,
	#bo_list ul.na-table > li > .nw-6  { width: 5.8rem !important; }
	#bo_list ul.na-table > li > .nw-6 { white-space: nowrap; }
	#bo_list .na-table-head > .nw-4,
	#bo_list ul.na-table > li > .nw-4  { width: 3.6rem !important; }
}
/* 안쪽 표를 블록으로 바꿔야 말줄임이 걸린다.
   ★ 링크 자체도 블록이어야 한다. .na-subject 는 inline-block 이라 폭이
     '내용만큼' 인데, 그 안의 블록 자식에 width:100% 를 주면 0 이 된다.
     실제로 mt 공지 제목이 "…" 하나만 남았다. 표를 품은 링크만 블록으로.

   ★ :has() 로 '표를 품은 링크' 만 고른다.                   2026-08-17
     처음엔 조건 없이 걸었는데, 그러면 표가 없는 게시판(후기·공지·꽁머니…)
     에서도 링크가 칸 전체를 먹는다. 그 게시판들은 댓글수·첨부아이콘이
     링크 **바깥**에 형제로 붙어 있어서, 링크가 100% 가 되는 순간
     제목 바로 뒤가 아니라 제목칸 맨 오른쪽 끝으로 밀려났다.
     실제로 표를 품은 건 mt(먹튀신고) 스킨 하나뿐이다. */
#bo_list .na-title .na-item > a.na-subject:has(> .na-table) {
	display: block;
	width: 100%;
	min-width: 0;
}
#bo_list .na-title { max-width: 100%; }
#bo_list .na-title .na-item { min-width: 0; max-width: 100%; }
#bo_list .na-title .na-subject { flex: 0 1 auto; min-width: 0; max-width: 100%; }
#bo_list .na-subject > strong,
#bo_list .na-subject .mt-subject-text {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}

/* 줄 — 높이와 구분선 */
#bo_list ul.na-table > li.d-md-table-row { border-bottom-color: var(--mt-line-soft, #f1f5f9) !important; }
@media (min-width: 768px) {
	#bo_list ul.na-table > li > div { padding-top: .62rem !important; padding-bottom: .62rem !important; }
}
/* 제목 */
#bo_list .na-subject {
	font-size: 15px;   /* f-de */
	letter-spacing: -.03em;
	color: var(--mt-text, #1f2937);
}
#bo_list .na-subject:hover { color: var(--mt-blue-600, #007bff); }
#bo_list .na-subject strong { font-weight: 700; }
/* 번호·날짜·조회 */
#bo_list ul.na-table > li > div.f-sm { font-size: 13px !important; color: var(--mt-text-mute, #94a3b8) !important; }
/* 머리줄 */
#bo_list .na-table-head {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--mt-text-dim, #64748b);
}
/* 공지 줄 — 회색 배경 대신 아주 옅은 파란 틴트 */
#bo_list ul.na-table > li.bg-light { background: var(--mt-blue-50, #e8f2ff) !important; }

:root[data-theme="dark"] #bo_list .na-subject { color: var(--mt-text) !important; }
:root[data-theme="dark"] #bo_list ul.na-table > li.d-md-table-row { border-bottom-color: var(--mt-line) !important; }
/* 공지 줄 — 다크에서 .bg-light 가 위쪽 '흰 면 → 표면색' 규칙에 걸려
   본문보다 어두운 상자처럼 보였다. 줄 하나이므로 옅은 파란 틴트로 되돌린다. */
:root[data-theme="dark"] #bo_list ul.na-table > li.bg-light,
:root[data-theme="dark"] #bo_list ul.na-table > li.d-md-table-row.bg-light {
	background-color: rgba(96,165,250,.10) !important;
}
:root[data-theme="dark"] #bo_list .na-table-head { color: var(--mt-text-dim) !important; }

/* 본문 시작 높이를 메인·게시판 모두 같게.                     2026-08-18
   메인 컨테이너에는 세로 여백 클래스가 없고, 게시판 것에는 head.php 가
   my-3 my-sm-4 를 붙인다. 그래서 게시판·회원 페이지만 내용이 아래로
   내려가 있었다("게시판 쪽이 좀 더 내려간다").
   두 컨테이너에 같은 값을 박아 어느 페이지든 같은 높이에서 시작하게 한다. */
#nt_body > .nt-container { margin-top: 1rem !important; margin-bottom: 1rem !important; }
@media (max-width: 575px) {
	#nt_body > .nt-container { margin-top: .7rem !important; margin-bottom: .7rem !important; }
}

/* ══════════════════════════════════════════════════════════════════════════
   전체 폭 보정 + 머리글 좌우 맞추기                              2026-08-18
   ────────────────────────────────────────────────────────────────────────
   ① 사이드를 300px 로 넓힌 만큼(24px) 전체 폭도 늘린다.
      그래야 본문 칸이 전과 같은 폭을 유지한다. 1200 → 1224.
      테마 설정($tset['size'])을 고치면 관리자 화면 값과 어긋나므로
      여기서 덮는다. 되돌리려면 이 규칙만 지우면 1200 으로 돌아간다.

   ② 로고가 본문보다 14px 왼쪽에 있었다 — 실제로 재 본 값이다.
          머리글 컨테이너   px-xl-0 → 좌우 여백 0  → 로고 40px
          본문              칸 안쪽 여백 12px      → 카드 54px
      머리글에도 같은 12px 을 줘서 로고와 본문 카드가 한 선에서 시작하게 한다.
      (1200px 이상에서만. 그 아래는 원래 px-3/px-sm-4 가 여백을 준다)
   ══════════════════════════════════════════════════════════════════════════ */
.nt-container { max-width: 1224px !important; }

@media (min-width: 1200px) {
	#header_pc .nt-container.px-xl-0,
	#nt_menu .nt-container.px-xl-0,
	#nt_title .nt-container.px-xl-0 {
		padding-left: .75rem !important;
		padding-right: .75rem !important;
	}
}

/* ══════════════════════════════════════════════════════════════════════════
   사이드 칸 넓히기 (PC)                                          2026-08-18
   ────────────────────────────────────────────────────────────────────────
   토진사를 캡처해 재 본 값: 사이드 카드 폭 약 300px.
   우리는 col-md-3 = 1200px 의 25% = 300px 인데 칸 안쪽 여백 24px 를 빼면
   실제로 보이는 상자는 276px 이라 좁아 보였다.
   상자가 300px 로 보이도록 칸을 324px 로 잡는다(300 + 좌우 여백 24).

   ★ margin 이 아니라 flex-basis 로 바꾸는 이유
     앞서 카드에 margin 을 더했다가 두 칸 합이 100% 를 넘어 본문이 사이드
     아래로 떨어졌다. 폭 자체를 나눠 가지면 합이 항상 100% 라 안 넘친다.
   ══════════════════════════════════════════════════════════════════════════ */
@media (min-width: 768px) {
	/* ★ :not(.card) 로 잡으면 안 된다 — 메인이 깨진다.        2026-08-18
	   게시판은 본문 칸이 카드(.na-col.card)지만, **메인은 본문 칸이 카드가
	   아니다**(.col-md-9.na-col). 그래서 :not(.card) 가 메인 본문까지 잡아
	   324px 로 찌그러뜨렸다. 칸 번호(col-md-3 / col-md-9)로 정확히 고른다. */
	.na-row > .na-col.col-md-3 {
		flex: 0 0 324px !important;
		max-width: 324px !important;
	}
	.na-row > .na-col.col-md-9 {
		flex: 0 0 calc(100% - 324px) !important;
		max-width: calc(100% - 324px) !important;
	}
	/* ★ 게시판 본문은 '칸 자체가 카드' 라 테두리가 칸 끝에 붙는다.
	   메인은 '칸 안에 상자' 라 칸 여백 12px 만큼 안쪽에서 시작한다.
	   그래서 같은 화면인데 게시판 카드만 12px 씩 더 넓어 보였다.
	   카드에 좌우 12px 을 주되, 그만큼을 폭 계산에서 빼야 한다.
	   (예전에 margin 만 더했다가 두 칸 합이 100% 를 넘어 본문이 아래로
	    떨어졌다. 빼주면 합이 정확히 100% 라 안 넘친다) */
	.na-row > .na-col.col-md-9.card {
		flex: 0 0 calc(100% - 324px - 1.5rem) !important;
		max-width: calc(100% - 324px - 1.5rem) !important;
		margin-left: .75rem;
		margin-right: .75rem;
	}
}

/* ══════════════════════════════════════════════════════════════════════════
   사이드 위젯 다듬기                                              2026-08-18
   ══════════════════════════════════════════════════════════════════════════ */
/* 로그인 버튼 글자가 밑줄 달린 채 위로 떠 있었다.
   테마가 button 안의 <b> 에 밑줄을 주고 있어서다. flex 로 가운데 정렬한다. */
.widget-amina-outlogin .login-cell.login-btn .btn-custom {
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}
.widget-amina-outlogin .login-cell.login-btn .btn-custom b {
	text-decoration: none !important;
	border: 0 !important;
}

/* 위젯 안쪽 여백을 하나로 — 테마가 위젯마다 px-3 px-sm-0 을 다르게 붙여 뒀다 */
.main_sd_list { padding: 1rem !important; }
/* ★ margin 을 0 으로 만들면 안 된다.                        2026-08-18
   테마가 위젯 내용에 mt-3 mb-3(또는 mb-4 mb-md-3)을 붙여 제목선과의 간격을
   만든다. 이걸 통째로 0 으로 지웠더니 고객센터 위젯에서 텔레그램 줄이
   구분선에 딱 달라붙어 버렸다("고객센터 부분이 깨진다").
   위젯마다 다르던 값을 하나로 맞추되, 간격 자체는 남긴다. */
.main_sd_list > div[class*="mt-"] { margin: .8rem 0 0 !important; padding: 0 !important; }
.main_sd_list > h3.h3 { padding: 0 !important; }

/* 목록 글줄 */
/* 위젯 제목과 목록의 시작선이 8px 어긋나 있었다.
   목록이 부트스트랩 격자(.row.mx-n2 = 좌우 -8px, .col.px-2 = 좌우 8px)로
   짜여 있어서, 칸 여백만 0 으로 만들면 감싸개의 음수 여백(-8px)이 남아
   목록만 왼쪽으로 8px 밀린다. 둘 다 0 으로 맞춘다. */
.main_sd_list .na-list.mx-n2 { margin-left: 0 !important; margin-right: 0 !important; }
.main_sd_list .na-list > li.col { padding: 0 !important; }
.main_sd_list .na-list .na-line { padding: .34rem 0; }
.main_sd_list .na-subject {
	font-size: 14px;   /* f-sm */
	letter-spacing: -.03em;
	line-height: 1.5;
	color: var(--mt-text-sub, #334155);
}
.main_sd_list .na-subject:hover { color: var(--mt-blue-600, #007bff); }
.main_sd_list .na-list .float-right { font-size: 12px !important; color: var(--mt-text-mute, #94a3b8) !important; }
/* ★ 구분선을 여기서 또 그으면 안 된다.                       2026-08-18
   테마에 이미 `.na-list .na-line { border-bottom: 1px solid #efefef }` 가 있다.
   내가 위쪽에 border-top 을 더했더니 항목 사이에 선이 두 줄로 겹쳤다.
   있는 선의 색만 옅게 바꾼다. */
.main_sd_list .na-list .na-line { border-bottom-color: var(--mt-line-soft, #f1f5f9) !important; }
.main_sd_list .na-list > li.col:last-child .na-line { border-bottom: 0 !important; }

:root[data-theme="dark"] .main_sd_list .na-subject { color: var(--mt-text-sub) !important; }
:root[data-theme="dark"] .main_sd_list .na-list .na-line { border-bottom-color: var(--mt-line) !important; }

/* 푸터 문의하기 버튼 — 다크에서 글자가 검게 남아 안 읽혔다.
   배경이 진한 파랑이므로 글자는 흰색이어야 한다.
   테마가 a 태그에 색을 직접 주므로 !important 로 덮는다.

   ★ !important 를 붙였는데도 회색이던 이유 — 특이도에서 졌다  2026-08-17
     위쪽(1982줄)에 이런 규칙이 먼저 있다:
         :root[data-theme="dark"] #nt_footer a { color: --mt-text-dim !important }
     둘 다 !important 면 특이도가 높은 쪽이 이긴다. 계산해 보면
         #nt_footer a               → id 1 · 클래스 2 · 태그 1
         #btn_ft_cscenter (여기)     → id 1 · 클래스 2 · 태그 0
     같은 id 하나인데 저쪽엔 태그(a)가 하나 더 붙어 저쪽이 이겼다.
     id 를 하나 더 얹어(#nt_footer #btn_ft_cscenter) 확실히 넘어선다.
     ※ 실측으로 확인했다 — 고치기 전 글자색이 (128,156,190) 회색이었다. */
:root[data-theme="dark"] #nt_footer #btn_ft_cscenter,
:root[data-theme="dark"] #nt_footer #btn_ft_cscenter:hover,
:root[data-theme="dark"] #nt_footer #btn_ft_cscenter *,
:root[data-theme="dark"] #nt_footer .btn_ft,
:root[data-theme="dark"] #nt_footer .btn_ft:hover,
:root[data-theme="dark"] #nt_footer .btn_ft *,
:root[data-theme="dark"] #btn_ft_cscenter,
:root[data-theme="dark"] #btn_ft_cscenter:hover,
:root[data-theme="dark"] .btn_ft,
:root[data-theme="dark"] .btn_ft:hover,
:root[data-theme="dark"] .btn_ft * { color: #fff !important; }

/* 다크모드 — 파란 버튼은 어디서든 브랜드 파랑 + 흰 글자        2026-08-18
   푸터의 문의하기, 각종 btn-primary 가 밝은 하늘색으로 떠서 사이트 색과
   달라 보였다. 배경이 진한 색인 버튼은 글자가 흰색이어야 읽힌다. */
:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .bg-primary,
:root[data-theme="dark"] #ft .btn,
:root[data-theme="dark"] .btn-custom {
	background-color: var(--mt-blue-600) !important;
	border-color: var(--mt-blue-600) !important;
	color: #fff !important;
}
:root[data-theme="dark"] .btn-primary:hover,
:root[data-theme="dark"] #ft .btn:hover,
:root[data-theme="dark"] .btn-custom:hover {
	background-color: var(--mt-blue-700) !important;
	border-color: var(--mt-blue-700) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   로그인 위젯 다시 짜기                                          2026-08-18
   ────────────────────────────────────────────────────────────────────────
   ★ 상자가 두 겹이던 이유
     마크업이 이렇게 겹쳐 있다.
         <div class="… shadow">        ← 부트스트랩 그림자만 있는 껍데기
           <div class="widget-amina-outlogin">  ← 테두리·배경·모서리
     바깥 껍데기에 그림자, 안쪽에 테두리라 상자가 두 개로 보였다.
     바깥 그림자를 끄고 안쪽 하나만 카드로 둔다.

   ★ 입력칸이 옛날 표 구조였다
     .login-box { display:table } 로 아이디·비밀번호를 왼쪽 칸에,
     로그인 버튼을 오른쪽 80px 칸에 세로로 붙여 두었다. 2010년대 게시판 모양이다.
     세로로 쌓고 버튼을 전폭으로 내린다 — 폰에서도 그대로 쓰기 좋다.

   위젯 CSS(widget/insoft-outlogin/widget.css)는 나리야 것이라 손대지 않고
   여기서 덮는다.
   ══════════════════════════════════════════════════════════════════════════ */
/* 바깥 껍데기 그림자 끄기 */
div.shadow:has(> .widget-amina-outlogin) { box-shadow: none !important; }

.widget-amina-outlogin { padding: 1rem !important; }

/* 표 → 세로 쌓기 */
.widget-amina-outlogin .login-box { display: block !important; width: 100%; }
.widget-amina-outlogin .login-cell { display: block !important; width: auto !important; height: auto !important; }
.widget-amina-outlogin .login-cell .input-group { display: block !important; margin-bottom: .4rem; }
.widget-amina-outlogin .login-cell .input-group:last-child { margin-bottom: 0; }

.widget-amina-outlogin input[type="text"],
.widget-amina-outlogin input[type="password"] {
	width: 100% !important;
	height: 40px !important;
	padding: 0 12px !important;
	border: 1px solid var(--mt-line, #d8dee7) !important;
	border-radius: 8px !important;
	background: var(--mt-surface-2, #f8fafc) !important;
	font-size: 14px !important;   /* f-sm */
	color: var(--mt-text, #1f2937) !important;
	box-shadow: none !important;
}
.widget-amina-outlogin input[type="text"]:focus,
.widget-amina-outlogin input[type="password"]:focus {
	border-color: var(--mt-blue-500, #1a87ff) !important;
	background: var(--mt-surface, #fff) !important;
	outline: none !important;
}
.widget-amina-outlogin input::placeholder { color: var(--mt-text-mute, #94a3b8); }

/* 로그인 버튼 — 오른쪽 붙은 세로 막대에서 전폭 버튼으로 */
.widget-amina-outlogin .login-cell.login-btn {
	width: auto !important;
	margin-top: .55rem;
	background: transparent !important;
	border: 0 !important;
}
.widget-amina-outlogin .login-cell.login-btn .btn-custom {
	display: block;
	width: 100%;
	height: 42px;
	border: 0;
	border-radius: 8px;
	background: var(--mt-blue-600, #007bff);
	color: #fff;
	font-size: 15px;   /* f-de */
	letter-spacing: -.03em;
	transition: background-color var(--mt-t-fast, .15s) ease;
}
.widget-amina-outlogin .login-cell.login-btn .btn-custom b { font-weight: 700; }
.widget-amina-outlogin .login-cell.login-btn .btn-custom:hover { background: var(--mt-blue-700, #0062cc); }

/* 아래 줄 — 자동로그인 / 회원가입·정보찾기 */
.widget-amina-outlogin .login-misc {
	margin-top: .7rem;
	padding-top: .7rem;
	border-top: 1px solid var(--mt-line-soft, #e9edf3);
	font-size: 13px;
}
.widget-amina-outlogin .login-misc a span { color: var(--mt-text-dim, #64748b) !important; }
.widget-amina-outlogin .login-misc a:hover span { color: var(--mt-blue-600, #007bff) !important; }
.widget-amina-outlogin .login-misc .bar { color: var(--mt-line, #d8dee7); margin: 0 4px; }
.widget-amina-outlogin .remember-me { margin-right: 4px; vertical-align: -1px; }

:root[data-theme="dark"] .widget-amina-outlogin .login-misc { border-top-color: var(--mt-line) !important; }
:root[data-theme="dark"] .widget-amina-outlogin .login-cell.login-btn .btn-custom { background: var(--mt-blue-600) !important; color: #fff !important; }
:root[data-theme="dark"] .widget-amina-outlogin .login-cell.login-btn .btn-custom:hover { background: var(--mt-blue-700) !important; }

/* 그림자 유틸리티(.shadow / .shadow-sm)도 전부 끈다.            2026-08-18
   테마가 상자마다 .shadow 를 붙여 뒀는데, 어떤 것엔 있고 어떤 것엔 없어
   상자들이 서로 달라 보였다. 테두리 하나로 통일한다. */
.shadow, .shadow-sm, .card { box-shadow: none !important; }

/* ══════════════════════════════════════════════════════════════════════════
   상자 규격 통일                                                 2026-08-18
   ────────────────────────────────────────────────────────────────────────
   손대기 전에는 상자마다 모서리·테두리·그림자가 다 달랐다.
       배너            radius 10 · 테두리 rgba(0,0,0,.125) · 그림자 없음
       메인 6칸        radius 10 · 그림자 0 0 10px rgba(204,204,204,.25)
       운영/확인 상자   radius 10 · 같은 그림자
       이용 안내       radius 10 · 테두리 #dcdfe5 · 그림자 없음
       FAQ 구역        radius 10 · 같은 그림자
       FAQ 카드        radius 10 · 테두리 #e9ecef
       사이드 위젯      radius 5  ← 혼자 5px
       로그인 상자      radius 5  · 테두리 #ddd
   모서리가 5·10 두 가지, 테두리 색이 세 가지, 그림자는 있는 것과 없는 것이
   섞여 있었다. 그래서 "어떤 박스는 그림자가 있고 다 다르다" 로 보인 것이다.

   한 규격으로 맞춘다.
       모서리 10px · 테두리 --mt-line-soft · 그림자 아주 옅게 두 겹
   그림자를 없애지 않고 옅게 남기는 이유: 흰 배경 위 흰 카드라 테두리만으로는
   경계가 약하다. 다만 예전 값(0 0 10px)은 사방으로 번져 흐릿해 보였다.
   아래로만 1~3px 지는 그림자가 요즘 방식이고 훨씬 또렷하다.
   ══════════════════════════════════════════════════════════════════════════ */
.main_banner_title,
.cnt_r .top_nav .nav li,
.show_box .main_line_1,
.show_box .main_line_2,
.show_box .main_line_3,
.main_faq_section,
.main_faq_card,
.main_sd_list,
.widget-amina-outlogin,
.na-row > .na-col.card,
.main_explain_title_wrap,
.mt-lbar,
.mt-findbar,
#bo_search > .alert {
	border: 1px solid var(--mt-line-soft, #e9edf3) !important;
	border-radius: 10px !important;
	box-shadow: none !important;   /* 그림자 없앰 — 테두리만으로 나눈다 */
	background-color: var(--mt-surface, #fff) !important;
}
/* 본문 카드도 사이드 상자와 같은 규격으로.
   .na-col.card 는 부트스트랩 .card 라 기본 모서리(.25rem)와 테두리 색이
   따로 붙는다. 위 목록에 이미 들어 있지만, 부트스트랩 .shadow 유틸리티가
   덧붙는 경우가 있어 여기서 한 번 더 눌러 둔다. */
.na-row > .na-col.card,
.na-row > .na-col.card.shadow { box-shadow: none !important; }
/* FAQ 카드 hover — 그림자 대신 테두리 색만 바꾼다 */
.main_faq_card:hover {
	box-shadow: none !important;
	border-color: var(--mt-blue-300, #66afff) !important;
}

/* ── 사이드 위젯 머리 ──
   15px 검정 + <hr> 한 줄이라 옛날 게시판 느낌이 났다.
   글자를 조금 키워 굵게 하고, 구분선은 옅게 낮춘다. */
.main_sd_list > h3.h3 {
	margin-bottom: .55rem !important;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -.035em;
	color: var(--mt-text, #1f2937);
}
.main_sd_list > h3.h3 a { color: inherit; }
/* hr.hr 은 테마가 공들여 만든 요소다 — 높이 3px 에 ::before 로 전폭 얇은 선,
   ::after 로 왼쪽 4rem 파란 막대를 그린다. 내가 위에 border 를 덧그리면
   선이 두 겹이 된다. 손대지 않고 여백만 정리한다. */
.main_sd_list > hr.hr { margin: 0 0 .1rem !important; }
/* '+' 더보기 표시를 옅은 회색 동그라미로 */
.main_sd_list .more-plus {
	color: var(--mt-text-mute, #94a3b8);
	font-weight: 400;
}

:root[data-theme="dark"] .main_banner_title,
:root[data-theme="dark"] .cnt_r .top_nav .nav li,
:root[data-theme="dark"] .show_box .main_line_1,
:root[data-theme="dark"] .show_box .main_line_2,
:root[data-theme="dark"] .show_box .main_line_3,
:root[data-theme="dark"] .main_faq_section,
:root[data-theme="dark"] .main_faq_card,
:root[data-theme="dark"] .main_sd_list,
:root[data-theme="dark"] .widget-amina-outlogin,
:root[data-theme="dark"] .na-row > .na-col.card,
:root[data-theme="dark"] .main_explain_title_wrap,
:root[data-theme="dark"] .mt-lbar,
:root[data-theme="dark"] .mt-findbar,
:root[data-theme="dark"] #bo_search > .alert {
	border-color: var(--mt-line) !important;
	background-color: var(--mt-surface) !important;
	box-shadow: none !important;
}
:root[data-theme="dark"] .main_sd_list > h3.h3 { color: var(--mt-text) !important; }


/* ══════════════════════════════════════════════════════════════════════════
   메인 구역 제목 통일                                            2026-08-18
   ────────────────────────────────────────────────────────────────────────
   손대기 전에는 제목마다 크기·여백이 다 달랐다(캡처로 확인).
       배너      24px (모바일 22)  ·  아래여백 28px  ·  height:30px 고정
       운영 이유  20px             ·  아래여백 28px  ·  height:30px 고정
       메인 확인  20px             ·  아래여백 36px  ·  height:30px 고정
       FAQ       28px             ·  가운데
       이용 안내  22px 검정 왼쪽    ·  ← 내가 만든 것, 혼자 다름
   크기가 20/22/24/28 로 네 가지, 아래여백이 28/36 두 가지였다.

   ★ 가운데 정렬로 통일하는 이유
     메인의 구역 제목은 원래 다 가운데였고, 그 아래 내용도 4칸·2칸 격자라
     가운데 축에 맞춰져 있다. 제목만 왼쪽으로 빼면 축이 어긋난다.
     (게시판 머리는 목록이 왼쪽 정렬이라 거기는 왼쪽이 맞다 — 역할이 다르다)

   ★ height:30px 를 푸는 이유
     제목이 두 줄이 되면 아래가 잘린다. 내용만큼 늘어나게 둔다.
   ══════════════════════════════════════════════════════════════════════════ */
.main_banner_title > h2,
.show_box .main_line_2 > h3,
.show_box .main_line_3 > h3,
.main_faq_head > h2,
.nt-container:not(.my-3) .main_explain_title > h2,
.nt-container:not(.my-3) .main_explain_title > h3 {
	height: auto !important;
	margin: 0 !important;
	font-size: 20px !important;   /* f-xl */
	font-weight: 800 !important;
	letter-spacing: -.04em !important;
	line-height: 1.4 !important;
	color: var(--mt-blue-600, #007bff) !important;
	text-align: center !important;
	word-break: keep-all;
}
/* ★ 제목 밑줄(리본)은 뺐다.                                 2026-08-18
   메인은 구역마다 색 리본·밑줄이 겹쳐 시끄러웠다. 제목은 크기·굵기·색만으로
   충분히 구분되고, 상자 테두리가 이미 구역을 나눠 준다.
   (게시판 머리 #nt_title_flex 의 밑줄은 그대로 둔다 — 거기는 상자가 없어
    제목과 목록을 나눌 표식이 필요하다) */

/* 제목 묶음 아래 여백도 하나로 */
.main_banner_title > h2,
.show_box .main_line_2 > h3,
.show_box .main_line_3 > h3,
.main_faq_head > h2 { margin-bottom: 1.5rem !important; }

@media (max-width: 575px) {
	.main_banner_title > h2,
	.show_box .main_line_2 > h3,
	.show_box .main_line_3 > h3,
	.main_faq_head > h2,
	.nt-container:not(.my-3) .main_explain_title > h2,
	.nt-container:not(.my-3) .main_explain_title > h3 { font-size: 18px !important; }
	.main_banner_title > h2,
	.show_box .main_line_2 > h3,
	.show_box .main_line_3 > h3,
	.main_faq_head > h2 { margin-bottom: 1.15rem !important; }
}

:root[data-theme="dark"] .main_banner_title > h2,
:root[data-theme="dark"] .show_box .main_line_2 > h3,
:root[data-theme="dark"] .show_box .main_line_3 > h3,
:root[data-theme="dark"] .main_faq_head > h2,
:root[data-theme="dark"] .nt-container:not(.my-3) .main_explain_title > h2 { color: var(--mt-primary) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   안내 블록 (.main_explain_*) — 메인·게시판 하단 공통            2026-08-18
   ────────────────────────────────────────────────────────────────────────
   ★ 범위                                                    2026-08-18 확장
     처음에는 메인에만 걸었다(.nt-container:not(.my-3)). 게시판 하단에도
     같은 구조가 들어가는데 그쪽을 나중에 보기로 했기 때문이다.
     확인이 끝나 이제 두 곳 모두에 적용한다 — 선택자에서 그 조건만 뺐다.

   ★ HTML 은 한 줄도 안 고쳤다
     제목·문단·번호목록·색 리본이 다 제자리에 있고, 리본 색
     (style="background:#007bff")도 글쓴이가 고른 값이라 그대로 쓴다.

   ★ 실제 화면을 보고 잡은 것 (chromium 으로 캡처해 확인)
     ① 제목이 가운데 정렬인데 내가 넣은 밑줄은 왼쪽에 붙어 서로 어긋나 있었다.
        원인은 .main_explain_title_wrap 의 text-align:center 가 아래로 흘러
        내려온 것. 감싸개부터 왼쪽으로 돌려야 제목·밑줄·표제가 한 축에 선다.
     ② 색 리본이 화면 한가운데 떠 있었다. 같은 이유다.
   ══════════════════════════════════════════════════════════════════════════ */
.main_explain_title_wrap {
	text-align: left;          /* ★ 이게 없으면 아래가 전부 가운데로 쏠린다 */
	border-color: var(--mt-line-soft, #e9edf3);
	border-radius: 10px;
	background: var(--mt-surface, #fff);
	padding: 1.5rem 1.4rem 1.6rem;
}

/* ── 큰 제목 ── */
.main_explain_title {
	margin-top: 0 !important;
	text-align: center;   /* 위 통일 규격에 맞춘다 */
	margin-bottom: 1.5rem;
}
.main_explain_title h2,
.main_explain_title h3 {
	display: block;
	text-align: left;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: 1.35;
	color: var(--mt-text, #1f2937);
	word-break: keep-all;
}
/* 밑줄은 위 통일 규격(h2::after)이 그린다 — 여기서 또 그리면 두 줄이 된다 */

/* ── 구역 ──
   첫 구역(머리말)은 카드 없이 그냥 글, 그 다음부터 각각 카드로 나눈다. */
.main_explain_con_wrap { margin-bottom: 0; }
.main_explain_con_div { padding-top: 1.2rem; }
.main_explain_con_wrap .main_explain_con_div:first-child { padding-top: 1.1rem; }
.main_explain_con_wrap .main_explain_con_div:not(:first-child) {
	margin-top: 1.2rem;
	padding: 1.1rem 1.15rem 1.2rem;
	border: 1px solid var(--mt-line-soft, #e9edf3);
	border-radius: 10px;
	background: var(--mt-surface-2, #f8fafc);
}

/* ── 색 표제 → 작은 알약 ──
   폭 전체를 덮던 깃발(border-radius:0 30px 30px 0)을 내용만큼만 차지하는
   알약으로 바꾼다. 배경색은 인라인 style 이라 그대로 살아 있다. */
.main_explain_con_title {
	display: inline-block;
	margin: 0 0 .2rem;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 14px;   /* f-sm */
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1.45;
}

/* ── 본문 ── */
.main_explain_con { padding: 0; }
.main_explain_con > div {
	margin-top: .9rem;
	font-size: 15px;   /* f-de */
	line-height: 1.78;
	letter-spacing: -.025em;
	color: var(--mt-text-sub, #334155);
	word-break: keep-all;
}
.main_explain_con > div:first-child { margin-top: .75rem; }

/* ── 번호 목록 ── */
.main_explain_con > div ul li {
	align-items: flex-start;
	gap: 10px;
	margin-top: .6rem;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: -.025em;
}
.main_explain_con > div ul li > span[class^="main_explain_con_num_icon"] {
	margin-top: 2px;      /* 첫 줄 글자 높이에 맞춘다 */
	font-size: 12px;      /* f-xs */
	font-weight: 700;
	line-height: 24px;
	letter-spacing: 0;
	flex: 0 0 24px;
}

/* ── 맺음 문장 — 옅은 파란 쪽지 ── */
.main_explain_con .main_explain_con_inner_end {
	margin-top: 1rem;
	padding: .8rem .95rem;
	border-left: 3px solid var(--mt-blue-600, #007bff);
	border-radius: 0 6px 6px 0;
	background: var(--mt-blue-50, #e8f2ff);
	font-size: 14px;   /* f-sm */
	line-height: 1.7;
	color: var(--mt-text-sub, #334155);
}
.main_explain_con a { color: var(--mt-blue-600, #007bff); font-weight: 600; }

@media (max-width: 575px) {
	.main_explain_title_wrap { padding: 1.2rem 1rem 1.25rem; }
	.main_explain_title h2,
	.main_explain_title h3 { font-size: 19px; }
	.main_explain_con_wrap .main_explain_con_div:not(:first-child) { padding: 1rem .9rem 1.05rem; }
	.main_explain_con_title { font-size: 13px; padding: 5px 12px; }
	.main_explain_con > div,
	.main_explain_con > div ul li { font-size: 14px; line-height: 1.72; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .main_explain_title_wrap {
	background: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .main_explain_con_wrap .main_explain_con_div:not(:first-child) {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .main_explain_title h2,
:root[data-theme="dark"] .main_explain_title h3 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .main_explain_title::after {
	background: linear-gradient(90deg, var(--mt-primary), rgba(96,165,250,.35));
}
:root[data-theme="dark"] .main_explain_con > div,
:root[data-theme="dark"] .main_explain_con > div ul li { color: var(--mt-text-sub) !important; }
:root[data-theme="dark"] .main_explain_con .main_explain_con_inner_end {
	background: rgba(96,165,250,.10) !important;
	border-left-color: var(--mt-primary) !important;
	color: var(--mt-text-sub) !important;
}
:root[data-theme="dark"] .main_explain_con a { color: var(--mt-primary) !important; }

/* ── 안내 상자(메인 '이용 안내' · 게시판 하단 설명) ──        2026-08-17
   이 상자만 다크모드에서 밝게 남았다. CSS 를 뒤져도 흰 배경을 칠하는
   규칙이 없었다 — theme.css·nariya.css·Blue.css·bootstrap 전부 훑었는데
   .main_explain_title_wrap 에는 테두리(#dcdfe5)만 있고 배경이 없다.
   즉 배경을 '지정하지 않아' 부모가 비쳐 보이는 자리인데, 그 부모가
   어디선가 밝게 남는 것이다. 원인을 더 캐는 것보다 이 상자를 **명시적인
   어두운 카드**로 만드는 편이 확실하고, 나머지 카드(.main_sd_list 등)와
   생김새도 맞는다. 그래서 배경·테두리·글자색을 직접 지정한다.

   ★ 건드리지 않는 것
     .main_explain_con_title (파란·초록 등 글쓴이가 고른 색 머리띠)
     .main_explain_con_num_icon (01·02 번호 원)
     둘 다 유채색 배경 위에 흰 글자라 이미 잘 보이고, 색을 바꾸면
     글쓴이가 의도한 구분이 사라진다. */
:root[data-theme="dark"] .main_explain_title_wrap {
	background-color: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .main_explain_con_wrap,
:root[data-theme="dark"] .main_explain_con_div,
:root[data-theme="dark"] .main_explain_con {
	background-color: transparent !important;   /* 카드는 위에서 한 번만 칠한다 */
}
:root[data-theme="dark"] .main_explain_title,
:root[data-theme="dark"] .main_explain_title h2,
:root[data-theme="dark"] .main_explain_title h3,
:root[data-theme="dark"] .main_explain_title h4 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .main_explain_con,
:root[data-theme="dark"] .main_explain_con > div,
:root[data-theme="dark"] .main_explain_con > div ul li,
:root[data-theme="dark"] .main_explain_con > div ul li > span:not([class]) { color: var(--mt-text-sub) !important; }
:root[data-theme="dark"] .main_explain_con a { color: var(--mt-primary) !important; }

/* ── 배경: 흰·연한 틴트 계열만 ── */
:root[data-theme="dark"] #bo_v [style^="background:#fff"],
:root[data-theme="dark"] #bo_v [style*=";background:#fff"],
:root[data-theme="dark"] .view_content [style^="background:#fff"],
:root[data-theme="dark"] .view_content [style*=";background:#fff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#fff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#fff"] {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#ffffff"],
:root[data-theme="dark"] #bo_v [style*=";background:#ffffff"],
:root[data-theme="dark"] .view_content [style^="background:#ffffff"],
:root[data-theme="dark"] .view_content [style*=";background:#ffffff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#ffffff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#ffffff"] {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#fbfcfe"],
:root[data-theme="dark"] #bo_v [style*=";background:#fbfcfe"],
:root[data-theme="dark"] .view_content [style^="background:#fbfcfe"],
:root[data-theme="dark"] .view_content [style*=";background:#fbfcfe"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#fbfcfe"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#fbfcfe"] {
	background-color: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#fafafa"],
:root[data-theme="dark"] #bo_v [style*=";background:#fafafa"],
:root[data-theme="dark"] .view_content [style^="background:#fafafa"],
:root[data-theme="dark"] .view_content [style*=";background:#fafafa"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#fafafa"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#fafafa"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f9f9f9"],
:root[data-theme="dark"] #bo_v [style*=";background:#f9f9f9"],
:root[data-theme="dark"] .view_content [style^="background:#f9f9f9"],
:root[data-theme="dark"] .view_content [style*=";background:#f9f9f9"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f9f9f9"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f9f9f9"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f8f9fa"],
:root[data-theme="dark"] #bo_v [style*=";background:#f8f9fa"],
:root[data-theme="dark"] .view_content [style^="background:#f8f9fa"],
:root[data-theme="dark"] .view_content [style*=";background:#f8f9fa"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f8f9fa"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f8f9fa"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f2f2f2"],
:root[data-theme="dark"] #bo_v [style*=";background:#f2f2f2"],
:root[data-theme="dark"] .view_content [style^="background:#f2f2f2"],
:root[data-theme="dark"] .view_content [style*=";background:#f2f2f2"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f2f2f2"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f2f2f2"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f1f1f1"],
:root[data-theme="dark"] #bo_v [style*=";background:#f1f1f1"],
:root[data-theme="dark"] .view_content [style^="background:#f1f1f1"],
:root[data-theme="dark"] .view_content [style*=";background:#f1f1f1"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f1f1f1"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f1f1f1"] {
	background-color: var(--mt-surface-2) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#eef5ff"],
:root[data-theme="dark"] #bo_v [style*=";background:#eef5ff"],
:root[data-theme="dark"] .view_content [style^="background:#eef5ff"],
:root[data-theme="dark"] .view_content [style*=";background:#eef5ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#eef5ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#eef5ff"] {
	background-color: rgba(96,165,250,.10) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f4f7fb"],
:root[data-theme="dark"] #bo_v [style*=";background:#f4f7fb"],
:root[data-theme="dark"] .view_content [style^="background:#f4f7fb"],
:root[data-theme="dark"] .view_content [style*=";background:#f4f7fb"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f4f7fb"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f4f7fb"] {
	background-color: rgba(96,165,250,.10) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f9fbff"],
:root[data-theme="dark"] #bo_v [style*=";background:#f9fbff"],
:root[data-theme="dark"] .view_content [style^="background:#f9fbff"],
:root[data-theme="dark"] .view_content [style*=";background:#f9fbff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f9fbff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f9fbff"] {
	background-color: rgba(96,165,250,.10) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f8fbff"],
:root[data-theme="dark"] #bo_v [style*=";background:#f8fbff"],
:root[data-theme="dark"] .view_content [style^="background:#f8fbff"],
:root[data-theme="dark"] .view_content [style*=";background:#f8fbff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f8fbff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f8fbff"] {
	background-color: rgba(96,165,250,.10) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f3f8ff"],
:root[data-theme="dark"] #bo_v [style*=";background:#f3f8ff"],
:root[data-theme="dark"] .view_content [style^="background:#f3f8ff"],
:root[data-theme="dark"] .view_content [style*=";background:#f3f8ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f3f8ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f3f8ff"] {
	background-color: rgba(96,165,250,.10) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#fff5f5"],
:root[data-theme="dark"] #bo_v [style*=";background:#fff5f5"],
:root[data-theme="dark"] .view_content [style^="background:#fff5f5"],
:root[data-theme="dark"] .view_content [style*=";background:#fff5f5"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#fff5f5"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#fff5f5"] {
	background-color: rgba(255,138,148,.10) !important;
}
:root[data-theme="dark"] #bo_v [style^="background:#f6fbf6"],
:root[data-theme="dark"] #bo_v [style*=";background:#f6fbf6"],
:root[data-theme="dark"] .view_content [style^="background:#f6fbf6"],
:root[data-theme="dark"] .view_content [style*=";background:#f6fbf6"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="background:#f6fbf6"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";background:#f6fbf6"] {
	background-color: rgba(80,200,120,.10) !important;
}

/* ── 글자: 어두운 계열과 대비 부족한 색만. color:#fff 는 유채색 배경 위라 제외 ── */
:root[data-theme="dark"] #bo_v [style^="color:#111"],
:root[data-theme="dark"] #bo_v [style*=";color:#111"],
:root[data-theme="dark"] .view_content [style^="color:#111"],
:root[data-theme="dark"] .view_content [style*=";color:#111"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#111"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#111"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#222"],
:root[data-theme="dark"] #bo_v [style*=";color:#222"],
:root[data-theme="dark"] .view_content [style^="color:#222"],
:root[data-theme="dark"] .view_content [style*=";color:#222"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#222"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#222"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#333"],
:root[data-theme="dark"] #bo_v [style*=";color:#333"],
:root[data-theme="dark"] .view_content [style^="color:#333"],
:root[data-theme="dark"] .view_content [style*=";color:#333"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#333"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#333"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#111827"],
:root[data-theme="dark"] #bo_v [style*=";color:#111827"],
:root[data-theme="dark"] .view_content [style^="color:#111827"],
:root[data-theme="dark"] .view_content [style*=";color:#111827"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#111827"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#111827"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#0f172a"],
:root[data-theme="dark"] #bo_v [style*=";color:#0f172a"],
:root[data-theme="dark"] .view_content [style^="color:#0f172a"],
:root[data-theme="dark"] .view_content [style*=";color:#0f172a"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#0f172a"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#0f172a"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#1f2328"],
:root[data-theme="dark"] #bo_v [style*=";color:#1f2328"],
:root[data-theme="dark"] .view_content [style^="color:#1f2328"],
:root[data-theme="dark"] .view_content [style*=";color:#1f2328"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#1f2328"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#1f2328"] {
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#444"],
:root[data-theme="dark"] #bo_v [style*=";color:#444"],
:root[data-theme="dark"] .view_content [style^="color:#444"],
:root[data-theme="dark"] .view_content [style*=";color:#444"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#444"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#444"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#555"],
:root[data-theme="dark"] #bo_v [style*=";color:#555"],
:root[data-theme="dark"] .view_content [style^="color:#555"],
:root[data-theme="dark"] .view_content [style*=";color:#555"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#555"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#555"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#666"],
:root[data-theme="dark"] #bo_v [style*=";color:#666"],
:root[data-theme="dark"] .view_content [style^="color:#666"],
:root[data-theme="dark"] .view_content [style*=";color:#666"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#666"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#666"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#374151"],
:root[data-theme="dark"] #bo_v [style*=";color:#374151"],
:root[data-theme="dark"] .view_content [style^="color:#374151"],
:root[data-theme="dark"] .view_content [style*=";color:#374151"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#374151"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#374151"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#4b5563"],
:root[data-theme="dark"] #bo_v [style*=";color:#4b5563"],
:root[data-theme="dark"] .view_content [style^="color:#4b5563"],
:root[data-theme="dark"] .view_content [style*=";color:#4b5563"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#4b5563"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#4b5563"] {
	color: var(--mt-text-dim) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#777"],
:root[data-theme="dark"] #bo_v [style*=";color:#777"],
:root[data-theme="dark"] .view_content [style^="color:#777"],
:root[data-theme="dark"] .view_content [style*=";color:#777"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#777"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#777"] {
	color: var(--mt-text-mute) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#007bff"],
:root[data-theme="dark"] #bo_v [style*=";color:#007bff"],
:root[data-theme="dark"] .view_content [style^="color:#007bff"],
:root[data-theme="dark"] .view_content [style*=";color:#007bff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#007bff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#007bff"] {
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#0b62d6"],
:root[data-theme="dark"] #bo_v [style*=";color:#0b62d6"],
:root[data-theme="dark"] .view_content [style^="color:#0b62d6"],
:root[data-theme="dark"] .view_content [style*=";color:#0b62d6"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#0b62d6"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#0b62d6"] {
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#0073e6"],
:root[data-theme="dark"] #bo_v [style*=";color:#0073e6"],
:root[data-theme="dark"] .view_content [style^="color:#0073e6"],
:root[data-theme="dark"] .view_content [style*=";color:#0073e6"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#0073e6"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#0073e6"] {
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#1e40af"],
:root[data-theme="dark"] #bo_v [style*=";color:#1e40af"],
:root[data-theme="dark"] .view_content [style^="color:#1e40af"],
:root[data-theme="dark"] .view_content [style*=";color:#1e40af"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#1e40af"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#1e40af"] {
	color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#dc3545"],
:root[data-theme="dark"] #bo_v [style*=";color:#dc3545"],
:root[data-theme="dark"] .view_content [style^="color:#dc3545"],
:root[data-theme="dark"] .view_content [style*=";color:#dc3545"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#dc3545"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#dc3545"] {
	color: #FF8A94 !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#db3232"],
:root[data-theme="dark"] #bo_v [style*=";color:#db3232"],
:root[data-theme="dark"] .view_content [style^="color:#db3232"],
:root[data-theme="dark"] .view_content [style*=";color:#db3232"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#db3232"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#db3232"] {
	color: #FF8A94 !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#e33030"],
:root[data-theme="dark"] #bo_v [style*=";color:#e33030"],
:root[data-theme="dark"] .view_content [style^="color:#e33030"],
:root[data-theme="dark"] .view_content [style*=";color:#e33030"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#e33030"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#e33030"] {
	color: #FF8A94 !important;
}
:root[data-theme="dark"] #bo_v [style^="color:#c00"],
:root[data-theme="dark"] #bo_v [style*=";color:#c00"],
:root[data-theme="dark"] .view_content [style^="color:#c00"],
:root[data-theme="dark"] .view_content [style*=";color:#c00"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="color:#c00"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";color:#c00"] {
	color: #FF8A94 !important;
}

/* ── 테두리 ── */
:root[data-theme="dark"] #bo_v [style^="border:1px solid #ddd"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #ddd"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #ddd"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #ddd"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #ddd"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #ddd"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #e5e8ee"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #e5e8ee"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #e5e8ee"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #e5e8ee"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #e5e8ee"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #dcdfe5"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #dcdfe5"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #dcdfe5"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #dcdfe5"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #dcdfe5"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #ccc"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #ccc"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #ccc"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #ccc"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #ccc"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #ccc"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #e7f0ff"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #e7f0ff"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #e7f0ff"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #e7f0ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #e7f0ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #e7f0ff"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #e8eef5"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #e8eef5"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #e8eef5"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #e8eef5"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #e8eef5"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #e8eef5"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #eee"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #eee"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #eee"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #eee"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #eee"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #eee"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #d9eaff"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #d9eaff"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #d9eaff"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #d9eaff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #d9eaff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #d9eaff"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #cce4ff"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #cce4ff"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #cce4ff"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #cce4ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #cce4ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #cce4ff"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #d7e8ff"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #d7e8ff"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #d7e8ff"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #d7e8ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #d7e8ff"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #d7e8ff"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #dee2e6"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #dee2e6"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #dee2e6"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #dee2e6"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #dee2e6"] {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border-top:1px solid #e3ecfa"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border-top:1px solid #e3ecfa"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border-top:1px solid #e5e5e5"],
:root[data-theme="dark"] #bo_v [style*=";border-top:1px solid #e5e5e5"],
:root[data-theme="dark"] .view_content [style^="border-top:1px solid #e5e5e5"],
:root[data-theme="dark"] .view_content [style*=";border-top:1px solid #e5e5e5"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border-top:1px solid #e5e5e5"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border-top:1px solid #e5e5e5"] {
	border-top-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #f5c6cb"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #f5c6cb"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #f5c6cb"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #f5c6cb"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #f5c6cb"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #f5c6cb"] {
	border-color: rgba(255,138,148,.35) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #f3b4b4"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #f3b4b4"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #f3b4b4"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #f3b4b4"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #f3b4b4"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #f3b4b4"] {
	border-color: rgba(255,138,148,.35) !important;
}
:root[data-theme="dark"] #bo_v [style^="border:1px solid #cfe6cf"],
:root[data-theme="dark"] #bo_v [style*=";border:1px solid #cfe6cf"],
:root[data-theme="dark"] .view_content [style^="border:1px solid #cfe6cf"],
:root[data-theme="dark"] .view_content [style*=";border:1px solid #cfe6cf"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px solid #cfe6cf"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px solid #cfe6cf"] {
	border-color: rgba(80,200,120,.35) !important;
}

/* 강조 세로선(border-left) 은 브랜드색이라 색은 두되 어두운 면에서 잘 보이게만 */
:root[data-theme="dark"] #bo_v [style*="border-left:6px solid #007bff"],
:root[data-theme="dark"] #bo_v [style*="border-left:5px solid #007bff"],
:root[data-theme="dark"] #bo_v [style*="border-left:4px solid #1e40af"] {
	border-left-color: var(--mt-primary) !important;
}
/* 표 전반 — 인라인이 없는 칸까지 */
:root[data-theme="dark"] #bo_v table { background-color: transparent !important; }
:root[data-theme="dark"] #bo_v thead th { background-color: var(--mt-surface-2) !important; color: var(--mt-text) !important; }
:root[data-theme="dark"] #bo_v td, :root[data-theme="dark"] #bo_v th { color: var(--mt-text) !important; }/* dashed 변형 하나가 남아 있었다 — 선 종류만 다르고 색은 같다 */
:root[data-theme="dark"] #bo_v [style^="border:1px dashed #ccc"],
:root[data-theme="dark"] #bo_v [style*=";border:1px dashed #ccc"],
:root[data-theme="dark"] .view_content [style^="border:1px dashed #ccc"],
:root[data-theme="dark"] .view_content [style*=";border:1px dashed #ccc"],
:root[data-theme="dark"] .main_explain_title_wrap [style^="border:1px dashed #ccc"],
:root[data-theme="dark"] .main_explain_title_wrap [style*=";border:1px dashed #ccc"] {
	border-color: var(--mt-line) !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   35. 먹튀사이트 게시판 — 도메인 등록정보(후이즈) 블록      2026-08-16
   ────────────────────────────────────────────────────────────────────────
   글 상세의 사이트 정보표 아래에 붙는다. <details> 라 접고 펼 수 있고,
   등록정보가 있으면 펼친 채로, 없으면(만료·삭제 도메인) 접힌 채로 시작한다.
   값은 DB 캐시에서만 오고 화면에서 외부 조회는 하지 않는다.
   ══════════════════════════════════════════════════════════════════════════ */
.mt-whois-box {
	margin: 0 0 1.25rem;
	border: 1px solid var(--mt-line, #e6e9ef);
	border-radius: var(--mt-r-md, 8px);
	background: var(--mt-surface, #fff);
	overflow: hidden;
}
.mt-whois-box > summary {
	position: relative;          /* 화살표를 흐름에서 빼기 위한 기준 */
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 12px 40px 12px 14px;   /* 오른쪽은 화살표 자리 */
	cursor: pointer;
	font-size: 14px;   /* f-sm */
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--mt-text, #1f2937);
	background: var(--mt-blue-50, #e8f2ff);
	list-style: none;
}
.mt-whois-box > summary::-webkit-details-marker { display: none; }
/* 접힘/펼침 표시를 직접 그린다 — 기본 삼각형은 브라우저마다 모양이 달라 */
/* 화살표는 absolute 로 오른쪽에 고정한다.
   전에는 margin-left:auto 로 흐름 안에 있었는데, 폭이 좁아 제목·도메인이
   줄바꿈되면(모바일에서는 도메인을 일부러 전폭으로 내린다) 화살표까지
   그 다음 줄로 밀려 내려갔다. 흐름에서 빼면 몇 줄이 되든 자리를 지킨다. */
.mt-whois-box > summary::after {
	content: '\f107';               /* fa-angle-down */
	font-family: FontAwesome;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	line-height: 1;
	color: var(--mt-text-dim, #6b7280);
	transition: transform .18s ease;
}
.mt-whois-box[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
.mt-whois-box > summary .fa-info-circle { color: var(--mt-blue-600, #007bff); }
.mt-whois-dom {
	font-weight: 500;
	font-size: 12px;   /* f-xs */
	color: var(--mt-text-dim, #6b7280);
	word-break: break-all;
}
.mt-whois-body { padding: 12px 14px 14px; }

/* ── 등록정보 표 ── */
table.mt-whois { width: 100%; border-collapse: collapse; font-size: 14px; /* f-sm */ }
table.mt-whois th,
table.mt-whois td {
	padding: 9px 10px;
	border-bottom: 1px solid var(--mt-line-soft, #f0f2f6);
	text-align: left;
	vertical-align: top;
	line-height: 1.55;
}
table.mt-whois th {
	width: 108px;
	white-space: nowrap;
	font-weight: 600;
	color: var(--mt-text-dim, #6b7280);
	background: transparent;
}
table.mt-whois td { color: var(--mt-text, #1f2937); word-break: break-all; }
table.mt-whois tr:last-child th,
table.mt-whois tr:last-child td { border-bottom: 0; }
.mt-whois-em {
	margin-left: 6px;
	font-style: normal;
	font-size: 12px;   /* f-xs */
	font-weight: 700;
	color: #d9480f;
}
.mt-whois-note {
	padding-top: 10px !important;
	font-size: 12px;   /* f-xs */
	color: var(--mt-text-mute, #9aa3af);
}

/* ── 등록 기록이 없을 때 ── */
.mt-whois-none {
	margin: 0;
	padding: 14px;
	border-radius: 6px;
	background: var(--mt-surface-2, #f8f9fa);
	font-size: 14px;   /* f-sm */
	line-height: 1.7;
	color: var(--mt-text, #1f2937);
}
.mt-whois-none b { color: #d9480f; }
.mt-whois-none span { display: block; margin-top: 4px; font-size: 12px; color: var(--mt-text-dim, #6b7280); }

/* ── 재등록 경고 ──
   글은 2024년인데 도메인 등록일이 그 뒤인 경우. 먹튀 후 도메인이 만료돼
   제3자가 주워 간 것이라, 지금 등록기관을 당시 운영자로 오해하면 안 된다. */
.mt-whois-warn {
	margin: 0 0 12px;
	padding: 11px 13px;
	border-radius: 6px;
	border: 1px solid #ffd8a8;
	background: #fff8f0;
	font-size: 14px;   /* f-sm */
	line-height: 1.65;
	color: #8a4b08;
}
.mt-whois-warn .fa { margin-right: 5px; }
.mt-whois-warn b { color: #a8410a; }

@media (max-width: 575px) {
	.mt-whois-box > summary { flex-wrap: wrap; font-size: 14px; padding: 11px 38px 11px 12px; }
	.mt-whois-box > summary::after { right: 12px; }
	.mt-whois-dom { flex: 1 0 100%; margin-top: 2px; }
	.mt-whois-body { padding: 10px 12px 12px; }
	table.mt-whois th { width: 84px; font-size: 12px; }
	table.mt-whois td { font-size: 14px; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .mt-whois-box { background: var(--mt-surface); border-color: var(--mt-line); }
:root[data-theme="dark"] .mt-whois-box > summary { background: rgba(96,165,250,.10); color: var(--mt-text); }
:root[data-theme="dark"] table.mt-whois th { color: var(--mt-text-dim); }
:root[data-theme="dark"] table.mt-whois td { color: var(--mt-text); }
:root[data-theme="dark"] table.mt-whois th,
:root[data-theme="dark"] table.mt-whois td { border-bottom-color: var(--mt-line); }
:root[data-theme="dark"] .mt-whois-none { background: var(--mt-surface-2); color: var(--mt-text); }
:root[data-theme="dark"] .mt-whois-none b { color: #FF9A6B; }
:root[data-theme="dark"] .mt-whois-em { color: #FF9A6B; }
:root[data-theme="dark"] .mt-whois-warn {
	background: rgba(255,154,107,.10);
	border-color: rgba(255,154,107,.35);
	color: #FFC9A3;
}
:root[data-theme="dark"] .mt-whois-warn b { color: #FFB380; }


/* ══════════════════════════════════════════════════════════════════════════
   36. 먹튀사이트 글 상세 — 요약 카드 재구성                 2026-08-16
   ────────────────────────────────────────────────────────────────────────
   전 구조(skin/board/BS4-mtsite/style.css):
       .bo_safety_info_img_wrap  { float:left; width:330px; height:221.94px }
       .bo_safety_info_tbl_wrap  { float:left; width:calc(100% - 345px) }
   float + 픽셀 고정이라 (1) 태블릿에서 표가 이미지 아래로 흘러내리고
   (2) 이미지·정보표·도메인정보가 각각 떠 있어 "요약" 으로 안 읽혔다.
   grid 로 묶고 한 장의 카드로 만든다. 폭이 좁아지면 자동으로 세로로 쌓인다.
   원본 스킨 CSS 는 건드리지 않고 여기서 덮는다(스킨 업데이트로 날아가지 않게).
   ══════════════════════════════════════════════════════════════════════════ */

/* ★ 여기 있던 `#bo_v .bo_safety_top_con_wrap { margin:0; padding:0 }` 는 지웠다.
   먹튀사이트 상세를 .mt-sum 으로 갈아끼우면서 옛 래퍼를 무력화하려고 넣었는데,
   #bo_v 는 모든 게시판 상세에 붙는 id 라 먹튀신고(/mt)·먹튀검증까지 걸렸다.
   그 게시판들은 아직 이 래퍼를 쓰고 margin:10px 0 40px 으로 본문과 간격을 두는데,
   그게 0 이 되어 여분필드표와 "상세 내용" 이 딱 붙어 버렸다.
   먹튀사이트는 이제 이 래퍼 자체를 안 쓰므로 규칙이 필요 없다. */

/* 카드는 .main_sd_list 를 그대로 쓴다(사이드바 위젯과 같은 테두리·반경).
   여기서는 위아래 여백과 안쪽 패딩만 본문 폭에 맞게 조정한다.
   제목은 h3.h3.f-lg.en + hr.hr — 사이트 전역 패턴이라 따로 칠하지 않는다. */
.mt-sum.main_sd_list {
	margin: 0 0 1.5rem;
	padding: .85rem 1rem 1rem !important;
}
.mt-sum > h3.h3 { margin-bottom: .1rem; }
.mt-sum > hr.hr { margin-bottom: 1rem !important; }
.mt-sum__grid {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	gap: 1rem;
	/* start 로 두면 두 칸이 각자 제 높이를 쓴다.
	   이미지는 16:9 라 340px 폭에서 약 191px, 표는 4줄이면 156px —
	   35px 쯤 어긋나 보였다. 게다가 여분필드가 비면 줄 수가 달라져
	   고정 높이로는 맞출 수 없다. 서로 늘어나게 해서 자동으로 맞춘다. */
	align-items: stretch;
}
.mt-sum__shot,
.mt-sum__info { display: flex; flex-direction: column; min-width: 0; }
.mt-sum__h {
	margin-bottom: .5rem;
	font-size: 12px;   /* f-xs */
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--mt-text-dim, #6b7280);
}
/* 이미지 — 비율만 잡고 높이는 내용에 맡긴다(예전 221.94px 고정이 문제였다) */
.mt-sum__shot-b {
	/* 표가 더 길면 이 칸이 늘어난다. 그때 이미지를 늘리면 증거 사진이
	   찌그러지므로, 상자만 늘리고 이미지는 가운데에 원래 비율로 둔다. */
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	border-radius: 8px;
	overflow: hidden;
	background: var(--mt-surface-2, #f5f7fa);
	box-shadow: 0 3px 10px rgba(50,60,70,.14);
}
.mt-sum__shot-b > * { width: 100%; }
.mt-sum__shot-b #bo_v_img { margin: 0; }
.mt-sum__shot-b #bo_v_img img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 !important;
	border-radius: 8px !important;
}

/* 정보표 */
/* 이미지가 더 길면 표가 늘어난다. table 에 height 를 주면 각 줄이
   남는 높이를 나눠 가져서 자연스럽게 이미지와 아래끝이 맞는다. */
.mt-sum__tbl { width: 100%; height: 100%; border-collapse: collapse; font-size: 14px; /* f-sm — 먹튀신고·먹튀검증 목록과 같은 크기 */ }
.mt-sum__tbl th,
.mt-sum__tbl td {
	padding: .62rem .7rem;
	border-bottom: 1px solid var(--mt-line-soft, #f0f2f6);
	text-align: left;
	vertical-align: middle;
	line-height: 1.55;
}
.mt-sum__tbl th {
	width: 106px;
	white-space: nowrap;
	font-weight: 600;
	color: var(--mt-text-dim, #6b7280);
	background: transparent;
}
.mt-sum__tbl td { color: var(--mt-text, #1f2937); }
.mt-sum__tbl tr:last-child th,
.mt-sum__tbl tr:last-child td { border-bottom: 0; }
.mt-sum__url { word-break: break-all; }
.mt-sum__amt { font-size: 18px; /* f-md */ font-weight: 800; color: #d9202a; }

/* 상태 뱃지 — 상세의 '안전성 평가' 줄은 뺐고 목록 카드에서 쓴다 */
.mt-grade {
	display: inline-block;
	padding: 3px 9px 4px;
	border-radius: var(--mt-r-pill, 999px);
	font-size: 12px;   /* f-xs */
	font-weight: 800;
	letter-spacing: -.02em;
	color: #fff;
}
.mt-grade.bad { background: #d9202a; }
.mt-grade-d {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--mt-text-dim, #6b7280);
}

/* 도메인 등록정보는 이 카드 안쪽이라 바깥 테두리를 지운다 */
.mt-sum .mt-whois-box { margin: 1rem 0 0; }

@media (max-width: 767px) {
	.mt-sum { padding: .9rem; }
	.mt-sum__grid { grid-template-columns: minmax(0, 1fr); gap: .9rem; align-items: start; }
	.mt-sum__tbl { height: auto; }
	.mt-sum__shot-b { flex: 0 0 auto; }
	.mt-sum__tbl { font-size: 14px; }
	.mt-sum__tbl th { width: 88px; padding: .55rem .5rem; }
	.mt-sum__tbl td { padding: .55rem .5rem; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .mt-sum { background: var(--mt-surface); border-color: var(--mt-line); }
:root[data-theme="dark"] .mt-sum__h { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-sum__shot-b { background: var(--mt-surface-2); }
:root[data-theme="dark"] .mt-sum__tbl th { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-sum__tbl td { color: var(--mt-text); }
:root[data-theme="dark"] .mt-sum__tbl th,
:root[data-theme="dark"] .mt-sum__tbl td { border-bottom-color: var(--mt-line); }
:root[data-theme="dark"] .mt-sum__amt { color: #FF8A94; }
:root[data-theme="dark"] .mt-grade-d { color: var(--mt-text-dim); }


/* ══════════════════════════════════════════════════════════════════════════
   37. 먹튀사이트 목록 — 카드 재구성 + 상단 바               2026-08-16
   ────────────────────────────────────────────────────────────────────────
   카드에 도메인·먹튀일을 추가했다. 글마다 갖고 있는 값인데 화면에 안 쓰고
   "사이트 이름 / 먹튀금액" 두 줄만 보여 주고 있었다.
   방문자가 제일 먼저 확인하는 건 "내가 쓰는 그 주소가 맞나" 라서
   도메인을 이름 바로 아래에 두고, 금액을 카드에서 제일 큰 글자로 만든다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 상단 바 ── */
/* PC: [요약] ──── [정렬] [검색]
   정렬을 검색 왼쪽에 둔다. 검색이 이 줄에서 제일 중요한 동작이라
   오른쪽 끝(가장 눈에 띄고 손이 가는 자리)을 준다. */
.mt-lbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1.25rem;
	margin: 0 0 1rem;
	padding: .8rem 1rem;
	border: 1px solid rgba(0,0,0,.125);
	border-radius: 5px;
	background: var(--mt-surface, #fff);
}
/* 지표 두 칸 — 값을 크게, 설명을 아래 작게.
   가운뎃점 하나로 가르던 때는 모바일에서 점이 안 보여 다 붙어 읽혔다.
   칸 사이는 글자가 아니라 실제 세로선으로 나눈다(색이 옅어도 위치가 남는다). */
/* ★ flex-grow 를 뺐다.                                     2026-08-17
   1 1 auto 였을 때는 남는 폭을 요약 칸이 다 먹어서, 숫자 두 개뿐인데
   가로로 길게 벌어졌다. 0 1 auto 로 두면 내용만큼만 차지한다.
   남는 폭은 아래 __tools 가 margin-left:auto 로 가져가 오른쪽에 붙는다. */
.mt-lbar__stat { flex: 0 0 auto; display: flex; align-items: stretch; }
.mt-stat { padding-right: .8rem; }
.mt-stat + .mt-stat {
	padding-left: .8rem;
	border-left: 1px solid var(--mt-line-soft, #eef1f5);
}
.mt-stat__v {
	display: block;
	font-size: 18px;   /* f-md */
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.03em;
	color: var(--mt-text, #1f2937);
	font-variant-numeric: tabular-nums;
}
.mt-stat__v--amt { color: #d9202a; }
.mt-stat__l {
	display: block;
	margin-top: 2px;
	font-size: 12px;   /* f-xs */
	color: var(--mt-text-mute, #9aa3af);
	letter-spacing: -.02em;
	white-space: nowrap;
}
/* 도구 묶음이 남는 폭을 가져간다.                            2026-08-17
   min-width:0 이 없으면 안쪽 입력칸이 줄어들 수 없어서, 폭이 모자랄 때
   칸이 잘려 나갔다(flex 항목의 기본 min-width 는 auto = 내용 폭이다). */
.mt-lbar__tools {
	display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
	flex: 1 1 auto; min-width: 0; margin-left: auto; justify-content: flex-end;
}
/* 순서를 바꿨다.                                            2026-08-17
   전에는 [정렬][검색] 이었는데, 검색이 오른쪽 끝에 붙어 폭이 모자라면
   그쪽부터 잘렸다. 정렬은 세 칸 고정 폭이라 늘 같은 자리에 있는 편이
   눈으로 찾기 쉽고, 검색은 남는 폭을 받아 늘어나는 게 자연스럽다.
   그래서 [검색 ────][정렬] 로 두고 정렬을 오른쪽 끝에 고정한다. */
.mt-lbar__tools .mt-lbar__find { order: 1; }
.mt-lbar__tools .mt-lbar__sort { order: 2; flex: 0 0 auto; }

/* 입력칸은 고정 250px 이었다 — 남는 폭이 그보다 좁으면 그냥 잘렸다.
   이제 240px 를 기준으로 늘었다 줄었다 한다(최소 170, 최대 380). */
.mt-lbar__find { position: relative; margin: 0; flex: 1 1 240px; min-width: 170px; max-width: 380px; }
.mt-lbar__find input {
	width: 100%;
	height: 34px;
	padding: 0 36px 0 13px;
	border: 1px solid var(--mt-line, #d8dee7);
	border-radius: var(--mt-r-pill, 999px);
	background: var(--mt-surface-2, #f7f9fc);
	font-size: 14px;   /* f-sm */
	color: var(--mt-text, #1f2937);
}
.mt-lbar__find input:focus {
	outline: none;
	border-color: var(--mt-blue-500, #1a87ff);
	background: var(--mt-surface, #fff);
	box-shadow: 0 0 0 3px var(--mt-focus, rgba(59,130,246,.15));
}
/* 알약 안쪽에 앉는 동그란 실행 버튼.
   전에는 배경 없는 회색 아이콘이라 "눌러야 하는 것"으로 안 읽혔다. */
.mt-lbar__find button {
	position: absolute; right: 4px; top: 4px;
	display: flex; align-items: center; justify-content: center;
	width: 26px; height: 26px;
	padding: 0;
	border: 0; border-radius: 50%;
	background: linear-gradient(135deg, var(--mt-blue-500, #1a87ff), var(--mt-blue-700, #0062cc));
	color: #fff;
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 7px -2px rgba(37,99,235,.65);
	transition: transform var(--mt-t-fast, .12s) ease, box-shadow var(--mt-t-fast, .12s) ease, filter var(--mt-t-fast, .12s) ease;
}
.mt-lbar__find button:hover { filter: brightness(1.08); box-shadow: 0 3px 10px -2px rgba(37,99,235,.8); }
.mt-lbar__find button:active { transform: scale(.94); }
.mt-lbar__find button:focus-visible { outline: 2px solid var(--mt-blue-500, #1a87ff); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .mt-lbar__find button { transition: none; } }

/* 정렬 — 낱개 알약 3개보다 이어붙인 한 덩어리가 "셋 중 하나 고르기" 로 읽힌다 */
.mt-lbar__sort {
	display: flex;
	gap: 2px;
	padding: 3px;
	border-radius: var(--mt-r-pill, 999px);
	background: var(--mt-surface-2, #f2f4f8);
	border: 1px solid var(--mt-line-soft, #e9edf3);
}
.mt-lbar__s {
	padding: 5px 12px;
	border-radius: var(--mt-r-pill, 999px);
	font-size: 14px;   /* f-sm */
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--mt-text-dim, #6b7280);
	text-decoration: none !important;
	white-space: nowrap;
}
.mt-lbar__s:hover { color: var(--mt-blue-600, #007bff); }
.mt-lbar__s:hover { background: rgba(37,99,235,.06); }
.mt-lbar__s.on {
	background: var(--mt-surface, #fff);
	color: var(--mt-blue-600, #007bff);
	font-weight: 700;
	box-shadow: var(--mt-sh-xs, 0 1px 2px rgba(0,0,0,.12));
}
:root[data-theme="dark"] .mt-lbar__sort { background: var(--mt-surface-2); border-color: var(--mt-line); }
:root[data-theme="dark"] .mt-lbar__s.on { background: var(--mt-surface); color: var(--mt-primary); }
:root[data-theme="dark"] .mt-lbar__s:hover { background: rgba(96,165,250,.12); }

/* ── 카드 본문 ── */
.mt-card { padding: .1rem .15rem .35rem; }
/* 이름과 도메인을 한 줄에. 이름이 길면 이름부터 줄이고 도메인은 지킨다
   — 목록에서 대조하는 값이 도메인이라 그쪽이 잘리면 쓸모가 없다. */
.mt-card__head { display: flex; align-items: baseline; gap: 8px; }
.mt-card__name {
	flex: 1 1 auto; min-width: 0;
	font-size: 15px; /* f-de */ font-weight: 800; letter-spacing: -.03em;
	color: var(--mt-text, #1f2937);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mt-card__dom {
	flex: 0 1 auto; min-width: 0;
	font-size: 12px;   /* f-xs */
	color: var(--mt-text-dim, #6b7280);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	direction: rtl; text-align: right;   /* 잘릴 때 앞이 아니라 뒤가 남게 */
}
/* 카드 하단 — 금액은 크게 왼쪽, 날짜는 작게 오른쪽.
   전에는 dt/dd 두 칸이 나란히 있어 라벨(피해액/먹튀일)이 값보다 먼저 읽혔다. */
.mt-card__foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .5rem;
	margin-top: .5rem;
	padding-top: .5rem;
	border-top: 1px solid var(--mt-line-soft, #f0f2f6);
}
.mt-card__amtbox { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.mt-card__amtl {
	font-size: 12px;   /* f-xs */
	font-weight: 600;
	color: var(--mt-text-mute, #9aa3af);
	white-space: nowrap;
}
.mt-card__date {
	font-size: 12px;   /* f-xs */
	color: var(--mt-text-mute, #9aa3af);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.mt-card__amt { font-size: 18px !important; /* f-md */ font-weight: 800 !important; color: #d9202a !important; }

@media (max-width: 575px) {
	/* 모바일: 요약 → 검색 → 정렬 세 줄.
	   검색을 정렬보다 위에 두는 이유 — 폰에서는 목록을 훑기보다
	   "내가 쓰는 그 주소" 를 바로 찾아보러 오는 경우가 많다. */
	.mt-lbar { padding: .6rem .65rem; gap: .5rem 0; }
	/* 지표 두 칸을 반반으로 나눈다.                          2026-08-17
	   전에는 flex 라 내용만큼만 차지해서 오른쪽이 텅 비어 보였다.
	   1fr 1fr 로 두면 폭이 어떻든 화면을 정확히 반씩 쓴다.
	   가운데 세로선이 정확히 한가운데 오는 것도 이 방식이라야 한다. */
	.mt-lbar__stat {
		flex: 1 0 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		font-size: 13px;
		text-align: center;
	}
	.mt-stat { padding-right: .5rem; }
	.mt-stat + .mt-stat { padding-left: .5rem; }
	/* 검색과 정렬을 한 줄에 둔다.                             2026-08-17
	   전에는 둘 다 flex:1 0 100% 라 각각 한 줄씩 차지했다(줄바꿈 강제).
	   요약까지 합쳐 세 줄이 되니 목록이 한참 아래로 밀렸다.
	   폭 계산(360px 화면 기준):
	     바깥 여백 32 + 정렬 156 + 사이 8  →  검색에 약 164px 남는다.
	   검색칸은 min-width:0 이라야 그만큼까지 줄어든다 — flex 항목의 기본
	   min-width 는 auto(내용 폭)라서, 이게 없으면 안 줄고 넘쳐서 잘린다. */
	.mt-lbar__tools { flex: 1 0 100%; gap: .4rem; flex-wrap: nowrap; }
	.mt-lbar__find { order: 1; flex: 1 1 auto; min-width: 0; max-width: none; }
	.mt-lbar__find input { width: 100%; height: 36px; padding-right: 32px; font-size: 13px; }
	.mt-lbar__find button { width: 28px; height: 28px; top: 4px; right: 4px; }
	.mt-lbar__sort { order: 2; flex: 0 0 auto; padding: 2px; }
	.mt-lbar__s { text-align: center; padding: 6px 8px; font-size: 12px; letter-spacing: -.04em; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .mt-lbar { background: var(--mt-surface); border-color: var(--mt-line); }
:root[data-theme="dark"] .mt-stat__v { color: var(--mt-text); }
:root[data-theme="dark"] .mt-stat__v--amt { color: #FF8A94; }
:root[data-theme="dark"] .mt-stat__l { color: var(--mt-text-mute); }
:root[data-theme="dark"] .mt-stat + .mt-stat { border-left-color: var(--mt-line); }
:root[data-theme="dark"] .mt-lbar__find input { background: var(--mt-surface-2); border-color: var(--mt-line); color: var(--mt-text); }
:root[data-theme="dark"] .mt-lbar__s { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-lbar__s:hover { color: var(--mt-primary); }
:root[data-theme="dark"] .mt-lbar__sort { background: var(--mt-surface-2); }
:root[data-theme="dark"] .mt-lbar__s.on { background: var(--mt-surface); color: var(--mt-primary); box-shadow: none; }
:root[data-theme="dark"] .mt-card__name { color: var(--mt-text); }
:root[data-theme="dark"] .mt-card__dom { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-card__foot { border-top-color: var(--mt-line); }
:root[data-theme="dark"] .mt-card__date,
:root[data-theme="dark"] .mt-card__amtl { color: var(--mt-text-mute); }
:root[data-theme="dark"] .mt-card__amt { color: #FF8A94 !important; }

/* ── 먹튀사이트 글쓰기 폼 ──
   원래 여분필드 입력칸에 class 가 아예 없어서 브라우저 기본 <input> 이 그대로
   나왔다(다른 게시판은 전부 form-control 을 쓴다). 그래서 이 게시판 글쓰기만
   딴 사이트처럼 보였다. 클래스를 붙였으니 이제 테마 입력칸 모양을 따라간다.
   여기서는 도움말 줄과 필수 표시만 추가로 손본다. */
.mt-wf__help { margin-top: 4px; font-size: 12px; /* f-xs */ line-height: 1.5; }
.mt-req {
	margin-left: 4px;
	padding: 1px 5px 2px;
	border-radius: var(--mt-r-pill, 999px);
	background: #d9202a;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	vertical-align: 1px;
}
:root[data-theme="dark"] .mt-wf__help { color: var(--mt-text-dim) !important; }

/* ── 목록 카드: 상세보기 버튼 + 모바일 배치 ──────────────────────────────
   ★ 모바일이 깨진 이유
     스킨 style.css(83~97줄)가 575px 이하에서 카드를 가로로 눕힌다:
         .img-wrap            { float:left; width:38% }
         .list-safety-info    { float:left; width:calc(100% - 38% - 10px) }
         .list-safety-item-btn-wrap { float:left; width:calc(100% - 38% - 10px) }
     그런데 가운데 .list-safety-info 를 .mt-card 로 갈아끼우면서 그 규칙이
     아무것도 못 잡게 됐다. 글자 블록만 전폭으로 풀리고 버튼은 62% 로 떠서
     레이아웃이 어긋난 것이다.
     → float 세 개를 걷어내고 grid 로 다시 짠다.
       [이미지] [글자]
       [이미지] [버튼]   ← 이미지가 두 줄을 차지
   ------------------------------------------------------------------------ */
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 1px solid var(--mt-line, #d8dee7) !important;
	border-radius: 5px;
	color: var(--mt-text-sub, #4b5563) !important;
	background: var(--mt-surface-2, #f7f9fc);
	font-size: 14px;   /* f-sm */
	font-weight: 700;
	padding: 7px 0 !important;
	margin-right: 0 !important;
	transition: background-color var(--mt-t-fast, .12s) ease, color var(--mt-t-fast, .12s) ease, border-color var(--mt-t-fast, .12s) ease;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view:hover {
	background: var(--mt-blue-600, #007bff) !important;
	border-color: var(--mt-blue-600, #007bff) !important;
	color: #fff !important;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view .fa { transition: transform var(--mt-t-fast, .12s) ease; }
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view:hover .fa { transform: translateX(3px); }

@media (max-width: 575px) {
	/* 위: [썸네일][글자]  ·  아래: 상세보기 전폭 한 줄
	   버튼을 오른쪽 칸에 두면 폭이 62% 밖에 안 돼 눌러야 할 것 치고 작았고,
	   썸네일과 높이를 맞추느라 둘 다 어중간해졌다.
	   버튼을 두 칸에 걸쳐 아래로 내리면 썸네일도 제 크기를 쓸 수 있다. */
	/* ★ 먹튀사이트 카드에만 건다 — :has(> .mt-card)              2026-08-17
   원래 조건 없이 걸었더니 보증업체(totosite) 카드까지 잡혔다.
   그쪽 .list-item-wrap 은 자식이 셋(이미지·정보표·버튼줄)인데
   2칸짜리 격자에 밀어 넣으니 표와 버튼이 제자리를 못 찾고 깨졌다.
   격자 자리(.img-wrap 1열, .mt-card 2열)를 지정해 둔 건 먹튀사이트
   카드뿐이므로, .mt-card 를 품은 것만 고른다. */
#bo_gallery .list-item-wrap:has(> .mt-card) {
		display: grid;
		grid-template-columns: 42% minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 10px;
		row-gap: 8px;
		align-items: start;
	}
	#bo_gallery .list-item-wrap:has(> .mt-card) > .img-wrap {
		grid-column: 1; grid-row: 1;
		float: none !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding-bottom: 56.25% !important;   /* 92px 고정이라 이미지가 눌렸다 */
	}
	#bo_gallery .img-wrap .img-item { position: absolute !important; }
	#bo_gallery .list-item-wrap:has(> .mt-card) > .mt-card { grid-column: 2; grid-row: 1; padding: 0; }
	/* 전폭 한 줄. 좌우 여백을 두지 않아 카드 폭을 그대로 쓴다. */
	#bo_gallery .list-safety-item-btn-wrap {
		grid-column: 1 / -1; grid-row: 2;
		float: none !important;
		width: auto !important;
		margin: 0 !important;
	}
	#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view {
		width: 100%;
		font-size: 14px;   /* f-sm */
		padding: 8px 0 !important;
		height: auto !important;
		line-height: 1.5 !important;
	}
	#bo_gallery .list-item { padding-bottom: 1rem !important; }
	.mt-card__head { flex-wrap: wrap; gap: 0 6px; }
	.mt-card__name { flex: 1 0 100%; }
	.mt-card__dom { flex: 1 0 100%; direction: ltr; text-align: left; }
	.mt-card__foot { margin-top: .35rem; padding-top: .35rem; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_view {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_view:hover {
	background: var(--mt-primary) !important;
	border-color: var(--mt-primary) !important;
	color: #0d1117 !important;
}
:root[data-theme="dark"] .mt-lbar__find button {
	background: linear-gradient(135deg, var(--mt-primary), #2f6fd0);
	box-shadow: 0 2px 7px -2px rgba(0,0,0,.6);
}


/* ══════════════════════════════════════════════════════════════════════════
   38. 댓글 액션(답글·수정·삭제) — 먹튀사이트 게시판만 빠져 있던 스타일
                                                             2026-08-16
   ────────────────────────────────────────────────────────────────────────
   제보: "먹튀사이트 글의 댓글 답글 쪽 글자가 깨진다".

   원인은 CSS 누락이었다. .cmt-btn 규칙 개수를 세어 보면:
       BS4-mt 7 · BS4-verification 7 · BS4-Basic-List 7 · BS4-safety 7
       BS4-mtsite 0        ← 이 스킨에만 없다
   view_comment.skin.php 는 모든 게시판이 같은 파일을 쓰는데 스킨 style.css 만
   빠져 있어, 목록 기본 불릿이 그대로 나오고 구분선(|)도 없이 붙어 나왔다.

   스킨 파일에 넣지 않고 여기에 두는 이유
     · 스킨을 업데이트해도 살아남는다
     · 게시판마다 조금씩 다른 값(다른 스킨은 #888 고정색)을 한 번에 통일한다
     · 다크모드를 같이 처리할 수 있다 — 원본은 #888/#ccc 고정이라 어두운 면에서 흐리다
   ══════════════════════════════════════════════════════════════════════════ */
.cmt-btn ul { list-style: none; margin: 0; padding: 0; }
.cmt-btn ul > li {
	float: left;
	font-size: 12px;   /* f-xs */
	padding: 0 10px;
}
.cmt-btn ul > li::before {
	float: left;
	margin-left: -12px;
	color: var(--mt-line, #ccc);
	content: "|";
}
.cmt-btn ul > li:last-child { padding-right: 0; }
.cmt-btn ul > li:first-child::before,
.cmt-btn ul > li.no-bar::before { content: ""; margin-left: 0; }
.cmt-btn ul > li > a {
	float: left;
	color: var(--mt-text-dim, #6b7280);
	white-space: nowrap;
	text-decoration: none !important;
	transition: color var(--mt-t-fast, .12s) ease;
}
.cmt-btn ul > li > a:hover { color: var(--mt-blue-600, #007bff); }

/* 모바일에서는 손가락으로 눌러야 하니 여백을 조금 더 준다 */
@media (max-width: 575px) {
	.cmt-btn ul > li { padding: 2px 11px; }
	.cmt-btn ul > li::before { margin-left: -13px; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .cmt-btn ul > li::before { color: var(--mt-line); }
:root[data-theme="dark"] .cmt-btn ul > li > a { color: var(--mt-text-dim); }
:root[data-theme="dark"] .cmt-btn ul > li > a:hover { color: var(--mt-primary); }


/* ══════════════════════════════════════════════════════════════════════════
   39. 먹튀사이트 — 관련 사이트 블록                         2026-08-16
   ────────────────────────────────────────────────────────────────────────
   후이즈 데이터(네임서버·등록기관)로 실제로 엮이는 글만 연결한다.
   204개 글이 서로 거의 안 엮여 있어 색인이 얕았다.
   ══════════════════════════════════════════════════════════════════════════ */
.mt-rel.main_sd_list { margin: 0 0 1.5rem; padding: .8rem 1rem .85rem !important; }
.mt-rel > h3.h3 { margin-bottom: .1rem; }

/* '다른 신고 내역' — 근거 없이 최근 글을 묶은 것이라 접어 둔다.
   details 요소라 자바스크립트 없이 열린다(끄면 항상 펼침이 아니라 항상 닫힘이
   아니라 브라우저 기본 동작이 그대로 남는다). 화살표는 후이즈 상자와 같은 모양. */
details.mt-rel-box { padding-bottom: .8rem !important; }
.mt-rel__sum {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: .15rem 26px .15rem 0;   /* 오른쪽은 화살표 자리 */
	cursor: pointer;
	font-size: 17px;   /* f-lg — 펼친 쪽 h3 와 같은 크기 */
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--mt-text, #1f2937);
	list-style: none;
}
.mt-rel__sum::-webkit-details-marker { display: none; }
.mt-rel__sum::after {
	content: '\f107';               /* fa-angle-down */
	font-family: FontAwesome;
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	line-height: 1;
	color: var(--mt-text-dim, #6b7280);
	transition: transform .18s ease;
}
details.mt-rel-box[open] .mt-rel__sum::after { transform: translateY(-50%) rotate(180deg); }
/* 접혔을 때 몇 건인지는 보여 준다 — 열어 볼지 판단할 근거가 된다 */
.mt-rel__cnt {
	font-size: 12px;   /* f-xs */
	font-weight: 600;
	line-height: 1;
	padding: 3px 7px;
	border-radius: 999px;
	color: var(--mt-text-mute, #6b7280);
	background: var(--mt-surface-2, #f3f4f6);
}
/* 펼쳤을 때만 제목과 내용 사이에 선을 넣는다 */
details.mt-rel-box[open] .mt-rel__sum { margin-bottom: .55rem; border-bottom: 1px solid var(--mt-line-soft, #e5e7eb); padding-bottom: .5rem; }
:root[data-theme="dark"] .mt-rel__cnt { color: var(--mt-text-mute); background: var(--mt-surface-2); }
.mt-rel > hr.hr { margin-bottom: .65rem !important; }

/* 근거 문장 — 네임서버로 묶였을 때만 강조한다. 그냥 최근 글일 때는 조용히. */
.mt-rel__why {
	margin: 0 0 .6rem;
	font-size: 12px;   /* f-xs */
	line-height: 1.55;
	color: var(--mt-text-mute, #9aa3af);
}
.mt-rel__why.is-strong {
	padding: .5rem .6rem;
	border-radius: 5px;
	background: var(--mt-blue-50, #e8f2ff);
	color: var(--mt-blue-700, #0062cc);
	font-weight: 600;
}
.mt-rel__why .fa { margin-right: 3px; }

/* 카드 격자 — ul/li 가 아니라 div 다.
   목록 태그는 마커와 안쪽 여백이 기본으로 붙어(브라우저마다 다름)
   list-style:none 을 줘도 기기에 따라 자리가 남는다. 실제로 모바일에서
   카드가 오른쪽으로 밀려 보였다. 격자에는 목록 의미가 필요 없다. */
.mt-rel__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mt-rel__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0 8px;
	min-width: 0;
	padding: .55rem .65rem;
	border: 1px solid var(--mt-line-soft, #eef1f5);
	border-radius: 6px;
	background: var(--mt-surface-2, #fafbfd);
	text-decoration: none !important;
	color: inherit;
	transition: border-color var(--mt-t-fast, .12s) ease,
	            background-color var(--mt-t-fast, .12s) ease;
}
.mt-rel__item:hover {
	border-color: var(--mt-blue-200, #99c9ff);
	background: var(--mt-blue-50, #e8f2ff);
	text-decoration: none !important;
}
.mt-rel__item:hover .mt-rel__nm { color: var(--mt-blue-600, #007bff); }
.mt-rel__nm {
	grid-column: 1;
	font-size: 14px;   /* f-sm */
	font-weight: 700;
	line-height: 1.35;
	color: var(--mt-text, #1f2937);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mt-rel__amt {
	grid-column: 2; grid-row: 1;
	padding: 1px 6px 2px;
	border-radius: var(--mt-r-pill, 999px);
	background: rgba(217,32,42,.09);
	font-size: 12px;   /* f-xs */
	font-weight: 800;
	color: #d9202a;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.mt-rel__dm {
	grid-column: 1 / -1; grid-row: 2;
	margin-top: 2px;
	font-size: 12px;   /* f-xs */
	color: var(--mt-text-mute, #9aa3af);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (max-width: 767px) {
	.mt-rel.main_sd_list { padding: .75rem .8rem .8rem !important; }
	.mt-rel__list { grid-template-columns: minmax(0, 1fr); gap: .45rem; }
}
:root[data-theme="dark"] .mt-rel__why { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-rel__item {
	background: var(--mt-surface-2);
	border-color: var(--mt-line);
}
:root[data-theme="dark"] .mt-rel__item:hover {
	background: rgba(96,165,250,.12);
	border-color: rgba(96,165,250,.4);
}
:root[data-theme="dark"] .mt-rel__amt { background: rgba(255,138,148,.14); }
:root[data-theme="dark"] .mt-rel__why.is-strong { background: rgba(96,165,250,.12); color: var(--mt-primary); }
:root[data-theme="dark"] .mt-rel__nm { color: var(--mt-text); }
:root[data-theme="dark"] .mt-rel__dm { color: var(--mt-text-dim); }
:root[data-theme="dark"] .mt-rel__amt { color: #FF8A94; }
/* 글쓰기 — 제목칸 + 자동 버튼 */
.mt-subjwrap { display: flex; gap: 6px; }
.mt-subjwrap > input { flex: 1 1 auto; min-width: 0; }
.mt-subjwrap > button { flex: 0 0 auto; white-space: nowrap; font-size: 13px; padding: 0 12px; }
@media (max-width: 575px) { .mt-subjwrap > button { font-size: 12px; padding: 0 9px; } }

/* ══════════════════════════════════════════════════════════════════════════
   상단 메뉴 — 선택 표시를 알약 배경에서 '하단 줄'로               2026-08-17
   ────────────────────────────────────────────────────────────────────────
   지금까지는 현재 메뉴에 옅은 파란 알약을 깔았다. 헤더가 흰 띠 하나인데
   그 위에 색 덩어리가 얹히니 메뉴줄이 두 겹처럼 보였다.
   글자는 그대로 두고 아래에 파란 줄만 그어 현재 위치를 알린다.

   ★ 줄은 .me-a 가 아니라 부모 <a> 에 그린다
     .me-a 에는 보증업체 항목의 무지개 글자효과(background-clip:text)가
     걸려 있다. 거기에 배경/가상요소를 붙이면 글자 모양으로 잘리거나
     그라데이션이 지워진다 — 예전에 그렇게 만들어 글자가 사라진 적 있다.

   ★ 보증업체(.menu-totosite)는 제외
     그 항목은 theme.css 가 이미 무지개 밑줄(.me-a::after)을 갖고 있다.
     여기서 또 그으면 줄이 두 개가 된다. 알약 배경만 걷어낸다.
   ══════════════════════════════════════════════════════════════════════════ */
#nt_menu .me-li > a { position: relative; }

/* ★ 밑줄을 '칸' 이 아니라 '글자' 에 맞춘다.                  2026-08-17
   처음엔 <a> 에 그리고 폭을 56%/74% 로 줬는데 두 가지가 어긋났다.
     ① 길이가 글자 끝까지 안 간다 — 칸 폭의 비율이라 글자 길이와 무관하다
        ('먹튀검증' 4자와 '유용한 정보' 6자가 같은 길이 밑줄을 갖는다)
     ② 한쪽으로 치우쳐 보인다 — <a> 안에는 글자 앞에 빈 아이콘
        <i class="fa empty"> 가 자리를 차지하고 있어서, 칸의 한가운데와
        눈에 보이는 글자의 한가운데가 서로 다르다.
        실측: 활성 항목 글자 중심 632px, 밑줄 중심 580px — 52px 어긋남.
   고친 방식
     · 빈 아이콘을 숨겨 글자가 칸 한가운데 오게 한다
     · .me-a 를 글자 크기만큼만 차지하는 상자(inline-block)로 바꾸고
       거기에 밑줄을 건다 — 좌우를 0 으로 잡으면 길이가 글자 길이와 같아진다
     · 나타날 때는 폭이 아니라 scaleX 로 펼친다(가운데에서 양쪽으로) */
#nt_menu .me-li > a { text-align: center; }
#nt_menu .me-a > i.fa.empty { display: none; }
#nt_menu .me-li > a > .me-a { position: relative; }
#nt_menu .me-li:not(.menu-totosite) > a > .me-a { display: inline-block; }

#nt_menu .me-li:not(.menu-totosite) > a > .me-a::after {
	content: "";
	position: absolute;
	left: .5rem;    /* .me-a 의 px-2 안쪽 = 글자 시작점 */
	right: .5rem;
	bottom: -5px;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: var(--mt-blue-600);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--mt-t-fast);
}
#nt_menu .me-li:not(.menu-totosite):hover > a > .me-a::after,
#nt_menu .me-li.on:not(.menu-totosite) > a > .me-a::after { transform: scaleX(1); }

/* 보증업체는 theme.css 가 무지개 밑줄을 이미 갖고 있다.
   길이만 같은 규칙(글자 폭)으로 맞춘다 — 원래는 칸의 72% 였다. */
#nt_menu .me-li.menu-totosite > a > .me-a::after {
	display: block !important;   /* 위쪽 1541줄의 display:none 을 되돌린다 */
	content: "" !important;
	left: .5rem !important;
	right: .5rem !important;
	width: auto !important;
	bottom: -5px !important;
	height: 3px !important;
	transform: scaleX(0) !important;
	transform-origin: center;
	transition: transform var(--mt-t-fast);
}
#nt_menu .me-li.menu-totosite:hover > a > .me-a::after,
#nt_menu .me-li.menu-totosite.on > a > .me-a::after {
	width: auto !important;
	transform: scaleX(1) !important;
}

/* ── 알약 배경 걷어내기 (앞서 선언한 규칙들을 덮는다) ── */
#nt_menu .me-li:not(.menu-totosite):hover > a > .me-a,
#nt_menu .me-li.on:not(.menu-totosite) > a > .me-a,
#nt_menu .me-li.on:not(.menu-totosite):hover > a > .me-a {
	background: transparent !important;
	box-shadow: none !important;
}
#nt_menu .me-li.menu-totosite:hover > a,
#nt_menu .me-li.menu-totosite.on > a,
#nt_menu .me-li.menu-totosite.on:hover > a {
	background-color: transparent !important;
	box-shadow: none !important;
}
/* 글자색은 남긴다 — 줄만으로는 약해서 현재 항목이 덜 도드라진다 */
#nt_menu .me-li:not(.menu-totosite):hover > a > .me-a { color: var(--mt-blue-600) !important; }
#nt_menu .me-li.on:not(.menu-totosite) > a > .me-a,
#nt_menu .me-li.on:not(.menu-totosite):hover > a > .me-a {
	color: var(--mt-blue-700) !important;
	font-weight: 800;
}

/* ── 다크모드 ── */
:root[data-theme="dark"] #nt_menu .me-li:not(.menu-totosite):hover > a > .me-a,
:root[data-theme="dark"] #nt_menu .me-li.on:not(.menu-totosite) > a > .me-a,
:root[data-theme="dark"] #nt_menu .me-li.on:not(.menu-totosite):hover > a > .me-a {
	background: transparent !important;
	box-shadow: none !important;
}
:root[data-theme="dark"] #nt_menu .me-li:not(.menu-totosite):hover > a > .me-a { color: var(--mt-primary) !important; }
:root[data-theme="dark"] #nt_menu .me-li.on:not(.menu-totosite) > a > .me-a,
:root[data-theme="dark"] #nt_menu .me-li.on:not(.menu-totosite):hover > a > .me-a { color: #cfe4ff !important; }
:root[data-theme="dark"] #nt_menu .me-li:not(.menu-totosite) > a::after { background: var(--mt-primary); }

/* ══════════════════════════════════════════════════════════════════════════
   하단 안내 블록 다시 손질 — 게시판 전체                          2026-08-17
   ────────────────────────────────────────────────────────────────────────
   ★ HTML 은 한 글자도 안 고쳤다
     상위노출 중인 문서라 제목 태그·문단·링크·표를 그대로 둔다.
     아래는 전부 보이는 방식(CSS)만 바꾼 것이고, 이 구역을 지우면
     원래 모습으로 돌아간다.

   ★ 왜 게시판 하단만 촌스러웠나 — 선택자가 안 닿고 있었다
     같은 안내 블록인데 메인과 게시판의 껍데기가 다르다.
         메인    .main_explain_title_wrap > .main_explain_con_wrap > .con_div
         게시판  .main_explain_title_wrap >                          .con_div
     앞서 만든 카드·여백 규칙이 전부 .main_explain_con_wrap 밑을 보고 있어
     게시판에서는 하나도 적용되지 않았다. 그래서 구역 구분 없이 글이
     쭉 이어지고, 색 알약만 둥둥 떠 있는 화면이 됐다.
     아래 규칙은 두 구조를 함께 잡는다.

   ★ 실제 화면을 보고 잡은 것 (chromium 캡처 확인)
     ① 색 알약 7개가 파랑·초록·회색·주황·빨강·검정·파랑으로 제각각이었다
        → 인라인 style 의 배경색을 걷고, 왼쪽 파란 기둥 + 진한 제목으로 통일
     ② '권장 점검 순서' 가 "1. 1단계:" 로 숫자가 두 번 나왔다
        → 글에 이미 '1단계' 가 있으니 브라우저 번호를 끈다
     ③ '위험 신호' 목록에 점이 없어 그냥 줄글로 보였다
        → 파란 점을 ::before 로 붙인다
     ④ 표가 인라인 style(#ddd 1px, #f1f1f1)이라 사이트 상자와 따로 놀았다
        → 사이트 선·바닥색으로 맞추고 모서리를 둥글린다
     ⑤ 문단 사이가 <br><br> 뿐이라 덩어리 구분이 약했다
        → 줄간격과 구역 여백을 키운다
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 바깥 상자 ── */
.main_explain_title_wrap {
	padding: 1.6rem 1.5rem 1.7rem;
}

/* ── 구역 카드 — 메인(con_wrap 안)과 게시판(직계) 두 구조를 함께 ── */
.main_explain_title_wrap > .main_explain_con_div,
.main_explain_con_wrap > .main_explain_con_div {
	padding-top: 0;
}
.main_explain_title_wrap > .main_explain_con_div:not(:first-child),
.main_explain_con_wrap > .main_explain_con_div:not(:first-child) {
	margin-top: 1.4rem;
	padding: 1.25rem 1.3rem 1.35rem;
	border: 1px solid var(--mt-line-soft);
	border-radius: 10px;
	background: var(--mt-surface);
}
/* 머리말(첫 구역)은 카드로 감싸지 않는다 — 제목 바로 아래 도입부다 */
.main_explain_title_wrap > .main_explain_con_div:first-child,
.main_explain_con_wrap > .main_explain_con_div:first-child {
	padding: 0;
	border: 0;
	background: none;
}

/* ── 구역 제목 — 색 알약을 걷고 왼쪽 파란 기둥으로 ──
   배경색이 인라인 style 이라 !important 로만 덮인다. */
.main_explain_con_title {
	display: block !important;
	margin: 0 0 1rem !important;
	padding: .1rem 0 .1rem .8rem !important;
	border-left: 4px solid var(--mt-blue-600);
	border-radius: 0 !important;
	background: none !important;
	background-color: transparent !important;
}
.main_explain_con_title h2,
.main_explain_con_title h3,
.main_explain_con_title h4 {
	margin: 0;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1.4;
	color: var(--mt-text) !important;
	word-break: keep-all;
}

/* ── 본문 ── */
.main_explain_con > div,
.main_explain_con > p {
	margin-top: 1rem;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: -.025em;
	color: var(--mt-text-sub);
	word-break: keep-all;
}
.main_explain_con > div:first-child,
.main_explain_con > p:first-child { margin-top: 0; }

/* ── 번호 목록 (01·02…) — 색을 사이트 파랑으로 통일 ── */
.main_explain_con ul li > span[class^="main_explain_con_num_icon"] {
	background: var(--mt-blue-600) !important;
	color: #fff !important;
}
.main_explain_con > div ul { margin-top: .4rem; }
.main_explain_con > div ul li { margin-top: .55rem; }

/* ── 점 목록 — 번호 배지가 없는 항목에 파란 점을 붙인다 ──
   theme.css 가 list-style 을 지워 놔서 그냥 줄글처럼 보였다. */
.main_explain_con > ul,
.main_explain_con > div > ul {
	margin: .9rem 0 0;
	padding-left: 0;
	list-style: none;
}
.main_explain_con > ul > li,
.main_explain_con > div > ul > li {
	position: relative;
	display: block;
	margin-top: .55rem;
	padding-left: 1.05rem;
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: -.025em;
	color: var(--mt-text-sub);
	word-break: keep-all;
}
.main_explain_con > ul > li::before,
.main_explain_con > div > ul > li::before {
	content: "";
	position: absolute;
	left: .15rem;
	top: .78em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--mt-blue-600);
}
/* 번호 배지가 든 항목은 배지가 곧 표식이다 — 점을 붙이면 두 개가 된다 */
.main_explain_con ul > li:has(> span[class^="main_explain_con_num_icon"]) {
	display: flex;
	padding-left: 0;
}
.main_explain_con ul > li:has(> span[class^="main_explain_con_num_icon"])::before {
	content: none;
}

/* ── 번호 목록(ol) — 글에 이미 '1단계' 가 있어 숫자가 겹친다 ── */
.main_explain_con ol {
	margin: .9rem 0 0;
	padding-left: 0;
	list-style: none;
	counter-reset: none;
}
.main_explain_con ol > li {
	position: relative;
	margin-top: .55rem;
	padding-left: 1.05rem;
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: -.025em;
	color: var(--mt-text-sub);
	word-break: keep-all;
}
.main_explain_con ol > li::before {
	content: "";
	position: absolute;
	left: .15rem;
	top: .78em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--mt-blue-400);
}

/* ── 표 — 인라인 style 을 사이트 톤으로 덮는다 ── */
.main_explain_con table {
	width: 100%;
	margin-top: 1rem !important;
	border: 1px solid var(--mt-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 10px;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.65;
}
.main_explain_con table th,
.main_explain_con table td {
	border: 0 !important;
	border-bottom: 1px solid var(--mt-line-soft) !important;
	padding: .75rem .85rem !important;
	text-align: left;
	vertical-align: top;
	letter-spacing: -.025em;
	color: var(--mt-text-sub);
	word-break: keep-all;
}
.main_explain_con table tr:last-child td { border-bottom: 0 !important; }
.main_explain_con table th {
	background: var(--mt-surface-2) !important;
	font-weight: 700;
	color: var(--mt-text);
	white-space: nowrap;
}
.main_explain_con table tr { background: none !important; }
/* 첫 칸(구분)은 좁게 고정해 오른쪽 설명이 넓게 눕도록 */
.main_explain_con table td:first-child {
	font-weight: 700;
	color: var(--mt-text);
	white-space: nowrap;
}

/* ── 맺음 문장 ── */
.main_explain_con .main_explain_con_inner_end {
	margin-top: 1.15rem;
	padding: .9rem 1rem;
	border: 0;
	border-left: 3px solid var(--mt-blue-600);
	border-radius: 0 8px 8px 0;
	background: var(--mt-blue-50);
	font-size: 14px;
	line-height: 1.75;
	color: var(--mt-text-sub);
}

/* ── 링크 ── */
.main_explain_con a {
	color: var(--mt-blue-600);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid var(--mt-blue-200);
}
.main_explain_con a:hover {
	color: var(--mt-blue-700);
	border-bottom-color: var(--mt-blue-600);
}

/* ── 모바일 ── */
@media (max-width: 575px) {
	.main_explain_title_wrap { padding: 1.25rem 1rem 1.3rem; }
	.main_explain_title_wrap > .main_explain_con_div:not(:first-child),
	.main_explain_con_wrap > .main_explain_con_div:not(:first-child) {
		margin-top: 1.1rem;
		padding: 1.05rem 1rem 1.1rem;
	}
	.main_explain_con_title h2,
	.main_explain_con_title h3,
	.main_explain_con_title h4 { font-size: 16px; }
	.main_explain_con > div,
	.main_explain_con > ul > li,
	.main_explain_con > div > ul > li,
	.main_explain_con ol > li { font-size: 14px; line-height: 1.75; }
	/* 표는 좁은 화면에서 칸이 접혀 읽기 나쁘다 — 옆으로 밀어 보게 한다 */
	.main_explain_con table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: normal;
	}
	.main_explain_con table tbody { display: table; width: 100%; min-width: 33rem; }
	.main_explain_con table th,
	.main_explain_con table td { padding: .65rem .7rem !important; font-size: 13px; }
}

/* ── 다크모드 ── */
:root[data-theme="dark"] .main_explain_title_wrap > .main_explain_con_div:not(:first-child),
:root[data-theme="dark"] .main_explain_con_wrap > .main_explain_con_div:not(:first-child) {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .main_explain_con_title { border-left-color: var(--mt-primary); }
:root[data-theme="dark"] .main_explain_con_title h2,
:root[data-theme="dark"] .main_explain_con_title h3,
:root[data-theme="dark"] .main_explain_con_title h4 { color: var(--mt-text) !important; }
:root[data-theme="dark"] .main_explain_con > ul > li,
:root[data-theme="dark"] .main_explain_con > div > ul > li,
:root[data-theme="dark"] .main_explain_con ol > li { color: var(--mt-text-sub) !important; }
:root[data-theme="dark"] .main_explain_con > ul > li::before,
:root[data-theme="dark"] .main_explain_con > div > ul > li::before,
:root[data-theme="dark"] .main_explain_con ol > li::before { background: var(--mt-primary); }
:root[data-theme="dark"] .main_explain_con ul li > span[class^="main_explain_con_num_icon"] {
	background: var(--mt-primary) !important;
	color: #0b1220 !important;
}
:root[data-theme="dark"] .main_explain_con table { border-color: var(--mt-line) !important; }
:root[data-theme="dark"] .main_explain_con table th,
:root[data-theme="dark"] .main_explain_con table td {
	border-bottom-color: var(--mt-line) !important;
	color: var(--mt-text-sub) !important;
}
:root[data-theme="dark"] .main_explain_con table th,
:root[data-theme="dark"] .main_explain_con table td:first-child { color: var(--mt-text) !important; }
:root[data-theme="dark"] .main_explain_con table th { background: rgba(148,163,184,.10) !important; }
:root[data-theme="dark"] .main_explain_con a { color: var(--mt-primary) !important; border-bottom-color: rgba(77,155,255,.4); }

/* ══════════════════════════════════════════════════════════════════════════
   게시판 하단 안내 블록 — 상자를 한 겹 줄인다                     2026-08-17
   ────────────────────────────────────────────────────────────────────────
   ★ 무엇이 문제였나 — 상자가 세 겹이었다
       .col-md-9.na-col.card          ← ① 본문 칸 전체가 카드
         ├ #nt_title                     제목·설명
         ├ #bo_list_wrap                 목록 + 페이지 번호
         └ .main_explain_title_wrap   ← ② 안내 블록도 카드
              └ .main_explain_con_div ← ③ 구역마다 또 카드
     ①과 ②는 좌우 끝이 거의 같은 자리라 테두리가 겹쳐 보였다.

   ★ 처음에는 ①을 지우고 목록과 안내를 각각 상자로 나눠 봤다 — 되돌렸다
     그렇게 하면 상자가 #bo_list_wrap 에 그려지는데, 그 요소는 칸 여백
     (.na-col padding .75rem = 12px) **안쪽**에 있다. 그래서 상자가 옛
     카드보다 좌우로 12px 씩 좁아지고, 목록 표가 테두리에 딱 붙어
     "본문이 상자 안에 안 들어가 있다"는 모양이 됐다. 페이지 번호도
     상자 아래 테두리에 닿았다.
     기준은 공지사항 게시판이다 — 거기는 안내 블록이 없어 ① 한 겹이고,
     칸 여백 덕에 표가 테두리에서 12px 떨어져 있다. 다른 게시판도 그 모양이
     되어야 한다.

   ★ 그래서 ②만 없앤다
     바깥 카드(①)는 공지사항과 똑같이 그대로 두고, 안내 블록은 상자를
     그리지 않는다. 대신 위에 구분선을 그어 목록과 갈라 보이게 한다.
     겹은 셋에서 둘(① + ③)로 줄고, 모든 게시판의 목록 모양이 같아진다.

   되돌리기: 이 구역을 지우면 안내 블록이 다시 상자가 된다.
   ══════════════════════════════════════════════════════════════════════════ */
.na-col.card > .main_explain_title_wrap {
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
	margin-top: 1.5rem;
	padding: 1.6rem 0 .25rem;
	border-top: 1px solid var(--mt-line-soft) !important;
}
:root[data-theme="dark"] .na-col.card > .main_explain_title_wrap {
	background-color: transparent !important;
	border-top-color: var(--mt-line) !important;
}

@media (max-width: 575px) {
	.na-col.card > .main_explain_title_wrap { padding: 1.3rem 0 .25rem; }
}

/* ── 안내 블록 머리말의 시작선 맞추기 ──                       2026-08-17
   머리말(.board_notice_top)은 상자가 없고 구역들은 상자가 있다. 그래서
   머리말 글은 카드 안쪽 끝에서, 구역 글은 상자 테두리 안쪽에서 시작해
   두 덩어리의 시작점이 21px 어긋나 보였다("좀 동떨어져 보인다").
   글끼리 줄을 맞춘다 — 구역 상자의 안쪽 여백(1.3rem)만큼 머리말도 들인다.
   상자 테두리는 그보다 바깥에 남아 글을 감싸는 모양이 된다. */
.na-col.card > .main_explain_title_wrap > .main_explain_con_div:first-child {
	padding-left: 1.3rem;
	padding-right: 1.3rem;
}
@media (max-width: 575px) {
	.na-col.card > .main_explain_title_wrap > .main_explain_con_div:first-child {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* ── 먹튀사이트 목록 툴바(.mt-lbar) — 상자를 걷는다 ──         2026-08-17
   통계·도메인검색·정렬이 든 줄인데 통일 상자 규칙에 같이 들어가 있었다.
   그 결과 바깥 카드 테두리와 이 줄의 테두리가 12px 간격으로 나란히 놓여
   상자가 겹쳐 보였다(칸 여백 .na-col padding .75rem 만큼 안쪽이라서다).
   이건 카드가 아니라 도구줄이다. 테두리·바닥색을 빼고 아래 구분선만 남긴다.
   되돌리기: 이 블록을 지우면 다시 상자가 된다. */
#bo_list_wrap > .mt-lbar,
.na-col.card .mt-lbar {
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-bottom: .75rem !important;
}
:root[data-theme="dark"] .na-col.card .mt-lbar {
	background-color: transparent !important;
	border: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   글 보기 '상세 내용' 구분선 (.bo_safety_view_con_line)          2026-08-17
   ────────────────────────────────────────────────────────────────────────
   먹튀신고·먹튀사이트·보증업체 스킨이 함께 쓰는 구분선이다.
   원래 모양은 4px 짜리 파란 테두리로 만든 '서류철 탭' 이 4px 파란 막대
   위에 얹힌 형태였다. 선이 굵고 색면이 넓어 본문보다 구분선이 더 눈에
   띄었고, 사이트의 다른 제목들과 결이 맞지 않았다.

   안내 블록 구역 제목과 같은 규칙으로 맞춘다 —
       ▌ 상세 내용 ─────────────────────
     왼쪽 파란 기둥 + 진한 제목, 남는 폭은 1px 가는 선으로 채운다.
     .text 와 .bar 가 이미 형제로 있어 flex 한 줄이면 그대로 된다.

   ★ HTML 은 안 건드린다 — 스킨 세 개가 같은 마크업을 쓰는데, 굵기·색만
     CSS 로 덮으면 셋이 한 번에 바뀐다. 스킨 style.css 는 !important 를
     쓰지 않으므로 여기서 !important 로 이긴다(스킨 CSS 가 더 나중에
     읽히기 때문에 우선순위만으로는 못 이긴다).

   되돌리기: 이 구역을 지우면 원래 탭 모양으로 돌아간다.
   ══════════════════════════════════════════════════════════════════════════ */
.bo_safety_view_con_line {
	display: flex;
	align-items: center;
	gap: .7rem;
	margin: 1.9rem 0 1.15rem !important;
}
.bo_safety_view_con_line .text {
	flex: 0 0 auto;
	border: 0 !important;
	border-left: 4px solid var(--mt-blue-600) !important;
	border-radius: 0 !important;
	padding: .05rem 0 .05rem .75rem !important;
	color: var(--mt-text) !important;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1.4;
}
.bo_safety_view_con_line .bar {
	flex: 1 1 auto;
	width: auto !important;
	height: 1px !important;
	margin-top: 0 !important;
	background: var(--mt-line-soft) !important;
}

@media (max-width: 575px) {
	.bo_safety_view_con_line { margin: 1.5rem 0 1rem !important; }
	.bo_safety_view_con_line .text { font-size: 16px; }
}

:root[data-theme="dark"] .bo_safety_view_con_line .text {
	color: var(--mt-text) !important;
	border-left-color: var(--mt-primary) !important;
}
:root[data-theme="dark"] .bo_safety_view_con_line .bar {
	background: var(--mt-line) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   보증업체 카드 (#bo_gallery .list-safety-*)                     2026-08-17
   ────────────────────────────────────────────────────────────────────────
   스킨 원본이 오래된 값을 그대로 쓰고 있어 사이트와 따로 놀았다.
     ① 카드에 테두리가 없다 — style.css 의 `*border:1px solid #ddd` 는
        옛 IE 전용 핵(속성 앞의 별표)이라 요즘 브라우저는 통째로 무시한다.
        그래서 이미지·표·버튼이 상자 없이 떠 있었다.
     ② '사이트 이름'·'가입코드' 칸이 #333 검정 칩이다. 카드 한가운데
        검은 덩어리가 두 개 앉아 제일 먼저 눈에 들어왔다.
     ③ 버튼 두 개가 2px 검정 / 2px 빨강으로 굵기와 색이 제각각이다.
     ④ 그림자(5px 5px 8px)가 남아 있고, 마우스를 올리면 테두리가
        0 → 3px 로 굵어지며 카드 크기가 튀었다.

   사이트 규격(테두리 1px · 모서리 10px · 그림자 없음)으로 맞춘다.
   '바로가기' 의 빨강은 유지한다 — 광고 버튼이라 구분이 필요하고,
   글쓴이가 고른 색이다. 굵기와 높이만 '상세보기' 와 맞춘다.

   ★ HTML 은 안 건드린다. 스킨 style.css 는 !important 를 안 쓰므로
     여기서 !important 로 덮으면 읽히는 순서와 상관없이 이긴다.
   되돌리기: 이 구역을 지우면 스킨 원본 모양으로 돌아간다.
   ══════════════════════════════════════════════════════════════════════════ */
#bo_gallery .list-item .list-item-div {
	border: 1px solid var(--mt-line-soft) !important;
	border-radius: 10px !important;
	background: var(--mt-surface) !important;
	box-shadow: none !important;
	overflow: hidden;
	transition: border-color var(--mt-t-fast), background-color var(--mt-t-fast);
}
/* 마우스 올릴 때 테두리 '색' 만 바꾼다 — 굵기를 바꾸면 카드가 튄다 */
#bo_gallery .list-item:hover .list-item-div {
	border: 1px solid var(--mt-blue-600) !important;
}
#bo_gallery .list-item:hover .list-item-div .list-item-title,
#bo_gallery .list-item:hover .list-item-div .list-item-wrap {
	margin: 0 !important;
}
#bo_gallery .list-item .list-item-div .list-item-title {
	border-bottom: 1px solid var(--mt-line-soft) !important;
	background: var(--mt-surface) !important;
	font-weight: 700;
	color: var(--mt-text);
}

/* ── 사이트 이름·가입코드 표 ── */
#bo_gallery .list-safety-info table tr th {
	border: 1px solid var(--mt-line-soft) !important;
	background: var(--mt-surface-2) !important;
	color: var(--mt-text-sub) !important;
	font-weight: 700 !important;
	letter-spacing: -.03em;
}
#bo_gallery .list-safety-info table tr td {
	border: 1px solid var(--mt-line-soft) !important;
	background: var(--mt-surface) !important;
}
#bo_gallery .list-safety-info table tr th { border-right: 0 !important; }
#bo_gallery .list-safety-info table tr + tr th,
#bo_gallery .list-safety-info table tr + tr td { border-top: 0 !important; }

/* ── 버튼 두 개를 같은 규격으로 ── */
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view,
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border-width: 1px !important;
	border-style: solid !important;
	border-radius: 6px !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -.03em;
	padding: 8px 0 !important;
	height: auto !important;
	line-height: 1.5 !important;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site {
	border-color: var(--mt-danger) !important;
	color: var(--mt-danger) !important;
	background: var(--mt-surface) !important;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site:hover {
	background: var(--mt-danger) !important;
	color: #fff !important;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site img {
	margin-top: 0 !important;
	vertical-align: middle !important;
}

/* ── 다크모드 ── */
:root[data-theme="dark"] #bo_gallery .list-item .list-item-div {
	border-color: var(--mt-line) !important;
	background: var(--mt-surface) !important;
}
:root[data-theme="dark"] #bo_gallery .list-item:hover .list-item-div {
	border-color: var(--mt-primary) !important;
}
:root[data-theme="dark"] #bo_gallery .list-safety-info table tr th {
	background: var(--mt-surface-2) !important;
	border-color: var(--mt-line) !important;
	color: var(--mt-text-sub) !important;
}
:root[data-theme="dark"] #bo_gallery .list-safety-info table tr td {
	background: var(--mt-surface) !important;
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_site {
	background: var(--mt-surface-2) !important;
	border-color: #E17373 !important;
	color: #E17373 !important;
}
:root[data-theme="dark"] #bo_gallery .list-safety-item-btn-wrap a.btn_safety_site:hover {
	background: #E17373 !important;
	color: #0d1117 !important;
}

/* ── 먹튀사이트 카드: '피해액' 라벨과 금액을 같은 크기로 ──    2026-08-17
   라벨 12px, 금액 18px 이라 한 줄 안에서 글자 크기가 크게 어긋났다.
   둘을 본문 크기(15px)로 맞춘다. 금액은 굵기와 빨간색으로만 강조한다. */
.mt-card__amtl,
.mt-card__amt {
	font-size: 15px !important;   /* f-de */
	line-height: 1.45 !important;
}
.mt-card__amtbox { align-items: center; }

@media (max-width: 575px) {
	.mt-card__amtl,
	.mt-card__amt { font-size: 14px !important; }
}

/* ── 보증업체 카드 모바일 정리 ──                              2026-08-17
   좁은 화면에서 카드가 깨져 있었다. 스킨의 모바일 CSS 가
       .img-wrap        왼쪽으로 흘리고(float) 폭 38%
       .list-safety-info 오른쪽 calc(100% - 38% - 10px)
   로 두 단을 만드는데, 이미지 칸이 제 높이를 못 잡아 왼쪽이 통째로
   비어 버리고 표만 오른쪽에 남았다. 버튼도 '상세보기' 가 한 줄을 다
   먹고 '바로가기' 가 그 아래로 밀렸다.

   좁은 화면에서 두 단으로 나눌 이유가 없다. PC 와 똑같이 위에서 아래로
   쌓는다 — 이미지, 표, 버튼 순서. 버튼은 둘을 같은 폭으로 나눈다.

   ★ :not(:has(> .mt-card)) — 먹튀사이트 카드는 제외한다.
     그쪽은 좁은 화면에서 의도적으로 2단(이미지 42% + 글)으로 만든 것이다. */
#bo_gallery .list-safety-item-btn-wrap {
	display: flex;
	gap: 6px;
}
#bo_gallery .list-safety-item-btn-wrap > a {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
}

@media (max-width: 575px) {
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap {
		float: none !important;
		width: auto !important;
		margin: 0 0 .5rem !important;
	}
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) .list-safety-info {
		float: none !important;
		width: 100% !important;
		margin-top: 0 !important;
	}
	#bo_gallery .list-item-wrap:not(:has(> .mt-card))::after {
		content: '';
		display: block;
		clear: both;
	}
	#bo_gallery .list-safety-info table tr th { width: 90px !important; }
}

/* ── 보증업체 카드: 모바일에서 이미지가 통째로 사라지던 문제 ── 2026-08-17
   스킨의 좁은화면 규칙이 이렇게 되어 있다:
       #bo_gallery .img-wrap { float:left; width:38%; height:100%;
                               padding-bottom:0 !important; }
   부모에 높이가 없는데 height:100% 를 주고, 비율을 만들던
   padding-bottom(인라인 90%)까지 0 으로 눌러 버려서 이미지 칸의 높이가
   0 이 됐다. 그래서 카드 위쪽이 통째로 비어 보였다.
   (예전에는 이 규칙을 전역으로 덮고 있었는데, 그 덮개를 먹튀사이트
    카드 전용으로 좁히면서 보증업체 쪽이 드러났다.)
   비율 상자를 되살린다 — 90% 는 스킨이 인라인으로 쓰는 값과 같다. */
@media (max-width: 575px) {
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap {
		float: none !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 .55rem !important;
		padding-bottom: 90% !important;
		position: relative;
	}
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap .img-item {
		position: absolute !important;
		top: 0; right: 0; bottom: 0; left: 0;
	}
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap .img-item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* ── 먹튀사이트 게시판: 기본 검색폼 숨김 ──                    2026-08-17
   이 게시판에는 위쪽 도구줄에 '도메인 찾기' 가 따로 있다. 그런데 검색을
   하고 나면 그누보드 기본 검색폼이 결과 위에 펼쳐진다. 두 개가 겹칠 뿐
   아니라, 기본폼의 검색대상(제목·내용·글쓴이)에는 정작 이 게시판에서
   찾을 일이 가장 많은 '사이트 주소' 가 없어서 헷갈리기만 한다.

   화면에서만 감춘다 — 마크업은 그대로라 검색 기능·주소는 안 바뀐다.
   판별은 도구줄(.mt-lbar) 유무로 한다. 그게 이 게시판 전용이다.
   되돌리기: 이 규칙을 지우면 기본 검색폼이 다시 보인다. */
#bo_list_wrap:has(> .mt-lbar) > #bo_search {
	display: none !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   보증업체 — 목록 2열 · 상세 상단 정리                          2026-08-17
   ══════════════════════════════════════════════════════════════════════════ */

/* ── ① 좁은 화면에서 2열 ──
   마크업이 row-cols-1 이라 모바일에서 카드가 한 줄에 하나씩만 나왔다.
   배너는 가로로 긴 그림이라 한 장씩 쌓으면 목록이 끝없이 길어진다.
   PC 는 원래대로 3열(row-cols-md-3), 좁은 화면만 2열로 바꾼다.
   부트스트랩 유틸리티라 !important 로 눌러야 한다. */
@media (max-width: 767.98px) {
	/* 먹튀사이트 카드(.mt-card)는 제외 — 그쪽은 카드 안이 이미 2단
	   (이미지 42% + 글)이라 좁은 화면에서 둘씩 놓으면 글자가 뭉갠다. */
	#bo_gallery ul#list-body.row-cols-1 > .list-item:not(:has(.mt-card)) {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
}

/* ── ② 글 제목 위 여백 — 다른 게시판과 맞춘다 ──
   다른 게시판은 <article id="bo_v" class="mb-4 mt-2">, 이 게시판만 mt-2 가
   빠져 제목이 위 설명글에 붙어 있었다. 빠진 쪽에만 같은 값을 준다. */
#bo_v:not(.mt-2) { margin-top: .5rem; }

/* ── ③ 상세 상단: 썸네일과 표의 높이를 맞춘다 ──
   원래는 이미지를 왼쪽에 흘리고(float) 표가 남은 폭을 쓰는 구조라
   둘의 높이가 따로 놀았다. '교환여부' 줄을 뺀 뒤로 차이가 더 벌어졌다.
   가로로 나란히 두되 높이를 같이 늘린다 — 표는 height:100% 를 주면
   행들이 남는 높이를 나눠 갖는다.
   좁은 화면(≤576px)은 스킨이 위아래로 쌓으므로 건드리지 않는다. */
@media (min-width: 577px) {
	.bo_safety_top_con_wrap {
		display: flex;
		align-items: stretch;
		gap: 15px;
	}
	/* ── 슬롯 270 고정 + 안 자르기 ──────────────────  2026-08-22
	   전에는 스킨의 height:266px 를 그대로 쓰고 img 에 object-fit:cover 를
	   걸었다. cover 는 여백을 절대 안 남기므로 규격(330x266)에서 조금만
	   벗어나도 소리 없이 잘라냈다.
	     실측: 330x226 배너 → 266/226=1.177 배 확대 → 388x266 → 좌우 58px 잘림
	     (/top/totosite/5, 48, 473, 2021, 2022, 2025, 2026 이 그렇게 잘려 있었다)
	   ★ 규격을 330x270 으로 올리고 contain 으로 바꾼다.
	     · 어떤 크기가 와도 절대 안 잘린다. 대신 규격에서 벗어난 그림은
	       위아래·좌우에 여백이 생겨 **눈에 띈다** — 고칠 대상을 바로 찾으라는 뜻이다.
	     · 규격 330x266 은 위아래 2px 여백뿐이라 사실상 그대로 보인다.
	   ★ height 를 여기서 못 박는 이유: 스킨이 @media(max-width:1200px) 에서
	     height:auto 로 풀어 버려 1200px 이하에서는 옆 표 높이를 따라갔다.
	     그래서 창 폭에 따라 잘리는 양이 달라졌다. 577px 이상은 전부 270 으로 통일한다.
	   ★ 여백 바탕은 목록 카드와 같은 색을 쓴다(흰 구멍처럼 보이지 않게).
	   ── 옆 표도 같이 270 이 된다 ──
	     align-items:stretch + .tbl_bo_safety_info{height:100%} 라
	     표는 줄 높이를 그대로 따라간다. 표의 자연 높이는 270 보다 작으므로
	     줄 높이는 270 으로 정해지고 표가 거기에 맞춰 늘어난다. */
	.bo_safety_info_img_wrap {
		flex: 0 0 330px;
		max-width: 330px;
		height: 270px;
	}
	.bo_safety_info_img_wrap .img_wrap {
		background: var(--mt-surface-2);
		overflow: hidden;
	}
	.bo_safety_info_img_wrap .img_wrap,
	.bo_safety_info_img_wrap .img_wrap #bo_v_img,
	.bo_safety_info_img_wrap .img_wrap #bo_v_img .view_image { height: 100%; }
	.bo_safety_info_img_wrap .img_wrap #bo_v_img img {
		height: 100%;
		object-fit: contain;
	}
	.bo_safety_info_tbl_wrap {
		float: none !important;
		width: auto !important;
		flex: 1 1 auto;
		min-width: 0;
		margin-top: 0 !important;
	}
	.tbl_bo_safety_info { height: 100%; }
}

/* ── ④ 상세 표를 사이트 톤으로 ── (목록 카드와 같은 규칙)
   머리칸이 #333 검정이라 흰 카드 안에서 검은 덩어리로 보였다. */
.tbl_bo_safety_info tr th {
	border: 1px solid var(--mt-line-soft) !important;
	background: var(--mt-surface-2) !important;
	color: var(--mt-text-sub) !important;
	font-weight: 700 !important;
	letter-spacing: -.03em;
	border-right: 0 !important;
}
.tbl_bo_safety_info tr td {
	border: 1px solid var(--mt-line-soft) !important;
	background: var(--mt-surface) !important;
	color: var(--mt-text) !important;
}
.tbl_bo_safety_info tr + tr th,
.tbl_bo_safety_info tr + tr td { border-top: 0 !important; }
.bo_safety_info_tbl_wrap {
	box-shadow: none !important;
	border-radius: 10px;
	overflow: hidden;
}

/* ── ⑤ 게임종류 배지 — 다크모드에서 글자가 안 보였다 ──
   스킨이 background:#edeef0 / color:#666 을 쓴다. 다크에서는 배경만
   어두워지고 글자색은 #666 그대로라 바닥에 묻혔다. 둘 다 지정한다. */
.tbl_bo_safety_info tr td .icon_safety_game {
	display: inline-block;
	background: var(--mt-surface-2) !important;
	color: var(--mt-text-sub) !important;
	border: 1px solid var(--mt-line-soft);
	border-radius: 6px !important;
	padding: 3px 9px !important;
	line-height: 1.5 !important;
}
:root[data-theme="dark"] .tbl_bo_safety_info tr th,
:root[data-theme="dark"] .tbl_bo_safety_info tr td {
	border-color: var(--mt-line) !important;
}
:root[data-theme="dark"] .tbl_bo_safety_info tr th {
	background: var(--mt-surface-2) !important;
	color: var(--mt-text-sub) !important;
}
:root[data-theme="dark"] .tbl_bo_safety_info tr td {
	background: var(--mt-surface) !important;
	color: var(--mt-text) !important;
}
:root[data-theme="dark"] .tbl_bo_safety_info tr td .icon_safety_game {
	background: var(--mt-surface-2) !important;
	color: var(--mt-text) !important;
	border-color: var(--mt-line);
}

/* ── 보증업체 카드: 좁은 화면 2열에 맞춰 다시 짠다 ──          2026-08-17
   한 줄에 둘씩 놓으니 카드 안쪽 폭이 170px 안팎이 됐다. 그 폭에는
   예전 값들이 그대로 안 맞는다.
     ① 썸네일이 잘렸다
        비율 상자를 90% 로 잡아 뒀는데 배너는 거의 다 330x266(=80.6%) 이다.
        상자가 그림보다 세로로 길어서 object-fit:cover 가 좌우를 잘라냈다.
        → 상자를 그림 비율에 맞추고, 그래도 다른 비율이 섞여 있으므로
          contain 으로 바꿔 어떤 그림도 안 잘리게 한다.
     ② 표의 머리칸이 colgroup 으로 90px 고정이라 값 칸이 80px 밖에 안 남았다.
        → table-layout:fixed 로 비율(38%)로 바꾸고 글자를 줄인다.
     ③ 버튼 둘을 나란히 두면 하나에 82px — '상세보기 +' 가 접힌다.
        → 위아래로 쌓는다. */
@media (max-width: 767.98px) {
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap {
		padding-bottom: 81.8% !important;   /* 330x270 — 상세 슬롯과 같은 비율 (2026-08-22) */
		background: var(--mt-surface-2) !important;
	}
	#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap .img-item img {
		object-fit: contain !important;
	}

	#bo_gallery .list-safety-info table {
		table-layout: fixed;
		width: 100%;
	}
	#bo_gallery .list-safety-info table colgroup { display: none; }
	#bo_gallery .list-safety-info table tr th {
		width: 38% !important;
		font-size: 11px !important;
		padding: 0 4px !important;
		height: 30px !important;
		letter-spacing: -.06em;
		word-break: keep-all;
	}
	#bo_gallery .list-safety-info table tr td {
		width: 62% !important;
		font-size: 12px !important;
		padding: 0 5px !important;
		height: 30px !important;
		letter-spacing: -.04em;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#bo_gallery .list-safety-item-btn-wrap {
		flex-direction: column;
		gap: 5px;
	}
	#bo_gallery .list-safety-item-btn-wrap > a {
		width: 100%;
		font-size: 13px;
		padding: 7px 0 !important;
	}
}

/* ── 보증업체 썸네일: 상자는 고정, 그림은 안 자른다 ──        2026-08-17
   두 가지를 동시에 만족시켜야 한다.
     · 그림이 잘리거나 늘어나면 안 된다
     · 옆 카드와 상자 크기가 같아야 한다 (그림이 작아도)

   ── 앞서 무엇이 잘못됐나 ──
   ① 처음: 비율 상자 90% + object-fit 지정 없음
      스킨이 img 에 width:100%/height:100% 를 준다. 상자가 그림보다
      세로로 기니 그림이 **늘어나** 찌그러졌다. 이게 '짤린다' 로 보였다.
   ② 다음: 비율 상자를 아예 없애고 그림을 제 높이로 흐르게 함
      안 잘리긴 하는데 그림 크기가 제각각이라 카드 높이가 다 달라졌다.

   ── 지금 방식 ──
   상자는 비율로 고정(81.8% = 330x270 — 2026-08-22 상세 슬롯과 통일. 전에는
   80.6%=330x266 이었다)하고
   그림은 object-fit:contain 으로 상자 안에 통째로 넣는다.
     · 세로로 긴 상자 + contain → 가로로 긴 배너는 위아래에 여백이 생긴다
       (잘리는 것보다 낫고, 카드 높이는 모두 같아진다)
     · 로고형 정사각 그림도 그대로 다 보인다
   ★ 인라인 style="padding-bottom:90%" 를 이기려면 !important 가 필요하다. */
#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap {
	position: relative;
	height: 0 !important;
	/* 2026-08-22 — 상세 카드 슬롯을 330x270 으로 올리면서 목록도 같은 비율로 맞춘다.
	   80.6%(330x266) → 81.8%(330x270). contain 이라 어떤 그림도 안 잘리는 건 그대로다. */
	padding-bottom: 81.8% !important;
	background: var(--mt-surface-2) !important;
	overflow: hidden;
}
#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap .img-item {
	position: absolute !important;
	top: 0; right: 0; bottom: 0; left: 0;
}
#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap .img-item a { display: block; height: 100%; }
#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .img-wrap .img-item img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

/* 카드 높이도 줄 단위로 맞춘다 — 업체명이 두 줄이 되어도 어긋나지 않게.
   ★ 먹튀사이트 카드(.mt-card)는 반드시 빼야 한다.            2026-08-17
     그쪽은 좁은 화면에서 .list-item-wrap 을 grid 로 짜 두었다
     (이미지 1열 · 글 2열). 여기서 flex 세로배치로 덮어 버리면 그 격자가
     통째로 깨져 이미지가 사라지고 글이 한쪽으로 몰린다 — 실제로 그렇게
     만들어서 /top/mtsite 모바일이 깨졌다. */
#bo_gallery ul#list-body > .list-item:not(:has(.mt-card)) { display: flex; }
#bo_gallery ul#list-body > .list-item:not(:has(.mt-card)) > .list-item-div {
	display: flex;
	flex-direction: column;
	width: 100%;
}
#bo_gallery ul#list-body > .list-item:not(:has(.mt-card)) > .list-item-div > .list-item-wrap {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
#bo_gallery .list-item-wrap:not(:has(> .mt-card)) > .list-safety-info { flex: 1 1 auto; }

/* ── 상세보기 버튼줄 위 여백 ──
   ★ !important 가 있어야 한다.                                2026-08-17
     스킨 style.css 가 좁은 화면에서 margin-top:5px / 10px 를 직접 준다.
     스킨 CSS 는 이 파일보다 **나중에** 읽히므로, 특이도가 같으면
     그쪽이 이긴다. 그래서 처음 넣은 .7rem 이 화면에 반영되지 않았다. */
#bo_gallery .list-safety-item-btn-wrap {
	margin-top: .8rem !important;
}

/* ── 회원가입 휴대폰 인증: 두 버튼 폭 맞추기 ──                2026-08-17
   같은 자리에 두 줄이 쌓이는 구조다.
       [휴대폰번호        ][인증번호 발송]
       [인증번호 4자리    ][인증확인    ]
   글자 수가 7자와 4자라 아래 버튼이 눈에 띄게 좁았고, 그래서 두 줄의
   입력칸 끝선이 서로 어긋나 보였다. 두 버튼에 같은 최소폭을 준다.
   ★ 최소폭이라 글자가 늘어나면 버튼이 따라 넓어진다 — 잘릴 일은 없다. */
#btn_sms_cert_send,
#btn_sms_cert_check {
	min-width: 8.75rem;
	text-align: center;
	white-space: nowrap;
	letter-spacing: -.02em;
}
/* 인증번호 칸은 위의 휴대폰번호 칸과 **완전히 같게** 둔다.
   가운데정렬·자간·굵게를 줬더니 두 줄이 서로 다른 입력칸처럼 보였다.
   같은 자리에 쌓이는 칸이라 생김새가 같아야 한 세트로 읽힌다. */
#sms_cert_code {
	text-align: left;
	letter-spacing: normal;
	font-weight: 400;
}
@media (max-width: 575px) {
	#btn_sms_cert_send,
	#btn_sms_cert_check { min-width: 7.25rem; }
}

/* ── 먹튀사이트 상세: 요약 표에 상자를 준다 ──                 2026-08-17
   이 표(.mt-sum__tbl)는 줄 사이 구분선만 있고 테두리가 없었다. 옆의
   증거 이미지에는 테두리가 있어서 두 칸이 서로 다른 물건처럼 보였고,
   보증업체 상세의 같은 성격 표와도 생김새가 달랐다.
   보증업체 표(.tbl_bo_safety_info)와 같은 규칙으로 맞춘다 —
   바깥 테두리 + 둥근 모서리 + 머리칸 옅은 바닥. */
.mt-sum__info .mt-sum__tbl {
	border: 1px solid var(--mt-line-soft);
	border-radius: 10px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.mt-sum__tbl th {
	background: var(--mt-surface-2);
	border-right: 1px solid var(--mt-line-soft);
	color: var(--mt-text-sub);
	font-weight: 700;
}
.mt-sum__tbl th,
.mt-sum__tbl td { border-bottom: 1px solid var(--mt-line-soft); }
.mt-sum__tbl tr:last-child th,
.mt-sum__tbl tr:last-child td { border-bottom: 0; }

:root[data-theme="dark"] .mt-sum__info .mt-sum__tbl { border-color: var(--mt-line); }
:root[data-theme="dark"] .mt-sum__tbl th {
	background: var(--mt-surface-2);
	border-right-color: var(--mt-line);
	color: var(--mt-text-sub);
}
:root[data-theme="dark"] .mt-sum__tbl th,
:root[data-theme="dark"] .mt-sum__tbl td { border-bottom-color: var(--mt-line); }

/* ── 보증업체 목록 검색칸 (.mt-findbar) ──                     2026-08-17
   도구줄을 관리자 전용으로 돌리면서 회원용 검색 입구가 없어져 따로 뺐다.

   ★ 2026-08-17 다시 디자인 — 사이트 언어에 맞춘다
     처음엔 26rem 짜리 연회색 알약 하나여서 원색 배너 사이에서 그냥 빈 띠로
     읽혔고("티가 안 난다"), 그다음엔 파란 테두리 2px + 그림자 + 검은 굵은
     제목으로 키웠더니 이번엔 이 사이트 것이 아니게 됐다("디자인이 구리다").

     이 사이트의 규격은 이미 정해져 있다 — 먹튀사이트 게시판의 도구줄이 그것이다.
         상자   .mt-lbar       1px --mt-line-soft · radius 10px · 그림자 없음
         입력칸 .mt-lbar__find 알약 · --mt-surface-2 바탕 · 높이 34px · 14px
         버튼   원형 26px · 파랑 그라디언트(135deg 500→700) · 눌리면 scale(.94)
         곁글   12px --mt-text-mute
     그대로 따른다. 상자는 위쪽 카드 목록에 `.mt-findbar` 를 끼워 넣어
     **한 곳에서 같이 관리**되게 했다(색·모서리가 영영 어긋나지 않는다).

     배치도 도구줄과 같다 — 왼쪽에 무엇을 찾는 칸인지, 오른쪽에 검색.
   되돌리기: 이 블록과 위 카드 목록의 `.mt-findbar` 두 줄을 지우면 된다. */
.mt-findbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1rem;
	margin: 0 0 1rem;
	padding: .8rem 1rem;
}
.mt-findbar::before {
	content: "보증업체 찾기";
	flex: 0 0 auto;
	font-size: 14px;   /* f-sm */
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--mt-text);
}
.mt-findbar__form {
	position: relative;
	margin: 0 0 0 auto;
	flex: 1 1 240px;
	min-width: 170px;
	max-width: 380px;
}
.mt-findbar__form input[type="text"] {
	width: 100%;
	height: 34px;
	padding: 0 36px 0 13px;
	border: 1px solid var(--mt-line, #d8dee7);
	border-radius: var(--mt-r-pill, 999px);
	background: var(--mt-surface-2, #f7f9fc);
	font-size: 14px;   /* f-sm */
	color: var(--mt-text, #1f2937);
}
.mt-findbar__form input[type="text"]:focus {
	outline: none;
	border-color: var(--mt-blue-500, #1a87ff);
	background: var(--mt-surface, #fff);
	box-shadow: 0 0 0 3px var(--mt-focus, rgba(59,130,246,.15));
}
.mt-findbar__form button {
	position: absolute; right: 4px; top: 4px;
	display: flex; align-items: center; justify-content: center;
	width: 26px; height: 26px;
	padding: 0;
	border: 0; border-radius: 50%;
	background: linear-gradient(135deg, var(--mt-blue-500, #1a87ff), var(--mt-blue-700, #0062cc));
	color: #fff;
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 7px -2px rgba(37,99,235,.65);
	transition: transform var(--mt-t-fast, .12s) ease, box-shadow var(--mt-t-fast, .12s) ease, filter var(--mt-t-fast, .12s) ease;
}
.mt-findbar__form button:hover { filter: brightness(1.08); box-shadow: 0 3px 10px -2px rgba(37,99,235,.8); }
.mt-findbar__form button:active { transform: scale(.94); }
.mt-findbar__form button:focus-visible { outline: 2px solid var(--mt-blue-500, #1a87ff); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .mt-findbar__form button { transition: none; } }

.mt-findbar__reset {
	flex: 0 0 auto;
	font-size: 12px;   /* f-xs */
	font-weight: 600;
	color: var(--mt-text-mute, #9aa3af);
	white-space: nowrap;
}
.mt-findbar__reset:hover { color: var(--mt-blue-600, #007bff); }

@media (max-width: 575px) {
	.mt-findbar { padding: .6rem .65rem; }
	.mt-findbar__form { flex: 1 1 100%; max-width: none; margin-left: 0; }
	/* ★ 16px 미만이면 iOS 가 커서 넣을 때 화면을 확대한다. 좁은 화면에서만 올린다 */
	.mt-findbar__form input[type="text"] { font-size: 16px; height: 38px; }
	.mt-findbar__form button { width: 30px; height: 30px; top: 4px; }
}
:root[data-theme="dark"] .mt-findbar__form input[type="text"] {
	background: var(--mt-surface-2);
	border-color: var(--mt-line);
	color: var(--mt-text);
}
:root[data-theme="dark"] .mt-findbar__reset { color: var(--mt-text-dim); }

/* ── 모바일 헤더 검색: 확대 방지 + 아래로 미끄러지기 ──        2026-08-17
   ① 확대 방지
      iOS 사파리는 글자 크기가 16px 미만인 입력칸에 커서가 들어가면
      화면을 자동으로 확대한다(그리고 되돌려 주지 않는다).
      뷰포트에 maximum-scale 을 걸면 막을 수 있지만 손가락 확대까지
      막혀 접근성이 나빠진다. 입력칸 글자만 16px 로 올리는 쪽이 맞다.
   ② 아래로 미끄러지기
      패널이 display 로 툭 나타나서 헤더가 튀는 느낌이었다.
      높이와 투명도를 같이 움직여 자연스럽게 내려오게 한다.
      (인라인 style 로 여닫으므로 transition 은 안 걸린다 — 애니메이션을 쓴다) */
#nt_search.mt-search-inflow { overflow: hidden; }
#nt_search.mt-search-inflow input[name="stx"],
#nt_search.mt-search-inflow input[type="text"] {
	font-size: 16px;   /* 16px 미만이면 iOS 가 확대한다 — 줄이지 말 것 */
}
#nt_search.mt-search-inflow.mt-search-in {
	animation: mt-search-slide .22s cubic-bezier(.22,.61,.36,1);
}
@keyframes mt-search-slide {
	from { max-height: 0;     opacity: 0; transform: translateY(-8px); }
	to   { max-height: 22rem; opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	#nt_search.mt-search-inflow.mt-search-in { animation: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   보증업체 목록 썸네일이 관리자에게만 아래가 잘리던 문제        2026-08-17
   ────────────────────────────────────────────────────────────────────────
   관리자로 보면 각 카드 이미지칸(.img-item)에 선택 체크박스가 함께 나온다.

       <div class="img-item">          ← position:absolute; inset:0; overflow:hidden
           <span class="chk-box">…</span>   ← 여기
           <a><img|video …></a>
       </div>

   `#bo_gallery .chk-box { position:absolute }` 규칙은 **BS4-Basic-Gallery
   스킨의 style.css 에만** 있다. 이 게시판은 BS4-safety 스킨이고 그 파일에는
   .chk-box 규칙이 하나도 없다 → 체크박스가 일반 흐름(static)에 남는다.
   그래서 그림이 27px 아래로 밀리고, .img-item 의 overflow:hidden 이
   **아래 27px 을 잘라낸다.** (실측: 체크박스 18px + 여백)

   img·video 가 똑같이 잘리므로 GIF→MP4 치환과는 무관한, 원래 있던 버그다.
   익명으로 보면 체크박스 자체가 안 나와서 눈에 띄지 않았다.

   BS4-Basic-Gallery 의 원래 의도대로 띄운다.
   되돌리기: 이 블록을 지우면 된다(=다시 잘린다).
   ══════════════════════════════════════════════════════════════════════════ */
#bo_gallery .img-item > .chk-box,
#bo_list .img-item > .chk-box {
	position: absolute;
	bottom: 5px;
	right: 10px;
	z-index: 2;
	margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════
   글쓴이 사이드뷰 잠금 뒷정리                                  2026-08-17
   ────────────────────────────────────────────────────────────────────────
   extend/mtgal-sideview-lock.extend.php 와 세트다. 한쪽만 지우면 안 된다.

   비관리자에게는 사이드뷰 메뉴를 비우는데, js/common.js 는 .sv_member/
   .sv_guest 클릭에 팝업(.sv)을 열도록 되어 있어서 **빈 검은 상자**가 뜬다.
   내용이 없으면 아예 안 보이게 한다.
   ══════════════════════════════════════════════════════════════════════════ */
.sv_wrap .sv:empty { display: none !important; }

/* 사이드뷰 잠금 뒷정리 ② — 글쓴이 이름 색                     2026-08-17
   <a class="sv_member"> 였을 때는 링크 규칙에서 검정을 받았는데,
   <span> 이 되면서 주변의 흐린 회색(--mt-ink-400)을 상속받아
   글쓴이 이름만 눈에 띄게 연해졌다. 본문 글자색으로 되돌린다
   (검정 고정이 아니라 토큰이라 다크모드도 따라간다). */
.sv_wrap > span.sv_member,
.sv_wrap > span.sv_guest { color: var(--mt-text); }

/* ══════════════════════════════════════════════════════════════════════════
   등급(레벨) 아이콘 크기 정리                                  2026-08-17
   ────────────────────────────────────────────────────────────────────────
   `/top/mt` 목록에서 아이콘이 글자보다 커서 줄이 아이콘 위주로 읽혔다.
   실측: 아이콘 25x21px ↔ 글쓴이 글자 13px (1.6배) · 댓글도 23~25px ↔ 14px.

   ★ 왜 스킨에서 못 줄였나
     nariya/css/nariya.css:5 가
       .xp-icon img { width:auto !important; height:auto !important; }
     로 **원본 크기를 !important 로 못박아** 둔다. 이기려면 같은 !important 에
     더 높은 특이도가 필요하다. 그래서 여기서 컨테이너 id 를 붙여 덮는다.

   높이만 고정하고 폭은 auto — 아이콘마다 가로세로비가 다르다
   (admin 25x21, 일반등급 23x23). 높이를 맞춰야 줄이 가지런해진다.
   되돌리기: 이 블록을 지우면 원본 크기로 돌아간다.
   ══════════════════════════════════════════════════════════════════════════ */
#bo_list .xp-icon img,
#bo_v_info .xp-icon img,
#bo_vc .xp-icon img,
#new_list .xp-icon img,
.sv_wrap ~ .xp-icon img {
	height: 16px !important;
	width: auto !important;
	vertical-align: -3px;
}

/* ══════════════════════════════════════════════════════════════════════════
   먹튀사이트 목록 툴바(.mt-lbar) 재배치                          2026-08-17
   ────────────────────────────────────────────────────────────────────────
   문제: PC 에서 [지표] ─── 큰 공백 ─── [검색] [정렬] 세 덩어리가 따로 놀았다.
     ① 지표는 배경 없는 맨글자라 무게가 없는데, 오른쪽 정렬은 상자를 두르고
        있어 좌우가 안 맞았다(왼쪽만 허전).
     ② 검색칸 max-width 380px 이 남는 폭을 안 받아 가운데가 통째로 비었다.

   조치: 좌우를 같은 언어로 맞춘다 —
       [ 지표 상자 ]  ──── [ 검색 알약 ] [ 정렬 상자 ]
     지표에도 정렬과 똑같은 --mt-surface-2 바탕 + --mt-line-soft 테두리를
     주면 "왼쪽 정보 / 오른쪽 도구" 두 덩어리로 읽힌다. 남는 폭은 검색칸이
     받아 가운데 공백이 사라진다.

   ★ 새 색·새 모서리를 만들지 않는다. 전부 기존 토큰이다.
     (.mt-lbar 자체는 6000줄 블록이 상자를 걷어냈다 — 그래서 안쪽에
      상자를 둬도 테두리가 겹치지 않는다.)

   되돌리기: 이 구역만 지우면 이전 배치로 돌아간다.
   ══════════════════════════════════════════════════════════════════════════ */
.mt-lbar { gap: .6rem .9rem; }

/* ── 왼쪽: 지표 상자 ── */
.mt-lbar__stat {
	padding: .4rem .95rem;
	border: 1px solid var(--mt-line-soft, #e9edf3);
	border-radius: 10px;
	background: var(--mt-surface-2, #f7f9fc);
}
/* 값과 설명을 칸 가운데로. 값(18px 굵게)과 설명(12px)의 길이가 제각각이라
   왼쪽 정렬이면 "206 / 등록된 사이트" 처럼 위아래가 어긋나 보인다.
   가운데로 모으면 두 칸이 세로선을 사이에 두고 대칭으로 읽힌다.
   모바일은 이미 .mt-lbar__stat 에 text-align:center 가 있어 동작이 같다. */
.mt-lbar__stat .mt-stat { padding-right: .95rem; text-align: center; }
.mt-lbar__stat .mt-stat + .mt-stat {
	padding-left: .95rem;
	border-left-color: var(--mt-line, #d8dee7);
}
.mt-lbar__stat .mt-stat:last-child { padding-right: 0; }

/* ── 오른쪽: 검색이 남는 폭을 받는다 ──
   380px 상한을 480px 로 올린다. 아주 없애면 1600px 화면에서 알약 하나가
   화면을 가로지르듯 늘어나 되레 볼품없다. 상한은 남긴다. */
.mt-lbar__tools { gap: .55rem; }
.mt-lbar__find { flex: 1 1 260px; max-width: 480px; }

@media (max-width: 575px) {
	/* 모바일은 지표가 이미 한 줄을 다 쓴다. 상자 안쪽 여백만 조금 줄여
	   목록이 위로 올라오게 한다. 가운데 세로선 위치는 그대로 1fr 1fr. */
	.mt-lbar__stat { padding: .45rem .5rem; }
	.mt-lbar__stat .mt-stat { padding-right: .5rem; }
	.mt-lbar__stat .mt-stat + .mt-stat { padding-left: .5rem; }
	.mt-lbar__find { flex: 1 1 auto; max-width: none; }
}

:root[data-theme="dark"] .mt-lbar__stat {
	background: var(--mt-surface-2);
	border-color: var(--mt-line);
}

/* ── 아주 좁은 화면(≤359px, iPhone SE 계열) ──                 2026-08-17
   360px 를 기준으로 잡은 [검색][정렬] 한 줄 배치가 320px 에서는
   검색칸에 약 120px 밖에 안 남아 안내문구가 잘리고 버튼이 글자를 덮었다.
   이 폭에서만 두 줄로 푼다 — 정렬은 폭을 다 쓰는 분절 버튼이 되어
   오히려 누르기 쉬워진다. 360px 이상은 그대로 한 줄이다. */
/* ★ 선택자에 .mt-lbar__tools 를 붙여야 한다 — 5046줄의
     `.mt-lbar__tools .mt-lbar__sort { flex: 0 0 auto }` 가 클래스 두 개라
     `.mt-lbar__sort` 하나로는 뒤에 써도 못 이긴다(실제로 안 먹었다). */
@media (max-width: 359px) {
	.mt-lbar__tools { flex-wrap: wrap; }
	.mt-lbar__tools .mt-lbar__find { flex: 1 0 100%; }
	.mt-lbar__tools .mt-lbar__sort { flex: 1 0 100%; justify-content: center; }
	.mt-lbar__s { flex: 1 1 0; text-align: center; }
}


