@charset "utf-8";
/* ============================================================
   먹튀의민족 (MTMJ) — gnuboard5 theme
   화이트 베이스 / 민트는 포인트 컬러로만 / Pretendard
   ============================================================ */

:root{
  /* 브랜드 포인트 (로고·주요 CTA·활성 상태·작은 포인트에만 사용) */
  /* 피그마 시안 추출값 — 밝은 민트는 '면'에만, 텍스트/링크는 딥틸(--mint-2) 사용 */
  --mint:#0cefd3; --mint-2:#00a39b; --mint-3:#6be4d5; --mint-pale:#e6fcf8; --mint-deep:#00a39b;
  --on-mint:#08302c;            /* 밝은 민트 면 위의 글자색 (흰색은 대비 부족) */
  --sky-pale:#cbeeff;           /* 텔레그램 상담 박스 */
  /* 텍스트 계층 */
  --ink:#131313; --ink-2:#606060; --ink-3:#86888a;
  /* 면 */
  --bg:#f7fbfe; --card:#ffffff; --soft:#f7fbfe; --soft-2:#f3f5f7; --cream:#f7fbfe;
  /* 라인 */
  --line:#e5e5e3; --line-2:#dadde0;
  --container:1446px; --container-pad:24px;   /* 시안 실측: 콘텐츠 폭 1398px (=1446-24*2) */
  /* 보조 : 위험(레드) */
  --coral:#d9584f; --coral-2:#c44b42; --coral-pale:#fff3f2;
  /* 보조 : 활동·포인트·인기 (오렌지) */
  --orange:#e98232; --orange-2:#d86f22; --orange-pale:#fff3e9; --orange-line:#f4d7c2;
  --mint-line:#cdebe8;
  --yellow:#e98232;
  /* 보조 : 보증업체 전용 (보라) — GNB 한 칸에만 쓰는 색이라 다른 곳에 번지지 않게 한다 */
  --vip:#8b5cf6; --vip-2:#a78bfa; --vip-deep:#6d28d9; --vip-glow:rgba(139,92,246,.45);
  --sans:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',system-ui,sans-serif;
  --han:var(--sans); --jua:var(--sans); --do:var(--sans); --body:var(--sans);
  --r:10px;
}
/* ── 다크(야간) 모드 : 토큰만 교체, 레이아웃 동일 ── */
:root[data-theme="dark"]{
  --mint:#0cefd3; --mint-2:#3fe0d0; --mint-3:#6be4d5; --mint-pale:#0e2f2c; --mint-deep:#00a39b;
  --on-mint:#08302c; --sky-pale:#123243;
  --ink:#e8e8e8; --ink-2:#a5a5a5; --ink-3:#7c7c7c;
  --bg:#141414; --card:#1b1b1b; --soft:#1f1f1f; --soft-2:#252525; --cream:#1f1f1f;
  --line:#2f2f2f; --line-2:#3a3a3a;
  --coral:#d9584f; --coral-2:#e08a82; --coral-pale:#2a1c1a;
  --orange:#e08a4a; --orange-2:#e98232; --orange-pale:#2a2118; --orange-line:#4a3a28;
  --mint-line:#1e3d3b; --yellow:#e08a4a;
  --vip:#a78bfa; --vip-2:#c4b5fd; --vip-deep:#c4b5fd; --vip-glow:rgba(167,139,250,.55);
}
:root[data-theme="dark"] img{opacity:.94;}
:root[data-theme="dark"] .vsearch-inp,
:root[data-theme="dark"] .login input,
:root[data-theme="dark"] .vstat li,
:root[data-theme="dark"] .lcard .lh,
:root[data-theme="dark"] .drawer .pnl,
:root[data-theme="dark"] .ptpill,
:root[data-theme="dark"] .btn.o,
:root[data-theme="dark"] .btn_b01,:root[data-theme="dark"] .btn_b02,:root[data-theme="dark"] .btn_b03,
:root[data-theme="dark"] .btn_b04,:root[data-theme="dark"] .btn_admin,:root[data-theme="dark"] .btn_close,
:root[data-theme="dark"] .btn_cancel,:root[data-theme="dark"] a.btn_b01,:root[data-theme="dark"] a.btn_b02,
:root[data-theme="dark"] .pg_page,:root[data-theme="dark"] .pg_start,:root[data-theme="dark"] .pg_prev,
:root[data-theme="dark"] .pg_next,:root[data-theme="dark"] .pg_end,
:root[data-theme="dark"] #bo_v_act a,
:root[data-theme="dark"] .mml-btn,:root[data-theme="dark"] .mml-stats li,
:root[data-theme="dark"] .mmbn-btn,:root[data-theme="dark"] .mmbn-card,
:root[data-theme="dark"] #bo_sch select,:root[data-theme="dark"] #bo_sch input[type=text],
:root[data-theme="dark"] .tbl_frm01 input,:root[data-theme="dark"] .tbl_frm01 select,
:root[data-theme="dark"] .tbl_frm01 textarea,:root[data-theme="dark"] .frm_input,
:root[data-theme="dark"] #bo_vc_w textarea,:root[data-theme="dark"] #wr_content,
:root[data-theme="dark"] #login_fs input{background:var(--card);color:var(--ink);}
:root[data-theme="dark"] .ch{background:var(--card);}
:root[data-theme="dark"] footer.ft{background:#0d0d0d;}
:root[data-theme="dark"] .mml-wrap.tone-danger{--c-main:#d9584f; --c-deep:#dd8f88; --c-pale:#2a1e1d;}
:root[data-theme="dark"] .mml-wrap.tone-mint  {--c-main:#2fc9c4; --c-deep:#4fd6d1; --c-pale:#15302f;}
:root[data-theme="dark"] .mml-wrap.tone-news  {--c-main:#7385bb; --c-deep:#94a4d4; --c-pale:#1c2030;}
:root[data-theme="dark"] .mml-wrap{--c-ink:#e8e8e8; --c-ink3:#7c7c7c; --c-line:#2f2f2f; --c-line2:#3a3a3a; --c-soft:#1f1f1f;}
:root[data-theme="dark"] .mml-btn.primary{color:#0f0f0f;}
/* 보증업체 스킨은 --b-* 토큰을 쓴다 (예전 --mm-* 오버라이드는 적용되지 않아 다크에서 흰 화면이었음) */
:root[data-theme="dark"] .mmbn-wrap,
:root[data-theme="dark"] .mmbn-guide,
:root[data-theme="dark"] .mmbn-apply,
:root[data-theme="dark"] .mmbn-docs{
  --b-ink:#e8e8e8; --b-ink-2:#a5a5a5; --b-ink-3:#7c7c7c;
  --b-line:#2f2f2f; --b-line-2:#3a3a3a; --b-row:#333; --b-line-soft:#292929;
  --b-soft:#1f1f1f; --b-soft-2:#252525;
  --b-mint:#2fc9c4; --b-mint-deep:#3fd3ce; --b-mint-pale:#15302f;
  --b-orange:#e08a4a; --b-orange-deep:#e9a06a; --b-orange-pale:#2a2118; --b-orange-line:#4a3a28;
}
:root[data-theme="dark"] .mmbn-hero,
:root[data-theme="dark"] .mmbn-steps li,
:root[data-theme="dark"] .mmbn-check{background:var(--card);}
:root[data-theme="dark"] .mmbn-callout .lb{background:var(--card);}
:root[data-theme="dark"] .mmbn-pay{background:#0f0f0f;border:1px solid var(--line);}
:root[data-theme="dark"] .mmbn-pay p{color:#e8e8e8;}
:root[data-theme="dark"] .mmbn-card.empty{background:var(--soft);}
/* 보증업체 개편 : 배너월 · 상세/바로가기 버튼 */
:root[data-theme="dark"] .mmbn-wall-it{background:var(--soft);}
:root[data-theme="dark"] .mmbn-act-more,
:root[data-theme="dark"] .mmbn-card .mmbn-banner .mmbn-rec{background:var(--card);color:var(--ink-2);}
:root[data-theme="dark"] .mmbn-act-go{color:#0f0f0f;}
:root[data-theme="dark"] .mmbn-act-go:hover{background:#5adbd6;border-color:#5adbd6;color:#0f0f0f;}
:root[data-theme="dark"] .mmbn-wall-it .ov{background:rgba(0,0,0,.75);}
:root[data-theme="dark"] .mmbn-wall-it .ov em{color:#0f0f0f;}

/* umji 게시판 스킨 호환 (notice·qa·free 등)
   이 스킨은 UMJI WIKI 테마의 --red / --bg-* / --text-* 토큰을 전제로 만들어졌는데
   먹튀의민족 테마에는 없어 글쓰기 버튼이 '배경 없는 흰 글씨'로 보이지 않았다.
   테마 팔레트로 매핑만 해준다(스킨 파일은 건드리지 않음). */
#bo_list.umji-board,#bo_v.umji-view{
  --red:var(--mint); --red-2:var(--mint-deep); --red-glow:rgba(32,189,183,.20);
  --bg-2:var(--card); --bg-3:var(--soft);
  --text:var(--ink); --text-2:var(--ink-2); --text-3:var(--ink-3);
  --c-cyan:var(--mint-deep); --c-green:#3f9e6a; --c-amber:#c98a3c;
  --c-pink:#b4577f; --c-purple:#6f62b8;
}

/* ===== 통일 아이콘 시스템 (Lucide outline) ===== */
.mmi{
  width:15px;height:15px;flex:0 0 auto;display:inline-block;vertical-align:-2px;
  color:var(--ink-3);stroke-width:1.9;
}
.mmi.b {color:var(--mint-2);}   /* 브랜드 · 검증 */
.mmi.o {color:var(--orange);}   /* 활동 · 포인트 */
.mmi.w {color:var(--coral);}         /* 경고 · 먹튀 피해 */
.mmi.g {color:var(--mint-2);}         /* 검증 완료 */
.mmi.lg{width:18px;height:18px;}
.mmi.xl{width:26px;height:26px;color:var(--ink-3);}
:root[data-theme="dark"] .mmi{color:#8b93a1;}
:root[data-theme="dark"] .mmi.w{color:#c8756c;}
:root[data-theme="dark"] .mmi.g{color:#6aa98d;}

/* 사이드바 최신글 카드 : 스킨 자체 헤더(.lh) 중복 제거 */
.side-latest .lcard{border:none;border-radius:0;background:none;}
.side-latest .lcard .lh{display:none;}

/* 아이콘 + 라벨 정렬 (높이 변화 없이 수직 중앙) */
.ch .chl{display:inline-flex;align-items:center;gap:6px;}
.vstat .k{display:inline-flex;align-items:center;gap:6px;}
.welcome .grid .k{display:inline-flex;align-items:center;justify-content:center;gap:5px;}
.welcome .gol{display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.welcome .gol .mmi{color:currentColor;opacity:.85;}
.login .hi{gap:6px;}
.vsearch-lb .ic{display:inline-flex;align-items:center;}
.vsearch-lb .ic .mmi{width:17px;height:17px;color:var(--ink-2);}
.ptpill{display:inline-flex;align-items:center;gap:5px;}
.ptpill .mmi{width:14px;height:14px;color:var(--orange);}
.rrow .medal.num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--soft-2);color:var(--ink-3);font-size:12px;font-weight:700;}
.rrow .medal.num.top{background:var(--soft-2);color:var(--ink);font-weight:800;}
.mml-file .mmi{width:13px;height:13px;vertical-align:-1px;}
.mml-icon .mmi{color:var(--c-deep);}
.thbtn .mmi{color:var(--ink-2);}

/* 다크모드 토글 버튼 */
.thbtn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;font-size:14px;line-height:0;transition:.15s;}
.thbtn .ic-moon,.thbtn .ic-sun{display:inline-flex;align-items:center;}
.thbtn:hover{background:rgba(128,128,128,.16);}
.thbtn .ic-sun{display:none;}
:root[data-theme="dark"] .thbtn .ic-moon{display:none;}
:root[data-theme="dark"] .thbtn .ic-sun{display:inline-flex;}

*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;cursor:pointer;}
ul,ol{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
img{max-width:100%;}
legend,.sound_only{position:absolute!important;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;}
#hd_login_msg{display:none;}
/* 사이트 공통 컨테이너
   1240px 은 1920 화면에서 화면의 64% 만 쓰는 값이라 좌우가 크게 비었다.
   1400px + 좌우 24px 패딩으로 넓히고, 헤더·상단바·본문이 모두 이 토큰을 쓴다. */
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--container-pad);}
.mm-body{padding:26px var(--container-pad) 40px;}

/* ============ TOP BAR ============ */
.tbar{background:var(--soft);color:var(--ink-3);font-size:11.5px;font-weight:500;box-shadow:inset 0 -1px 0 var(--line);}
.tbar .in{max-width:var(--container);margin:0 auto;padding:0 var(--container-pad);height:30px;display:flex;align-items:center;justify-content:space-between;}
.tbar .l .hide{font-size:11.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink-3);}

/* 실시간 시계 (상단바 중앙) */
.tbar .in{position:relative;}
.tclock{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:inline-flex;align-items:baseline;gap:5px;
  font-size:11.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;pointer-events:none;
}
.tclock .w{color:var(--ink-2);}
.tclock .t{
  font-size:12px;font-weight:700;color:var(--ink-2);letter-spacing:.02em;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum";
}

/* ===== 검증 검색 (메인 콘텐츠) ===== */
.vsearch{
  background:var(--soft);border:1px solid var(--line);border-radius:8px;
  padding:16px;margin-bottom:48px;box-shadow:none;
}
.vsearch-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.vsearch-lb{display:flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;}

.vsearch-inp{
  flex:1 1 320px;min-width:0;height:44px;padding:0 14px;
  background:#fff;border:1px solid var(--line-2);border-radius:8px;
  font-family:inherit;font-size:14px;font-weight:500;color:var(--ink);transition:.15s;
}
.vsearch-inp::placeholder{color:var(--ink-3);font-weight:500;}
.vsearch-inp:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px rgba(32,189,183,.14);}
.vsearch-btn{
  flex:0 0 auto;height:44px;padding:0 24px;cursor:pointer;
  background:var(--mint);border:1px solid var(--mint);border-radius:8px;
  font-family:inherit;font-size:14.5px;font-weight:700;letter-spacing:-.02em;color:var(--on-mint);transition:.15s;
}
.vsearch-btn:hover{background:var(--mint-deep);border-color:var(--mint-deep);}

.vsearch-hot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;}
.vsearch-hot .k{color:var(--ink-3);font-weight:600;}
.vsearch-hot a{color:var(--ink-2);font-weight:500;background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px 9px;transition:.15s;}
.vsearch-hot a:hover{color:var(--mint-2);text-decoration:underline;}

/* ===== 검증현황 카드 ===== */
.vstat{list-style:none;padding:14px 14px 0;}
.vstat li{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 12px;margin-bottom:6px;border-radius:8px;
  border:1px solid var(--line);background:#fff;
}
.vstat li.report{background:#fff7f6;border-color:#f5e2e0;}
.vstat li.done  {background:#f2faf9;border-color:#dcefed;}
.vstat li.ing   {background:#fffaf6;border-color:#f3e4d8;}
.vstat .k{font-size:12.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink-2);}
.vstat .v{font-size:12px;font-weight:600;color:var(--ink-3);white-space:nowrap;}
.vstat .v b{font-size:20px;font-weight:800;letter-spacing:-.03em;margin-right:2px;}
.vstat li.report .v b{color:var(--coral);}
.vstat li.done   .v b{color:var(--mint-deep);}
.vstat li.ing    .v b{color:var(--ink);}
.vstat .v:hover{text-decoration:underline;}

.vstat-bar{height:6px;margin:8px 14px 0;background:var(--soft-2);border:1px solid var(--line);border-radius:999px;overflow:hidden;}
.vstat-bar span{display:block;height:100%;background:var(--mint);transition:width .4s ease;}
.vstat li.ing .k .mmi{color:var(--orange);}
.vstat-foot{padding:9px 14px 14px;font-size:11.5px;font-weight:600;color:var(--ink-3);text-align:center;}

.tbar a{color:var(--ink-3);padding:0 7px;transition:.15s;}
.tbar a:hover{color:var(--ink);}
.tbar .live{color:var(--mint-2);font-weight:700;}
.tbar .l,.tbar .r{display:flex;align-items:center;}
.tbar .dot{width:3px;height:3px;border-radius:50%;background:var(--line-2);margin:0 4px;}
.ptpill{background:var(--orange-pale);border:1px solid var(--orange-line);border-radius:999px;padding:2px 10px;color:#a95824;font-size:12px;font-weight:700;margin-right:4px;}

/* ============ HEADER ============ */
/* ============================================================
   헤더 / GNB  —  좌측 카테고리 · 중앙 브랜드 · 우측 카테고리
   ------------------------------------------------------------
   중앙 브랜드는 좌우 메뉴 길이와 무관하게 항상 정확한 수평 중앙에 온다.
   (grid 1fr / auto / 1fr → 양쪽 1fr 이 항상 같은 폭)
   ============================================================ */
header.hd{
  /* spacing scale : 8 / 12 / 16 / 24 / 32 / 48 만 사용한다 */
  --hd-h:82px;              /* GNB 높이 */
  --hd-brand-gap:60px;      /* 로고 좌우 기본 여백 */
  --hd-acc-gap:28px;        /* 우측 메뉴(출석체크) ↔ 계정(MY) */
  --hd-text:var(--ink);
  --hd-muted:var(--ink-2);
  background:var(--card);
  border-bottom:1px solid var(--mint-line);
  position:sticky; top:0; z-index:100;
  transition:box-shadow .18s ease;
}
header.hd.stuck{--hd-h:66px; box-shadow:0 1px 8px rgba(0,0,0,.045);}

.hd .in{
  max-width:var(--container); margin:0 auto; padding:0 var(--container-pad);
  height:var(--hd-h);
  display:grid; align-items:center;
  grid-template-columns:1fr auto 1fr;
  grid-template-areas:"left brand right";
  transition:height .18s ease;
}

/* ── 브랜드 (중앙) ───────────────────────────────────────── */
.logo{
  grid-area:brand; display:flex; align-items:center; gap:10px;
  padding:0 var(--hd-brand-gap); min-width:0;
}
.logo .mascot{
  height:calc(var(--hd-h) - 22px); width:auto; display:block;
  transform-origin:72% 88%; will-change:transform;
  transition:height .18s ease;
}
.logo .lgt{display:flex; flex-direction:column; align-items:center; gap:1px; min-width:0;}
.logo .txt{
  font-size:33px; font-weight:900; letter-spacing:-.055em;
  color:var(--hd-text); line-height:1; white-space:nowrap;
}
.logo .txt .m{color:var(--mint-2);}
.logo .en{
  font-size:11px; font-weight:700; letter-spacing:.22em;
  color:var(--ink-3); line-height:1; white-space:nowrap; padding-left:.22em;
}
header.hd.stuck .logo .txt{font-size:27px;}
header.hd.stuck .logo .en{font-size:9.5px;}
.logo:focus-visible{outline:2px solid var(--mint); outline-offset:4px; border-radius:6px;}

/* ── GNB 공통 ────────────────────────────────────────────── */
nav.gnb{min-width:0;}
/* 메뉴는 균등 셀(flex:1)로 나눈다. 셀 경계마다 세로 구분선을 두기 때문에
   gap 대신 셀 폭 자체가 간격 역할을 한다. */
nav.gnb > ul{
  display:flex; align-items:center; gap:0;
  list-style:none; margin:0; padding:0; height:var(--hd-h);
  transition:height .18s ease;
}
/* 좌우 메뉴 그룹은 컨테이너 양 끝 기준선(본문 카드의 좌/우 끝)까지 펼친다.
   중앙 로고는 grid 의 auto 칼럼이라 항상 정확히 가운데를 유지한다. */
nav.gnb-l{grid-area:left; min-width:0;}
nav.gnb-l > ul{width:100%;}

.hd-right{
  grid-area:right; display:flex; align-items:center; justify-content:flex-end;
  gap:0; min-width:0; width:100%;
}
nav.gnb-r{flex:1 1 auto; min-width:0;}
nav.gnb-r > ul{width:100%;}

nav.gnb > ul > li{
  position:relative; height:100%; flex:1 1 0; min-width:0;
  display:flex; align-items:center; justify-content:center;
}
/* 셀 경계의 세로 구분선.
   기본은 '오른쪽에 한 개' → 좌측그룹 3개 뒤 + 우측그룹 각 메뉴 뒤(= MY 앞)까지 커버.
   로고 바로 오른쪽 한 자리만 우측그룹 첫 메뉴의 왼쪽 선으로 따로 채운다. */
nav.gnb > ul > li::before{
  content:""; position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:1px; height:24px; background:var(--line); pointer-events:none;
}
nav.gnb-r > ul > li:first-child::after{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:24px; background:var(--line); pointer-events:none;
}
nav.gnb > ul > li > a{
  position:relative; display:flex; align-items:center; gap:8px; height:100%;
  font-size:16px; font-weight:700; letter-spacing:-.03em;
  color:var(--hd-text); white-space:nowrap;
  transition:color .18s ease;
}
/* 대분류 아이콘 : 글자보다 한 단계 옅게 두어 라벨이 계속 주인공이 되게 한다 */
nav.gnb > ul > li > a .mmi{
  width:19px; height:19px; flex:0 0 auto;
  color:var(--ink-3); transition:color .18s ease;
}
nav.gnb > ul > li:hover > a .mmi,
nav.gnb > ul > li:focus-within > a .mmi,
nav.gnb > ul > li.on > a .mmi{color:var(--mint-2);}
nav.gnb > ul > li > a::after{
  content:""; position:absolute; left:0; right:0; bottom:calc(50% - 15px);
  height:2px; border-radius:2px; background:var(--mint);
  transform:scaleX(0); transform-origin:center; transition:transform .18s ease;
}
nav.gnb > ul > li:hover > a{color:var(--mint-2);}
nav.gnb > ul > li:hover > a::after,
nav.gnb > ul > li:focus-within > a::after{transform:scaleX(1);}

/* 현재 보고 있는 카테고리 */
nav.gnb > ul > li.on > a{color:var(--mint-2);}
nav.gnb > ul > li.on > a::after{transform:scaleX(1);}

/* 단일 메뉴(출석체크 등)도 드롭다운 메뉴와 완전히 같은 타이포그래피·아이콘 규격 */

/* ── 보증업체(vip) : 보라 + 반짝임 ─────────────────────────
   라벨은 보라 그라데이션이 좌→우로 훑고 지나가는 sheen,
   아이콘은 은은한 글로우, 그 위로 작은 4각 별 두 개가 엇박으로 반짝인다.
   모션을 끈 환경에서는 전부 '고정된 보라색'으로만 남는다. */
nav.gnb > ul > li.vip > a{color:var(--vip-deep);}
nav.gnb > ul > li.vip > a .lb{
  position:relative; color:var(--vip-deep);
}
nav.gnb > ul > li.vip > a .mmi{color:var(--vip);}
nav.gnb > ul > li.vip:hover > a,
nav.gnb > ul > li.vip:hover > a .lb{color:var(--vip-deep);}
nav.gnb > ul > li.vip:hover > a .mmi,
nav.gnb > ul > li.vip.on > a .mmi{color:var(--vip);}
nav.gnb > ul > li.vip:hover > a::after,
nav.gnb > ul > li.vip.on > a::after{background:var(--vip);}

@media (prefers-reduced-motion:no-preference){
  /* 글자는 항상 그대로 두고(색만 보라), 밝기만 살짝 오르내리게 한다.
     예전에 background-clip:text 로 sheen 을 넣었더니 글자가 통째로 사라져서 폐기. */
  nav.gnb > ul > li.vip > a .lb{animation:mmVipPulse 2.8s ease-in-out infinite;}
  /* 아이콘 글로우 */
  nav.gnb > ul > li.vip > a .mmi{animation:mmVipGlow 2.6s ease-in-out infinite;}
  /* 반짝이 별 두 개 (라벨 오른쪽 위 / 왼쪽 아래) */
  nav.gnb > ul > li.vip > a .lb::before,
  nav.gnb > ul > li.vip > a .lb::after{
    content:""; position:absolute; display:block;
    background:var(--vip-2); pointer-events:none;
    clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);
    opacity:0;
  }
  nav.gnb > ul > li.vip > a .lb::before{
    width:9px; height:9px; top:-5px; right:-8px;
    animation:mmVipTwinkle 2.6s ease-in-out infinite;
  }
  nav.gnb > ul > li.vip > a .lb::after{
    width:6px; height:6px; bottom:-3px; left:-7px;
    animation:mmVipTwinkle 2.6s ease-in-out infinite 1.3s;
  }
}
@keyframes mmVipPulse{
  0%,100%{ color:var(--vip-deep); text-shadow:none; }
  50%    { color:var(--vip);      text-shadow:0 0 10px var(--vip-glow); }
}
@keyframes mmVipGlow{
  0%,100%{ filter:drop-shadow(0 0 0 transparent); }
  50%    { filter:drop-shadow(0 0 5px var(--vip-glow)); }
}
@keyframes mmVipTwinkle{
  0%,  70%, 100%{ opacity:0;   transform:scale(.4) rotate(0deg); }
  80%           { opacity:1;   transform:scale(1)  rotate(25deg); }
  90%           { opacity:.35; transform:scale(.7) rotate(45deg); }
}

/* ── 드롭다운 ────────────────────────────────────────────── */
nav.gnb .sub{
  position:absolute; top:calc(50% + var(--hd-h) / 2 - 10px); left:50%;
  transform:translateX(-50%) translateY(6px);
  min-width:158px; padding:7px;
  background:var(--card); border:1px solid var(--line); border-radius:9px;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:120;
}
nav.gnb > ul > li:hover .sub,
nav.gnb > ul > li:focus-within .sub{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
nav.gnb .sub a{
  display:block; padding:8px 12px; border-radius:6px;
  font-size:14px; font-weight:600; letter-spacing:-.02em;
  color:var(--ink-2); white-space:nowrap; transition:.14s;
}
nav.gnb .sub a:hover,
nav.gnb .sub a:focus-visible{background:var(--soft-2); color:var(--mint-2);}
nav.gnb .sub a.on{color:var(--mint-2); font-weight:700;}


/* ── MY / 로그인 ─────────────────────────────────────────── */
.hd-my{display:flex; align-items:center; gap:8px; flex:0 0 auto; margin-left:var(--hd-acc-gap);}
.mymenu{position:relative;}
.mymenu-btn{
  display:inline-flex; align-items:center; gap:5px; height:34px; padding:0 11px;
  border:1px solid var(--line-2); border-radius:8px; background:var(--card);
  font-family:inherit; font-size:13px; font-weight:700; letter-spacing:.01em;
  color:var(--hd-text); cursor:pointer; transition:.15s;
}
.mymenu-btn:hover{border-color:var(--mint); color:var(--mint-2);}
.mymenu-btn:focus-visible{outline:2px solid var(--mint); outline-offset:2px;}
.mymenu-btn .ic-user{width:15px; height:15px;}
.mymenu-btn .ic-ar{width:12px; height:12px; transition:transform .18s;}
.mymenu-btn[aria-expanded="true"] .ic-ar{transform:rotate(180deg);}

.hd-login,.hd-join{
  display:inline-flex; align-items:center; height:34px; padding:0 14px;
  border-radius:8px; font-size:12.5px; font-weight:700; letter-spacing:-.01em; transition:.15s;
}
.hd-login{background:var(--soft-2); color:var(--ink); border:1px solid var(--line-2);}
.hd-login:hover{background:var(--mint-deep); border-color:var(--mint-deep); color:#fff;}
.hd-join{border:1px solid var(--line-2); color:var(--hd-muted);}
.hd-join:hover{border-color:var(--mint); color:var(--mint-2);}

/* ── 모바일 버튼 ─────────────────────────────────────────── */
.mob-btn{
  grid-area:left; justify-self:start; display:none;
  width:38px; height:38px; align-items:center; justify-content:center;
  border:1px solid var(--line-2); border-radius:8px; background:var(--card);
  color:var(--hd-text); cursor:pointer; padding:0;
}
.mob-btn svg{width:19px; height:19px;}
.mob-btn:focus-visible{outline:2px solid var(--mint); outline-offset:2px;}

/* ── 반응형 ──────────────────────────────────────────────────
   좁아질수록 '간격 토큰만' 단계적으로 줄인다.
   폰트 크기와 로고 크기는 어느 구간에서도 바꾸지 않는다. */
@media (max-width:1439px){
  header.hd{--hd-brand-gap:52px; --hd-acc-gap:22px;}
}
@media (max-width:1359px){
  header.hd{--hd-brand-gap:44px; --hd-acc-gap:20px;}
}
@media (max-width:1239px){
  header.hd{--hd-brand-gap:32px; --hd-acc-gap:16px;}
}
@media (max-width:1139px){
  header.hd{--hd-brand-gap:24px; --hd-acc-gap:14px;}
}
@media (max-width:1023px){
  /* 태블릿 이하는 PC GNB 를 억지로 압축하지 않고 드로어로 전환한다 */
  header.hd{--hd-h:62px;}
  header.hd.stuck{--hd-h:62px;}
  .hd .in{grid-template-columns:1fr auto 1fr; grid-template-areas:"burger brand my";}
  .mob-btn{justify-self:start;}
  .hd-right{justify-self:end;}
  nav.gnb-l,nav.gnb-r{display:none;}
  .mob-btn{display:inline-flex; grid-area:burger;}
  .logo{grid-area:brand; justify-content:center; padding:0 10px;}
  .logo .mascot{height:34px;}
  .logo .txt{font-size:20px;}
  .logo .en{font-size:9px; letter-spacing:.2em;}
  header.hd.stuck .logo .txt{font-size:20px;}
  .hd-right{grid-area:my; gap:6px;}
  .mymenu-btn .lb{display:none;}
  .mymenu-btn{padding:0 9px;}
}
@media (max-width:400px){
  header.hd{--hd-h:58px;}
  header.hd.stuck{--hd-h:58px;}
  .logo .mascot{height:30px;}
  .logo .txt{font-size:18px;}
  .logo .en{display:none;}
  .hd-login,.hd-join{height:32px; padding:0 10px; font-size:12.5px;}
  .hd-join{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .hd .in,nav.gnb > ul,.logo .mascot,nav.gnb > ul > li > a::after,nav.gnb .sub{transition:none;}
}

/* ── 내 메뉴 드롭다운 패널 (기존 스타일 유지) ── */
.mymenu-pnl{
  position:absolute;right:0;top:calc(100% + 8px);min-width:190px;
  background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px;
  box-shadow:0 6px 18px rgba(0,0,0,.09);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.16s;z-index:130;
}
.mymenu.open .mymenu-pnl{opacity:1;visibility:visible;transform:translateY(0);}
.mymenu-hd{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--ink-2);
}
.mymenu-hd b{font-weight:700;color:var(--ink);}
.mymenu-hd span{font-size:12.5px;font-weight:700;color:var(--mint-2);}
.mymenu-pnl a{
  display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:6px;
  font-size:13.5px;font-weight:600;color:var(--ink-2);transition:.12s;
}
.mymenu-pnl a:hover{background:var(--soft-2);color:var(--ink);}
.mymenu-pnl a .n{
  margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:#fff;
  background:var(--coral);border-radius:999px;padding:1px 6px;
}
.mymenu-pnl a.out{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 6px 6px;color:var(--ink-3);}

/* ============ PAGE HEAD ============ */

/* ============ HOME LAYOUT ============ */
.home-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start;padding:24px var(--container-pad) 0;}
.home-main{min-width:0;order:2;}
.home-full{padding:0 var(--container-pad) 48px;}
.home-side{order:1;display:flex;flex-direction:column;gap:16px;}
.home-side .card{margin-bottom:0;}

/* sidebar cards */
aside .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.login{padding:16px;}
.login .hi{font-size:17px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:7px;}
.login .hi span{color:var(--ink);}
.login input{width:100%;height:40px;border:1px solid var(--line-2);border-radius:8px;padding:0 12px;font-size:14px;margin-bottom:8px;font-family:var(--body);}
.login input:focus{outline:none;border-color:var(--mint);}
.login .go{width:100%;height:40px;font-size:15px;font-weight:700;background:var(--ink);color:#fff;border-radius:8px;box-shadow:none;}
.login .links{display:flex;justify-content:center;gap:10px;margin-top:10px;font-size:12px;color:var(--ink-3);}
.welcome .links{margin-top:10px;}
.login .links a:hover{color:var(--ink);}
.login .hint{text-align:center;margin-top:11px;font-size:11.5px;color:var(--ink-3);}
.login .hint b{color:var(--ink);}
.welcome{text-align:center;}
.welcome .nm{font-size:18px;font-weight:700;}
.welcome .nm b{color:var(--ink);}
.welcome .grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;}
.welcome .grid div{background:var(--soft-2);border-radius:8px;padding:10px;}
.welcome .grid .k{font-size:11px;color:var(--ink-3);}
.welcome .grid .v{font-size:19px;font-weight:700;color:var(--ink);}
.welcome .grid div:first-child .k .mmi{color:var(--orange);}
.welcome .go{display:flex;align-items:center;justify-content:center;width:100%;height:40px;margin-top:12px;font-size:14px;font-weight:700;background:var(--ink);color:#fff;border-radius:8px;box-shadow:none;}
.welcome .go:hover{color:#fff;}
.ch{font-size:14px;font-weight:700;padding:11px 14px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:space-between;box-shadow:inset 0 -1px 0 var(--line);}
.card.accent .ch{box-shadow:inset 2px 0 0 var(--mint),inset 0 -1px 0 var(--line);}
.ch .en{font-size:11.5px;font-weight:600;color:var(--ink-3);opacity:1;}
.rrow{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);}
.rrow:last-child{border-bottom:none;}
.rrow .medal{font-size:16px;width:24px;text-align:center;flex-shrink:0;}
.rrow .medal.num{color:var(--ink-3);font-size:15px;font-weight:600;}
.rrow .who{flex:1;font-weight:500;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rrow .pt{font-size:13px;font-weight:700;color:var(--ink-2);}
.rrow .who.empty{color:var(--ink-3);}
.tele{display:block;padding:14px;text-align:center;background:var(--soft);}
.tele .k{font-size:11px;color:var(--ink-3);}
.tele .v{font-size:17px;font-weight:700;color:var(--mint-2);margin-top:3px;}

/* ============ HOME INFO SECTIONS ============ */
.info-intro{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:34px 24px 32px;box-shadow:none;margin-bottom:24px;}
/* 히어로 콘텐츠 그룹 : 서브텍스트·제목·설명·CTA 를 하나의 세로 축으로 세운다.
   요소 사이 간격은 전부 여기 아래에서만 정의한다(개별 요소 margin 중복 금지). */
.info-intro .hero-in{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; max-width:740px; margin:0 auto; width:100%;
}
.info-intro .t-badge{display:inline-block;font-size:11.5px;font-weight:600;background:none;color:var(--ink-3);border:none;padding:0;border-radius:0;margin-bottom:0;letter-spacing:-.01em;}
.info-intro h1{font-size:26px;font-weight:700;letter-spacing:-.04em;line-height:1.3;color:var(--ink);margin-top:9px;}

.info-intro .lead{font-size:14px;line-height:1.65;color:var(--ink-2);margin-top:13px;max-width:680px;}
/* ── Hero CTA 버튼 그룹 ─────────────────────────────────
   두 버튼의 유일한 정의. 공통 .btn 규칙에 의존하지 않는다.
   (예전에는 .btn 기본 규칙에 display:inline-flex 가 있었는데
    헤더 개편 때 그 블록이 사라지면서 버튼이 display:block 이 되어
    아이콘이 텍스트 baseline 에 붙어 7px 위로 떠 있었다) */
.info-intro .cta{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:10px; margin-top:20px;
}
.info-intro .cta .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  height:42px; padding:0 18px;
  border:1px solid transparent; border-radius:8px;
  font-family:inherit; font-size:14px; font-weight:600; letter-spacing:-.02em; line-height:1;
  white-space:nowrap; box-shadow:none;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease;
}
.info-intro .cta .btn .mmi{width:16px; height:16px; flex:0 0 auto; color:inherit;}
.info-intro .cta .btn:focus-visible{outline:2px solid var(--mint); outline-offset:2px;}

/* Secondary */
.info-intro .cta .btn.o{background:var(--card); color:var(--ink); border-color:var(--line-2);}
.info-intro .cta .btn.o:hover{background:var(--soft); border-color:var(--ink-3); color:var(--ink);}
/* Primary */
.info-intro .cta .btn.m{background:var(--mint); color:var(--on-mint); border-color:var(--mint);}
.info-intro .cta .btn.m:hover{background:var(--mint-deep); border-color:var(--mint-deep); color:#fff;}

/* latest lists */
.lists{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.lists.two-up{grid-template-columns:1fr 1fr;}
.lcard{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.lcard .lh{font-size:15px;font-weight:700;padding:12px 14px;background:var(--soft);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.lcard .lh .more{font-size:12px;font-weight:500;color:var(--ink-3);}
.lcard .lh .more:hover{color:var(--ink);}
.lrow{display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--line);}
.lrow:last-child{border-bottom:none;}
.lrow:hover{background:var(--soft);}
.lrow.empty{color:var(--ink-3);font-size:13px;justify-content:center;padding:22px 16px;}
.lrow .d{width:6px;height:6px;border-radius:50%;background:var(--line-2);flex-shrink:0;}
.lrow .ti{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lrow:hover .ti{color:var(--ink);}
.lrow .ti .cm{color:var(--mint-2);font-size:12px;font-weight:600;margin-left:5px;}
.lrow .dt{font-size:11.5px;color:var(--ink-3);flex-shrink:0;}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:8px;}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.faq-q{font-size:14.5px;font-weight:600;padding:14px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;}
.faq-q .qq{font-size:15px;font-weight:700;color:var(--mint-2);flex-shrink:0;}
.faq-q .tog{margin-left:auto;font-weight:600;color:var(--ink-3);transition:.2s;}
.faq-item.open .faq-q .tog{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{padding:0 16px 16px 41px;font-size:13.5px;line-height:1.75;color:var(--ink-2);}

/* ============ FOOTER ============ */
/* 헤더와 중복되던 푸터 전용 카테고리 네비게이션(.ft .top / .fmenu / .ft-map)은
   2026-08-24 에 마크업과 함께 제거했다. 안내 4블록 + Copyright 만 남는다. */
footer.ft{background:#141414;color:#a8a8a8;padding:40px 0 34px;margin-top:0;}
a.brand{transition:.15s;}
a.brand:hover{opacity:.85;}
/* 푸터 전체 카테고리 맵 : 모든 항목이 링크 */
/* ── 푸터 안내 영역 ── */
.ft-info{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px 56px;padding:0;
}
.ft-sec{min-width:0;max-width:600px;}
.ft-sec .eb{
  margin-bottom:5px;font-size:11.5px;font-weight:600;letter-spacing:.06em;color:#6f6f6f;
}
.ft-sec h3{
  position:relative;padding-left:10px;margin-bottom:11px;
  font-size:14px;font-weight:700;letter-spacing:-.02em;color:#5acfca;
}
.ft-sec h3::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:13px;background:#3fb3ae;
}
.ft-sec p{font-size:12.5px;line-height:1.85;color:#9b9b9b;margin-bottom:7px;}
.ft-sec p:last-child{margin-bottom:0;}

/* 사칭 주의 : 오렌지 포인트는 제목 마커에만 */
.ft-sec.warn h3{color:#e2a06e;}
.ft-sec.warn h3::before{background:#d8853f;}

.ft-ch{display:flex;align-items:center;gap:9px;margin-top:11px;}
.ft-ch .k{font-size:11.5px;font-weight:600;color:#6f6f6f;}
.ft-ch a{font-size:12.5px;font-weight:700;color:#5acfca;letter-spacing:.01em;}
.ft-ch a:hover{color:#7fdcd8;text-decoration:underline;text-underline-offset:3px;}

/* ── 최하단 Copyright ── */
.ft-cr{margin-top:28px;padding-top:16px;border-top:1px solid #2e2e2e;}
.ft-cr .c{font-size:12px;color:#8a8a8a;letter-spacing:-.01em;}
.ft-cr .s{margin-top:5px;font-size:11.5px;line-height:1.7;color:#666;}

@media (max-width:820px){
  .ft-info{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:0;}
  .ft-sec{max-width:none;}
}
@media (max-width:560px){
  footer.ft{padding:26px 0 28px;}
  .ft-sec p{font-size:12px;line-height:1.8;}
  .ft-cr{margin-top:24px;}
}

#top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:10px;background:var(--mint);color:var(--on-mint);font-size:20px;font-weight:600;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.12);opacity:0;visibility:hidden;transition:.2s;z-index:90;}
#top.on{opacity:1;visibility:visible;}

/* drawer */
.drawer{position:fixed;inset:0;z-index:200;background:rgba(23,23,23,.45);display:none;}
.drawer.open{display:block;}
.drawer .pnl{position:absolute;top:0;right:0;width:82%;max-width:320px;height:100%;background:var(--card);padding:22px;overflow-y:auto;}
.drawer h4{font-size:14px;font-weight:700;color:var(--ink-3);margin:14px 0 6px;}
.drawer a{display:block;font-size:17px;font-weight:700;padding:11px 4px;border-bottom:1px solid var(--line);}
.drawer .x{position:absolute;top:16px;right:18px;font-size:26px;cursor:pointer;}

/* ============================================================
   GNUBOARD 공통 (basic 스킨 오버라이드)
   ============================================================ */
#container{}
#bo_list,#bo_v,#bo_w,#bo_gall,#bo_cate,.new_win,#mb_login,#reg,#mb_confirm,#faq_wrap,#sch_res,#current_connect,#memo,#scr,#point_list{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:18px;
}
#bo_cate{padding:14px 16px;}
#bo_cate ul{display:flex;flex-wrap:wrap;gap:7px;}
#bo_cate a{display:inline-block;font-size:13.5px;font-weight:700;padding:7px 15px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink-2);transition:.15s;}
#bo_cate a:hover{border-color:var(--mint);color:var(--mint-2);}
#bo_cate #bo_cate_on{background:var(--mint);border-color:var(--mint);color:var(--on-mint);}

/* 게시판 상단 툴바 */
.bo_fx{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.bo_fx ul{display:flex;gap:6px;align-items:center;}
#bo_list_total{font-size:13.5px;font-weight:700;color:var(--ink-2);}
.btn_bo_user{display:flex;gap:6px;}

/* 버튼 */
.btn_b01,.btn_b02,.btn_b03,.btn_b04,.btn_admin,.btn_submit,.btn_close,.btn_cancel,
input[type=submit].btn_submit,button.btn_submit,a.btn_b01,a.btn_b02,a.btn_admin{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  font-family:var(--body);font-size:14px;font-weight:700;padding:9px 16px;border-radius:8px;
  border:1px solid var(--line-2);background:#fff;color:var(--ink);transition:.15s;line-height:1.2;cursor:pointer;
}
.btn_b01:hover,.btn_b02:hover,.btn_admin:hover,a.btn_b01:hover{background:var(--soft-2);color:var(--ink);}
.btn_submit,input[type=submit].btn_submit,button.btn_submit{background:var(--mint);border-color:var(--mint);color:var(--on-mint);box-shadow:none;}
.btn_delete,a.btn_delete,button.btn_delete{background:var(--coral);border-color:var(--coral);color:#fff;}
.btn_submit:hover{transform:translate(-1px,-1px);box-shadow:none;background:var(--mint-deep);color:#fff;}
.btn_cancel,.btn_close{background:#fff;color:var(--ink);}
.btn_confirm{text-align:center;margin-top:18px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
#bo_v_top,#bo_v_bot{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px;}
#bo_v_bot{margin:16px 0 0;}
#bo_v_top ul,#bo_v_bot ul{display:flex;gap:6px;flex-wrap:wrap;}

/* 목록 테이블 */
.tbl_head01{width:100%;}
.tbl_wrap{overflow-x:auto;}
.tbl_head01 table{width:100%;border-collapse:collapse;table-layout:fixed;}
.tbl_head01 caption{display:none;}
.tbl_head01 thead th{background:var(--soft);color:var(--ink);font-size:13px;font-weight:700;padding:12px 8px;text-align:center;}
.tbl_head01 thead th:first-child{border-radius:11px 0 0 11px;}
.tbl_head01 thead th:last-child{border-radius:0 11px 11px 0;}
.tbl_head01 thead a{color:var(--ink);}
.tbl_head01 tbody td{border-bottom:1px solid var(--line);padding:12px 8px;font-size:14px;text-align:center;color:var(--ink-2);}
.tbl_head01 tbody tr:hover td{background:var(--soft);}
.tbl_head01 tbody tr.bo_notice td{background:var(--soft-2);}
.tbl_head01 tbody tr.bo_notice:hover td{background:#efefed;}
.td_num,.td_num2{width:60px;font-size:13px;font-weight:600;color:var(--ink-3);}
.td_name,.td_name2{width:110px;font-size:13px;}
.td_date,.td_datetime{width:90px;font-size:12px;color:var(--ink-3);}
.td_num,.td_numbig{color:var(--ink-3);}
.td_chk{width:36px;}
.td_mng,.td_managebtn{width:80px;}
.td_subject{text-align:left!important;}
.bo_tit{font-size:14.5px;font-weight:500;color:var(--ink);}
.tbl_head01 tbody tr:hover .bo_tit{color:var(--mint-2);}
.cnt_cmt{display:inline-block;font-size:12px;font-weight:600;color:var(--coral-2);margin-left:5px;}
.new_icon,.notice_icon,.bo_current,.hit_icon,.secret_icon{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--mint);color:var(--on-mint);margin-right:5px;vertical-align:middle;}
.notice_icon{background:var(--ink-2);}
.empty_table,.empty_list{padding:56px 0!important;text-align:center;color:var(--ink-3);font-weight:700;}

/* 검색 */
#bo_sch,.bo_sch_wrap{margin:16px 0 0;}
#bo_sch fieldset,.bo_sch_wrap fieldset{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
#bo_sch select,#bo_sch input[type=text],.sch_input{border:1px solid var(--line-2);border-radius:8px;padding:9px 13px;font-size:13.5px;font-family:var(--body);}
#bo_sch input[type=text]:focus,.sch_input:focus{outline:none;border-color:var(--mint);}
.sch_btn,.btn_bo_sch{background:var(--ink);color:#fff;border-color:var(--ink);}
.sch_btn:hover{background:var(--ink-2);border-color:var(--ink-2);}

/* 페이징 */
.pg_wrap{display:flex;justify-content:center;gap:5px;margin:22px 0 0;flex-wrap:wrap;}
.pg{display:flex;gap:5px;flex-wrap:wrap;}
.pg_page,.pg_current,.pg_start,.pg_prev,.pg_next,.pg_end{
  min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line-2);background:#fff;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-2);padding:0 10px;
}
.pg_page:hover{border-color:var(--mint);color:var(--mint-2);}
.pg_current{background:var(--mint);color:var(--on-mint);border-color:var(--mint);}

/* 글보기 */
#bo_v_title{font-size:22px;font-weight:700;line-height:1.4;margin-bottom:12px;}
#bo_v_info{font-size:12.5px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);}
#bo_v_info strong{font-weight:600;}
#bo_v_info .sv_member,#bo_v_info .sv_guest{color:var(--mint-2);font-weight:700;}
#bo_v_atc{padding:24px 2px;font-size:15px;line-height:1.9;min-height:120px;word-break:break-word;}
#bo_v_atc img{height:auto;}
#bo_v_file{margin:0 0 14px;}
#bo_v_file li{background:var(--soft);border-radius:8px;padding:10px 14px;margin-bottom:6px;font-size:13px;}
#bo_v_act{text-align:center;padding:6px 0 18px;}
#bo_v_act .bo_v_act_gng{display:inline-flex;gap:8px;}
#bo_v_act a{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:76px;padding:12px 18px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);border-radius:8px;font-weight:700;}
#bo_v_act a:hover{background:var(--soft-2);color:var(--ink);}
#bo_v_nb{margin-top:16px;border-top:1px solid var(--line);}
#bo_v_nb li{padding:11px 4px;border-bottom:1px solid var(--line);font-size:13.5px;}
#bo_v_nb .nb_tit{font-weight:700;color:var(--ink-3);margin-right:8px;}

/* 댓글 */
#bo_vc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:18px;}
#bo_vc h2{font-size:15px;font-weight:700;padding:12px 18px;background:var(--soft);border-bottom:1px solid var(--line);}
#bo_vc article{padding:14px 18px;border-bottom:1px solid var(--line);}
#bo_vc header{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);margin-bottom:5px;flex-wrap:wrap;gap:6px;}
#bo_vc .cmt_name,#bo_vc .sv_member,#bo_vc .sv_guest{font-size:13.5px;font-weight:700;color:var(--ink);}
#bo_vc p{font-size:14px;line-height:1.8;word-break:break-word;}
#bo_vc_w{padding:16px 18px;background:var(--soft);}
#bo_vc_w textarea,#wr_content,textarea.wr_content{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;font-size:14.5px;font-family:var(--body);line-height:1.7;resize:vertical;}
#bo_vc_w textarea:focus{outline:none;border-color:var(--mint);}

/* 글쓰기 폼 / 회원 폼 공통 */
.tbl_frm01 table{width:100%;border-collapse:collapse;}
.tbl_frm01 th{width:130px;text-align:left;font-size:14px;font-weight:700;padding:12px 10px;vertical-align:middle;color:var(--ink);}
.tbl_frm01 td{padding:10px;border-bottom:1px solid var(--line);}
.tbl_frm01 input[type=text],.tbl_frm01 input[type=password],.tbl_frm01 input[type=email],.tbl_frm01 input[type=tel],
.tbl_frm01 select,.tbl_frm01 textarea,.frm_input,input.frm_input,select.frm_input,
#bo_w input[type=text],#bo_w input[type=password],#bo_w select{
  border:1px solid var(--line-2);border-radius:8px;padding:11px 13px;font-size:14.5px;font-family:var(--body);max-width:100%;
}
.tbl_frm01 input:focus,.tbl_frm01 textarea:focus,.frm_input:focus,#bo_w input:focus{outline:none;border-color:var(--mint);}
.frm_input.full_input,#wr_subject{width:100%;}
.frm_info{display:block;font-size:12px;color:var(--ink-3);margin-top:5px;}
.required,textarea.required,select.required{background-image:none!important;}
#bo_w .bo_w_tit,#bo_w .bo_w_flie,#bo_w .bo_w_link,#bo_w .bo_w_info{margin-bottom:12px;}
#bo_w .write_div{margin-bottom:12px;}
#bo_w label{font-size:14px;font-weight:700;display:inline-block;margin-bottom:6px;}
#char_count_desc,#char_count_wrap{font-size:12px;color:var(--ink-3);}

/* 로그인/회원가입 */
#mb_login{max-width:520px;margin:0 auto 18px;}
#mb_login h1,#reg h1,#mb_confirm h1{font-size:22px;font-weight:800;letter-spacing:-.4px;margin-bottom:16px;}
#login_fs input[type=text],#login_fs input[type=password]{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;font-size:15px;margin-bottom:9px;font-family:var(--body);}
#login_fs .btn_submit{width:100%;padding:13px;font-size:16px;}
#login_info{margin-top:14px;font-size:13px;color:var(--ink-3);text-align:center;}
#login_info a:hover{color:var(--mint-2);}

/* ============================================================
   메인 · 게시판 블록 (실시간 / 커뮤니티 공통)
   ============================================================ */
.rtsec{margin-bottom:48px;}
.rt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.rt-head h2{font-size:21px;font-weight:700;letter-spacing:-.035em;color:var(--ink);}
.rt-all{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--ink-2);transition:.15s;}
.rt-all .mmi{width:14px;height:14px;color:currentColor;}
.rt-all:hover{color:var(--mint-2);}

.rt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;}
.rt-box{
  display:flex;flex-direction:column;min-width:0;
  border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;
}
.rt-bh{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  height:44px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--soft);
}
.rt-bh h3{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink);}
.rt-bh .more{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--ink-3);transition:.15s;}
.rt-bh .more .mmi{width:12px;height:12px;color:currentColor;}
.rt-bh .more:hover{color:var(--mint-2);}

.rt-list{flex:1;display:flex;flex-direction:column;margin:0;padding:0;list-style:none;}
.rt-item{border-bottom:1px solid var(--line);}
.rt-item:last-child{border-bottom:none;}
.rt-item>a{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;transition:background .12s;}
.rt-item>a:hover{background:var(--soft);}
.rt-item .tag,.rt-item .src{
  flex:0 0 auto;font-size:12px;font-weight:600;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;
}
.rt-item .tag{background:var(--soft-2);color:var(--ink-2);border-radius:4px;padding:2px 6px;}
.cmsec .rt-item .src{flex:0 0 74px;}
.rt-item .tit{
  flex:1 1 auto;min-width:0;font-size:14px;font-weight:500;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;
}
.rt-item>a:hover .tit{color:var(--mint-2);}
.rt-item .cmt{flex:0 0 auto;font-size:12px;font-weight:600;color:var(--mint-2);}
.rt-item .meta{flex:0 0 auto;font-size:12px;font-weight:500;color:var(--ink-3);white-space:nowrap;}
.rt-item .meta.hit{min-width:36px;text-align:right;}
.cmsec .rt-box:first-child .rt-bh h3{position:relative;padding-left:9px;color:var(--ink);}
.cmsec .rt-box:first-child .rt-bh h3::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:14px;border-radius:2px;background:var(--orange);
}
.rt-item .meta.st{font-weight:600;}
.rt-item .meta.st.new {color:var(--ink-2);}
.rt-item .meta.st.ing {color:var(--mint-2);}
.rt-item .meta.st.done{color:var(--ink-3);}

/* 비어 있을 때 : 양쪽 높이가 어긋나지 않도록 남은 공간을 채움 */
.rt-none{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;min-height:200px;padding:24px 16px;text-align:center;
}
.rt-none b{font-size:13.5px;font-weight:600;color:var(--ink-2);}
.rt-none span{font-size:12.5px;color:var(--ink-3);line-height:1.6;}
.rt-none a{
  display:inline-flex;align-items:center;gap:3px;margin-top:4px;
  font-size:12.5px;font-weight:600;color:var(--mint-2);
}
.rt-none a .mmi{width:13px;height:13px;color:currentColor;}
.rt-none a:hover{text-decoration:underline;}

/* ============ 이용 안내 (카드 없이 compact) ============ */
.guide{margin-bottom:48px;}
.guide h2,.faqsec h2{font-size:21px;font-weight:700;letter-spacing:-.035em;color:var(--ink);margin-bottom:16px;}
.guide-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;list-style:none;
  background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.guide-list li{background:var(--card);}
.guide-list a{display:flex;align-items:flex-start;gap:10px;height:100%;padding:16px;transition:background .12s;}
.guide-list a:hover{background:var(--soft);}
.guide-list .n{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--mint-2);line-height:1.5;}
.guide-list .tx{display:flex;flex-direction:column;gap:3px;min-width:0;}
.guide-list .tx b{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.02em;}
.guide-list .tx span{font-size:12.5px;color:var(--ink-2);line-height:1.6;}

/* ============ FAQ ============ */
.faqsec{margin-bottom:48px;}

/* 기타 위젯 */
.latest_wr_subject,.lt_title{font-size:14px;}
#validation_check{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;}

/* ============ 반응형 ============ */
@media (max-width:1024px){
  .home-layout{grid-template-columns:220px minmax(0,1fr);gap:20px;}
  .guide-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .home-layout{grid-template-columns:minmax(0,1fr);}
  .home-side{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
  .home-main{order:1;}
  .rt-grid{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:720px){
  .tbar .l .hide,.tbar .live,.tbar .dot{display:none;}
  .tclock{position:static;transform:none;}
  .tclock .d,.tclock .w{display:none;}
  .home-layout{padding:16px 14px 0;}
  .home-full{padding:0 14px 40px;}
  .home-side{grid-template-columns:minmax(0,1fr);}
  .guide-list{grid-template-columns:minmax(0,1fr);}
  .rtsec,.guide,.faqsec{margin-bottom:40px;}
  .rt-head h2,.guide h2,.faqsec h2{font-size:19px;}
  .info-intro{padding:24px 16px 22px;}
  .info-intro .cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;}
  .info-intro .cta .btn{justify-content:center;width:100%;}
  .vsearch-lb{width:100%;}
  .vsearch-inp{flex:1 1 100%;}
  .vsearch-btn{width:100%;}
  .cmsec .rt-item .src{flex-basis:60px;}
  .td_name,.td_date,.td_datetime,.td_num2{display:none;}
  .tbl_head01 thead th.td_name,.tbl_head01 thead th.td_date,.tbl_head01 thead th.td_datetime{display:none;}
  #bo_list,#bo_v,#bo_w,#mb_login,#reg{padding:14px;}
  .tbl_frm01 th{display:block;width:100%;padding:10px 0 4px;}
  .tbl_frm01 td{display:block;width:100%;padding:0 0 10px;}
}


/* ============================================================
   브랜드 포인트 최종 정리
   화이트·블랙이 기반, 민트=신뢰/검증, 오렌지=활동/인기
   ============================================================ */

/* 인기 · 추천 (오렌지 · 커뮤니티 한정) */
.hot-badge,.rt-item .hot{
  display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:4px;
  background:var(--orange-pale);border:1px solid var(--orange-line);
  color:#a95824;font-size:10.5px;font-weight:700;letter-spacing:-.02em;
}
.cmsec .rt-item .meta.hit{color:var(--ink-3);}

/* 현재 메뉴 : 검정 + 얇은 민트 언더라인 */
nav.gnb>ul>li>a{position:relative;}
nav.gnb>ul>li>a::after{
  content:"";position:absolute;left:22%;right:22%;bottom:0;
  height:2px;background:var(--mint);transform:scaleX(0);transform-origin:center;
  transition:transform .18s ease;
}
nav.gnb>ul>li:hover>a::after{transform:scaleX(1);}

/* 헤더 우측 : 출석체크는 무채색, 내 메뉴만 민트 */

/* 검색 : 민트 전용 (오렌지 미사용) */
.vsearch-hot a{color:var(--ink-2);}
.vsearch-hot a:hover{border-color:var(--mint);color:var(--mint-2);background:var(--mint-pale);}

/* 아이콘 : 기본은 무채색, 의미가 있을 때만 컬러 */
.mmi{color:var(--ink-3);}
.ch .chl .mmi{color:var(--ink-3);}
.card.accent .ch .chl .mmi{color:var(--mint-2);}


/* ============================================================
   회원 계급 배지 — 대한민국 군 계급 20단계
   ------------------------------------------------------------
   구조 : .rkb  +  .rkb-{그룹키}  +  .rkb-{계급키}  [+ .rkb-sp / .rkb-sp2]
     · 그룹(병·부사관·준위·위관·영관·장군) = 색 계열
     · 계급장 자체는 인라인 SVG(mm_rank_insignia) 가 그린다
     · sp / sp2 = 반짝이 · 특수 반짝이 (병장·원사·대위·대장 / 원수)
   ============================================================ */
.rkb{
  display:inline-flex; align-items:center; gap:5px;
  height:20px; padding:0 7px 0 5px; margin-right:5px;
  border:1px solid var(--rkb-line); border-radius:5px;
  background:var(--rkb-bg);
  font-size:11px; font-weight:700; letter-spacing:-.02em; line-height:1;
  color:var(--rkb-tx); white-space:nowrap; vertical-align:middle;
  position:relative; overflow:hidden;
}
.rkb-i{display:inline-flex; align-items:center; flex:0 0 auto;}
.rkb-svg{display:block; height:14px; width:auto;}
.rkb-t{position:relative; z-index:1;}
.rkb-c .rkb-t{display:none;}
.rkb-c{padding:0 5px;}

/* 그룹별 색 : 아래로 갈수록 채도를 낮추고 위로 갈수록 금빛으로 */
.rkb-byeong   {--rkb-bg:#f2faf8; --rkb-line:#bfe3dc; --rkb-tx:#0f766e;}
.rkb-busagwan {--rkb-bg:#f0f8f6; --rkb-line:#aedbd2; --rkb-tx:#0b6a62;}
.rkb-junwi    {--rkb-bg:#f6f5f1; --rkb-line:#ddd6c4; --rkb-tx:#7a6a3c;}
.rkb-wigwan   {--rkb-bg:#f5f7fa; --rkb-line:#ccd4de; --rkb-tx:#4b5563;}
.rkb-yeonggwan{--rkb-bg:#f3f5f9; --rkb-line:#c2ccda; --rkb-tx:#3f4855;}
.rkb-janggun  {--rkb-bg:#fdf6e6; --rkb-line:#e6cf92; --rkb-tx:#8a6410;}

/* 반짝이 : 배지 위를 밝은 띠가 훑고 지나간다 (글자는 건드리지 않는다) */
.rkb-sp::after,
.rkb-sp2::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 38%, rgba(255,255,255,.85) 50%, transparent 62%);
  transform:translateX(-120%);
}
.rkb-sp2{
  --rkb-bg:linear-gradient(135deg,#fff6dd 0%,#ffeab8 55%,#fff6dd 100%);
  --rkb-line:#dfae3a; --rkb-tx:#7c5406;
  box-shadow:0 0 0 1px rgba(223,174,58,.25), 0 0 10px rgba(223,174,58,.35);
}
.rkb-sp2::after{
  background:linear-gradient(105deg, transparent 34%, rgba(255,255,255,.95) 50%, transparent 66%);
}
@media (prefers-reduced-motion:no-preference){
  .rkb-sp::after { animation:mmRkbShine 3.4s ease-in-out infinite; }
  .rkb-sp2::after{ animation:mmRkbShine 2.2s ease-in-out infinite; }
  .rkb-sp2       { animation:mmRkbGlow  2.6s ease-in-out infinite; }
}
@keyframes mmRkbShine{
  0%, 62% { transform:translateX(-120%); }
  86%,100%{ transform:translateX(120%); }
}
@keyframes mmRkbGlow{
  0%,100%{ box-shadow:0 0 0 1px rgba(223,174,58,.25), 0 0 8px rgba(223,174,58,.30); }
  50%    { box-shadow:0 0 0 1px rgba(223,174,58,.45), 0 0 16px rgba(223,174,58,.60); }
}

/* 운영자 칭호 '민족대장' : 계급표 밖이라 그룹 색을 쓰지 않고 전용 금색 명패로 */
.rkb-admin{
  --rkb-bg:linear-gradient(135deg,#fff8e4 0%,#ffe9b0 48%,#fff3d2 100%);
  --rkb-line:#c99320; --rkb-tx:#6b4906;
  height:22px; padding:0 9px 0 6px; letter-spacing:-.03em;
  box-shadow:0 0 0 1px rgba(201,147,32,.28), 0 0 12px rgba(224,174,58,.40);
}
.rkb-admin::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 34%, rgba(255,255,255,.95) 50%, transparent 66%);
  transform:translateX(-120%);
}
@media (prefers-reduced-motion:no-preference){
  .rkb-admin::after{animation:mmRkbShine 2.0s ease-in-out infinite;}
  .rkb-admin      {animation:mmRkbGlow  2.4s ease-in-out infinite;}
}
:root[data-theme="dark"] .rkb-admin{
  --rkb-bg:linear-gradient(135deg,#3f3210 0%,#6b5417 52%,#3f3210 100%);
  --rkb-line:#d8a92f; --rkb-tx:#ffeab4;
}

/* 다크모드 : 면만 어둡게 바꾸고 계급장 SVG 색은 그대로 둔다 */
:root[data-theme="dark"] .rkb-byeong   {--rkb-bg:#122a27; --rkb-line:#1e4a44; --rkb-tx:#5fd6c8;}
:root[data-theme="dark"] .rkb-busagwan {--rkb-bg:#112825; --rkb-line:#1c453f; --rkb-tx:#57cfc1;}
:root[data-theme="dark"] .rkb-junwi    {--rkb-bg:#292519; --rkb-line:#4a412a; --rkb-tx:#d7c185;}
:root[data-theme="dark"] .rkb-wigwan   {--rkb-bg:#1f242b; --rkb-line:#39424e; --rkb-tx:#c3cbd6;}
:root[data-theme="dark"] .rkb-yeonggwan{--rkb-bg:#1d222a; --rkb-line:#333d4b; --rkb-tx:#cbd3de;}
:root[data-theme="dark"] .rkb-janggun  {--rkb-bg:#2b2410; --rkb-line:#5a4718; --rkb-tx:#f0cd72;}
:root[data-theme="dark"] .rkb-sp2{
  --rkb-bg:linear-gradient(135deg,#3a2f0e 0%,#5a4718 55%,#3a2f0e 100%);
  --rkb-line:#c99c2c; --rkb-tx:#ffe6a3;
}

/* 모바일 : 반짝임만 정지(성능), 색과 계급장은 그대로 */
@media (max-width:720px){
  .rkb-sp::after,.rkb-sp2::after,.rkb-admin::after{animation:none!important; opacity:0!important;}
  .rkb-sp2,.rkb-admin{animation:none!important;}
}


/* ============================================================
   BLACK x MINT x ORANGE — 컬러 위계
   BLACK  = 구조 · 권위 · 선택 상태
   MINT   = 브랜드 · 검증 · 액션
   ORANGE = 활동 · 보상 · 실시간
   ============================================================ */
:root{
  --color-black:#171717; --color-black-deep:#111111; --color-black-soft:#252525;
  --color-mint:#20bdb8;  --color-mint-dark:#159f9a;  --color-mint-soft:#eaf8f7;
  --color-orange:#e98232; --color-orange-dark:#d86f22; --color-orange-soft:#fff3e9;
  --color-border:#e5e5e3; --color-bg:#ffffff; --color-off:#fafaf9;
  --color-text-muted:#747474;
}

/* ── HEADER : 내 메뉴 / 출석체크 = 화이트 아웃라인 ── */
.hd-act .mymenu-btn{background:#fff;border:1px solid var(--color-border);color:var(--color-black);}
.hd-act .mymenu-btn:hover{background:var(--color-off);border-color:var(--color-mint);color:var(--color-black);transform:none;}
.hd-act .mymenu-btn svg{color:var(--color-mint);}
.hd-act .btn.o{background:#fff;border-color:var(--color-border);color:var(--color-black);}
.hd-act .btn.o:hover{background:var(--color-off);border-color:var(--color-mint);color:var(--color-black);}

/* ── HERO : 주 CTA = BLACK + MINT 아이콘, 보조 = 아웃라인 ── */
.info-intro{border-top:2px solid var(--color-black);}
.info-intro .cta .btn.m{background:#fff;border:1px solid var(--color-border);color:var(--color-black);}
.info-intro .cta .btn.m:hover{background:var(--color-off);border-color:var(--color-mint);color:var(--color-black);}
.info-intro .cta .btn.m .mmi{color:var(--color-mint);}
.info-intro .cta .btn.o{border-color:var(--color-black);color:var(--color-black);}
.info-intro .cta .btn.o:hover{border-color:var(--color-mint);color:var(--color-black);background:var(--color-mint-soft);}
.info-intro .cta .btn.o:hover .mmi{color:var(--color-mint);}

/* ── 검색 : 컨테이너 오프화이트 · 라벨 블랙 · 버튼 민트 ── */
.vsearch{background:var(--color-off);}
.vsearch-lb{color:var(--color-black);font-weight:700;}
.vsearch-lb .ic .mmi{color:var(--color-black);}
.vsearch-btn{background:var(--color-mint);border-color:var(--color-mint);}
.vsearch-btn:hover{background:var(--color-mint-dark);border-color:var(--color-mint-dark);}

/* ── 사이드바 : 제목 블랙 + 얇은 민트 accent ── */
.ch{box-shadow:inset 2px 0 0 var(--color-mint),inset 0 -1px 0 var(--line);}
.ch .chl{color:var(--color-black);font-weight:700;}
.card.accent .ch{box-shadow:inset 3px 0 0 var(--color-mint),inset 0 -1px 0 var(--line);}
.ch .en{color:var(--color-text-muted);}
/* 포인트 랭킹 TOP 5 라벨만 오렌지 */
.card:nth-of-type(3) .ch .en{color:var(--color-orange-dark);font-weight:700;}

/* ── 회원 카드 : 출석 CTA = BLACK + MINT 아이콘 ── */
.welcome .go,.login .go{background:#fff;border:1px solid var(--color-border);color:var(--color-black);}
.welcome .go:hover,.login .go:hover{background:var(--color-off);border-color:var(--color-mint);color:var(--color-black);}
.welcome .gol .mmi{color:var(--color-mint);opacity:1;}
/* 포인트 : 오렌지 아이콘 + 블랙 숫자 + 작은 오렌지 밑줄 */
.welcome .grid div:first-child{position:relative;}
.welcome .grid div:first-child::after{
  content:"";position:absolute;left:50%;bottom:7px;transform:translateX(-50%);
  width:16px;height:2px;border-radius:1px;background:var(--color-orange);
}
.welcome .grid div:first-child .v{color:var(--color-black);}

/* ── 게시판 공통 : 선택 상태 = BLACK ── */
#bo_cate #bo_cate_on{background:var(--color-black);border-color:var(--color-black);color:#fff;}
#bo_cate a:hover{border-color:var(--color-mint);color:var(--color-mint-dark);background:var(--color-mint-soft);}
.pg_current{background:var(--color-black);border-color:var(--color-black);color:#fff;}
.pg_page:hover{border-color:var(--color-mint);color:var(--color-mint-dark);background:var(--color-mint-soft);}
.tbl_head01 thead th{background:#f7f7f6;color:var(--color-black);border-bottom:1px solid var(--color-black);}
.tbl_head01 thead a{color:var(--color-black);}
.tbl_head01 tbody tr:hover td{background:var(--color-mint-soft);}
.notice_icon{background:var(--color-black);}
.new_icon{background:var(--color-orange);}

/* ── 섹션 제목 : 블랙 + 짧은 민트 accent ── */
.rt-head h2,.guide h2,.faqsec h2,.sec-ht h2{position:relative;padding-left:11px;color:var(--color-black);}
.rt-head h2::before,.guide h2::before,.faqsec h2::before,.sec-ht h2::before{
  content:"";position:absolute;left:0;top:.72em;transform:translateY(-50%);
  width:3px;height:15px;border-radius:2px;background:var(--color-mint);
}
/* 커뮤니티 섹션은 무채색 accent */
.cmsec .sec-ht h2::before{background:var(--color-black);}

/* ── 상태 색 재확인 ── */
.rt-item .meta.st.ing{color:var(--color-orange-dark);}
.rt-item .meta.st.done{color:var(--color-mint-dark);}

/* ============================================================
   메인페이지 콘텐츠 허브 구조 (2026-08)
     · 섹션 리듬 : H2 → 설명 → 카드, 섹션 간 48px
     · 좌측 시작선 통일 : accent bar 는 -11px 거터에 두고
       H2 텍스트 / 설명문 / 카드의 왼쪽 끝을 모두 0 에 맞춤
   ============================================================ */
main{display:block;}

/* ── 섹션 공통 헤더 ── */
.sec-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;margin-bottom:20px;
}
.sec-ht{min-width:0;margin-left:-11px;}
.sec-ht h2{
  font-size:21px;font-weight:700;letter-spacing:-.035em;line-height:1.35;
  color:var(--ink);margin-bottom:0;
}
.sec-desc{
  padding-left:11px;margin-top:10px;max-width:760px;
  font-size:13.5px;font-weight:500;line-height:1.7;color:var(--ink-2);letter-spacing:-.01em;
}
.sec-head .rt-all{flex:0 0 auto;margin-top:4px;}

/* 섹션 간격 통일 */
.rtsec,.infosec,.gtsec,.guide,.faqsec{margin-bottom:48px;}
.info-intro{margin-bottom:20px;}
.faqsec{margin-bottom:8px;}

/* 게시판 카드 헤더에 아이콘이 들어갈 때 */
.rt-bh h3{display:flex;align-items:center;gap:6px;}
.rt-bh h3 .mmi{width:15px;height:15px;color:var(--mint-2);flex:0 0 auto;}

/* 빈 카드 : 억지로 높이를 확보하지 않는다 */
.rt-none{min-height:118px;padding:20px 16px;}

/* ── 05. 베팅 노하우 · 이용정보 : 정보 카드 ── */
.icard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.icard{
  min-width:0;background:var(--card);border:1px solid var(--line);
  border-radius:8px;overflow:hidden;transition:border-color .15s;
}
.icard:hover{border-color:var(--line-2);}
.icard>a{display:flex;flex-direction:column;gap:8px;height:100%;padding:18px;}
.icard .cate{
  display:inline-flex;align-items:center;gap:5px;align-self:flex-start;
  font-size:12px;font-weight:600;letter-spacing:-.02em;color:var(--ink-2);
  background:var(--soft-2);border-radius:5px;padding:3px 8px;
}
.icard .cate .mmi{width:13px;height:13px;color:var(--mint-2);}
.icard h3{
  font-size:15px;font-weight:700;letter-spacing:-.025em;line-height:1.45;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.icard>a:hover h3{color:var(--mint-2);}
.icard .sum{
  font-size:13px;font-weight:400;line-height:1.65;color:var(--ink-2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.icard .dt{margin-top:auto;padding-top:4px;font-size:12px;font-weight:500;color:var(--ink-3);}

/* 섹션 단위 빈 상태 (카드 그리드가 통째로 비었을 때) */
.sec-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:28px 16px;text-align:center;
  background:var(--card);border:1px solid var(--line);border-radius:8px;
}
.sec-empty b{font-size:13.5px;font-weight:600;color:var(--ink-2);}
.sec-empty span{font-size:12.5px;color:var(--ink-3);line-height:1.6;}
.sec-empty a{
  display:inline-flex;align-items:center;gap:3px;margin-top:4px;
  font-size:12.5px;font-weight:600;color:var(--mint-2);
}
.sec-empty a .mmi{width:13px;height:13px;color:currentColor;}
.sec-empty a:hover{text-decoration:underline;}

/* ── 07. 보증업체 안내 : 광고배너가 아닌 작은 안내 카드 ── */
.gt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.gt-card{
  display:flex;align-items:flex-start;gap:11px;min-width:0;padding:18px;
  background:var(--card);border:1px solid var(--line);border-radius:8px;transition:.15s;
}
.gt-card:hover{background:var(--soft);border-color:var(--line-2);}
.gt-card .ic{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:7px;background:var(--mint-pale);
}
.gt-card .ic .mmi{width:17px;height:17px;color:var(--mint-2);}
.gt-card .tx{display:flex;flex-direction:column;gap:4px;min-width:0;}
.gt-card .tx b{font-size:14.5px;font-weight:700;letter-spacing:-.025em;color:var(--ink);}
.gt-card:hover .tx b{color:var(--mint-2);}
.gt-card .tx span{font-size:12.5px;font-weight:400;line-height:1.6;color:var(--ink-2);}
.gt-note{
  display:flex;align-items:flex-start;gap:7px;margin-top:12px;padding:11px 13px;
  background:var(--orange-pale);border:1px solid var(--orange-line);border-radius:7px;
  font-size:12.5px;font-weight:500;line-height:1.65;color:var(--ink-2);letter-spacing:-.01em;
}
.gt-note .mmi{width:14px;height:14px;flex:0 0 auto;margin-top:2px;color:var(--orange-2);}

/* ── 08. 이용 가이드 : 4단계 (기존 컴포넌트 재사용) ── */
.guide-list a{gap:11px;padding:18px;}
.guide-list .tx span{line-height:1.65;}

/* ── 09. FAQ : h3 + button 시맨틱, 아코디언 ── */
.faq{gap:10px;}
.faq-item{transition:border-color .15s;}
.faq-item.open{border-color:var(--line-2);box-shadow:inset 3px 0 0 var(--mint);}
.faq-h{margin:0;font-size:inherit;font-weight:inherit;}
button.faq-q{
  display:flex;align-items:flex-start;gap:11px;width:100%;cursor:pointer;
  padding:16px 18px;background:none;border:none;font-family:inherit;text-align:left;
  font-size:15px;font-weight:700;letter-spacing:-.025em;line-height:1.5;color:var(--ink);
}
.faq-q .qq{flex:0 0 auto;font-size:15px;font-weight:800;line-height:1.5;color:var(--mint-2);}
.faq-q .qt{flex:1 1 auto;min-width:0;}
.faq-q .tog{
  flex:0 0 auto;margin-left:auto;font-size:17px;font-weight:400;line-height:1.35;
  color:var(--ink-3);transition:transform .2s ease;
}
.faq-item.open .faq-q{color:var(--ink);}
.faq-q:hover .qt{color:var(--mint-2);}
.faq-q:focus-visible{outline:2px solid var(--mint);outline-offset:-2px;border-radius:8px;}

.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:1400px;}
.faq-a .in{
  display:flex;flex-direction:column;gap:13px;
  max-width:820px;padding:0 18px 18px 42px;
}
.faq-a p{
  padding:0;font-size:14.5px;font-weight:400;line-height:1.8;
  color:var(--ink-2);letter-spacing:-.01em;
}
.faq-a a{
  color:var(--mint-2);font-weight:600;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2.5px;
  text-decoration-color:var(--mint-line);transition:.15s;
}
.faq-a a:hover{text-decoration-color:var(--mint-2);}
@media (max-width:720px){
  button.faq-q{padding:14px 15px;font-size:14.5px;gap:9px;}
  .faq-a .in{padding:0 15px 16px 15px;gap:11px;}
  .faq-a p{font-size:14px;line-height:1.75;}
}

/* ── 히어로 CTA : 피해사례=아웃라인 / 검증요청=민트 (검증 CTA 는 민트 고정) ── */
.info-intro .cta .btn.m{background:var(--color-mint);border:1px solid var(--color-mint);color:#fff;}
.info-intro .cta .btn.m:hover{background:var(--color-mint-dark);border-color:var(--color-mint-dark);color:#fff;}
.info-intro .cta .btn.m .mmi{color:#fff;}
.info-intro .cta .btn.o{background:#fff;border:1px solid var(--color-black);color:var(--color-black);}
.info-intro .cta .btn.o:hover{background:var(--soft);border-color:var(--color-black);color:var(--color-black);}
.info-intro .cta .btn.o .mmi{color:var(--color-black);}

/* ── 반응형 ── */
@media (max-width:1024px){
  .icard-grid,.gt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .sec-head{flex-direction:column;align-items:stretch;gap:10px;}
  .sec-head .rt-all{margin-top:0;align-self:flex-start;}
  .sec-desc{margin-top:8px;}
}
@media (max-width:720px){
  .sec-ht h2{font-size:19px;}
  .sec-desc{font-size:13px;}
  .rtsec,.infosec,.gtsec,.guide,.faqsec{margin-bottom:36px;}
  .icard-grid,.gt-grid{grid-template-columns:minmax(0,1fr);gap:10px;}
  .icard>a,.gt-card{padding:16px;}
  .vsearch-form{flex-direction:column;align-items:stretch;}
  .vsearch-lb{margin-bottom:2px;}
  .vsearch-inp,.vsearch-btn{width:100%;flex:0 0 auto;}
}

/* ── 다크모드 보정 ──
   --color-black / --color-mint 계열은 라이트 전용 토큰이라 다크에서 값이 바뀌지 않는다.
   (배경으로도 쓰이는 토큰이라 토큰 자체를 뒤집으면 칩·페이지네이션이 깨진다)
   텍스트·흰 배경으로 쓰이는 곳만 골라서 다크 값으로 되돌린다. */
:root[data-theme="dark"] .rt-head h2,
:root[data-theme="dark"] .guide h2,
:root[data-theme="dark"] .faqsec h2,
:root[data-theme="dark"] .sec-ht h2,
:root[data-theme="dark"] .vsearch-lb,
:root[data-theme="dark"] .vsearch-lb .ic .mmi,
:root[data-theme="dark"] .ch .chl{color:var(--ink);}

:root[data-theme="dark"] .info-intro .cta .btn.o,
:root[data-theme="dark"] .hd-act .btn.o,
:root[data-theme="dark"] .hd-act .mymenu-btn,
:root[data-theme="dark"] .welcome .go,
:root[data-theme="dark"] .login .go{
  background:var(--card);border-color:var(--line-2);color:var(--ink);
}
:root[data-theme="dark"] .info-intro .cta .btn.o .mmi,
:root[data-theme="dark"] .welcome .gol .mmi{color:var(--mint);}
:root[data-theme="dark"] .info-intro .cta .btn.o:hover,
:root[data-theme="dark"] .hd-act .btn.o:hover,
:root[data-theme="dark"] .hd-act .mymenu-btn:hover,
:root[data-theme="dark"] .welcome .go:hover,
:root[data-theme="dark"] .login .go:hover{
  background:var(--soft-2);border-color:var(--mint);color:var(--ink);
}
:root[data-theme="dark"] .icard,
:root[data-theme="dark"] .gt-card,
:root[data-theme="dark"] .sec-empty{background:var(--card);border-color:var(--line);}
:root[data-theme="dark"] .gt-card:hover{background:var(--soft-2);}
:root[data-theme="dark"] .gt-card .ic{background:var(--mint-pale);}

/* ============================================================
   예약 발행 관리 (mm_schedule.php)
   ============================================================ */
.msch{padding:28px 18px 56px;}
.msch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.msch-head h1{font-size:23px;font-weight:800;letter-spacing:-.04em;color:var(--ink);}
.msch-head p{margin-top:7px;font-size:13.5px;line-height:1.65;color:var(--ink-2);}
.msch-now{font-size:12.5px;font-weight:500;color:var(--ink-3);background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:7px 11px;white-space:nowrap;}
.msch-now b{font-weight:700;color:var(--ink-2);margin-left:4px;}

.msch-flash{display:flex;align-items:center;gap:7px;margin-bottom:16px;padding:12px 14px;
  background:var(--mint-pale);border:1px solid var(--mint-line);border-radius:8px;
  font-size:13.5px;font-weight:600;color:var(--mint-2);}
.msch-flash .mmi{width:16px;height:16px;flex:0 0 auto;}

.msch-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:12px;}
.msch-tabs a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:8px;
  background:var(--soft);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-2);transition:.15s;}
.msch-tabs a b{font-weight:700;color:var(--ink-3);}
.msch-tabs a:hover{border-color:var(--line-2);color:var(--ink);}
.msch-tabs a.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.msch-tabs a.on b{color:var(--mint-3);}

.msch-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:44px 20px;text-align:center;
  background:var(--card);border:1px solid var(--line);border-radius:8px;}
.msch-empty b{font-size:14px;font-weight:600;color:var(--ink-2);}
.msch-empty span{font-size:13px;color:var(--ink-3);}
.msch-empty em{font-style:normal;font-weight:600;color:var(--mint-2);}

.msch-list{display:flex;flex-direction:column;gap:10px;}
.msch-item{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:16px;align-items:start;
  padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:8px;}
.msch-item.due{border-color:var(--orange-line);background:var(--orange-pale);}

.msch-when{display:flex;flex-direction:column;gap:2px;}
.msch-when b{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.02em;}
.msch-when span{font-size:19px;font-weight:800;color:var(--mint-2);letter-spacing:-.03em;line-height:1.2;}
.msch-when .due-tag{margin-top:4px;font-style:normal;font-size:11.5px;font-weight:700;color:var(--orange-2);}

.msch-body{min-width:0;}
.msch-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px;font-size:11.5px;font-weight:600;}
.msch-meta .bo{background:var(--soft-2);color:var(--ink-2);border-radius:4px;padding:2px 7px;}
.msch-meta .ca{color:var(--mint-2);}
.msch-meta .ntc{background:var(--ink);color:#fff;border-radius:4px;padding:2px 7px;}
.msch-meta .by{color:var(--ink-3);font-weight:500;}
.msch-tit{font-size:15.5px;font-weight:700;letter-spacing:-.025em;line-height:1.45;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msch-tit a{color:var(--ink);} .msch-tit a:hover{color:var(--mint-2);text-decoration:underline;}
.msch-sum{margin-top:5px;font-size:13px;line-height:1.6;color:var(--ink-2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.msch-err{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--coral);}

.msch-act{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.msch-act form{display:flex;align-items:center;gap:6px;margin:0;}
.msch-act input[type=datetime-local]{height:32px;padding:0 9px;background:#fff;border:1px solid var(--line-2);
  border-radius:7px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink);}
.msch-act .b{height:32px;padding:0 12px;cursor:pointer;border-radius:7px;font-family:inherit;
  font-size:12.5px;font-weight:700;letter-spacing:-.02em;transition:.15s;white-space:nowrap;}
.msch-act .b.line{background:#fff;border:1px solid var(--line-2);color:var(--ink-2);}
.msch-act .b.line:hover{border-color:var(--mint);color:var(--mint-2);}
.msch-act .b.go{background:var(--mint);border:1px solid var(--mint);color:var(--on-mint);}
.msch-act .b.go:hover{background:var(--mint-deep);}
.msch-act .b.del{background:#fff;border:1px solid var(--line-2);color:var(--ink-3);}
.msch-act .b.del:hover{border-color:var(--coral);color:var(--coral);}
.msch-state{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;}
.msch-state i{font-style:normal;font-weight:500;color:var(--ink-3);}
.msch-state.done{color:var(--mint-2);} .msch-state.canceled{color:var(--ink-3);} .msch-state.error{color:var(--coral);}

.msch-note{display:flex;align-items:flex-start;gap:7px;margin-top:20px;padding:12px 14px;
  background:var(--soft);border:1px solid var(--line);border-radius:8px;
  font-size:12.5px;line-height:1.7;color:var(--ink-2);}
.msch-note .mmi{width:15px;height:15px;flex:0 0 auto;margin-top:2px;color:var(--ink-3);}

@media (max-width:900px){
  .msch-item{grid-template-columns:96px minmax(0,1fr);}
  .msch-act{grid-column:1 / -1;justify-content:flex-start;padding-top:10px;border-top:1px solid var(--line);}
}
@media (max-width:560px){
  .msch-item{grid-template-columns:minmax(0,1fr);gap:10px;}
  .msch-when{flex-direction:row;align-items:baseline;gap:7px;}
  .msch-act form{flex-wrap:wrap;}
  .msch-act .msch-re{width:100%;}
  .msch-act input[type=datetime-local]{flex:1 1 auto;}
}
:root[data-theme="dark"] .msch-act input[type=datetime-local],
:root[data-theme="dark"] .msch-act .b.line,
:root[data-theme="dark"] .msch-act .b.del{background:var(--card);color:var(--ink);}
:root[data-theme="dark"] .msch-tabs a.on{background:var(--mint-deep);border-color:var(--mint-deep);}

/* ===== 404 페이지 ===== */
.mm404{max-width:640px;margin:0 auto;padding:70px 20px 90px;text-align:center;}
.mm404 .code{font-size:56px;font-weight:800;letter-spacing:-.04em;color:var(--mint-2);line-height:1;}
.mm404 h1{margin-top:14px;font-size:22px;font-weight:700;letter-spacing:-.035em;color:var(--ink);}
.mm404 .desc{margin-top:12px;font-size:14px;line-height:1.85;color:var(--ink-2);}
.mm404-search{display:flex;gap:8px;margin:26px 0 22px;}
.mm404-search input[type=text]{
  flex:1 1 auto;min-width:0;height:44px;padding:0 14px;
  border:1px solid var(--line-2);border-radius:8px;background:var(--card);
  font-family:inherit;font-size:14px;color:var(--ink);
}
.mm404-search input[type=text]:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px rgba(32,189,183,.14);}
.mm404-search button{
  flex:0 0 auto;height:44px;padding:0 20px;border:none;border-radius:8px;
  background:var(--mint);color:var(--on-mint);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;
}
.mm404-search button:hover{background:var(--mint-deep);}
.mm404-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:22px;border-top:1px solid var(--line);}
.mm404-menu a{
  display:inline-flex;align-items:center;height:34px;padding:0 13px;
  border:1px solid var(--line-2);border-radius:7px;background:var(--card);
  font-size:13px;font-weight:600;color:var(--ink-2);transition:.15s;
}
.mm404-menu a:hover{border-color:var(--mint);color:var(--mint-2);}
.mm404-home{
  display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 26px;margin-top:26px;
  border-radius:8px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;
}
.mm404-home:hover{background:var(--mint-deep);color:#fff;}
@media (max-width:560px){
  .mm404{padding:48px 16px 64px;}
  .mm404 .code{font-size:44px;}
  .mm404 h1{font-size:19px;}
}

/* ===== 레벨업 · 포인트 토스트 ===== */
.mm-toasts{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%);
  display:flex;flex-direction:column;gap:8px;align-items:center;
  z-index:300;pointer-events:none;width:max-content;max-width:92vw;
}
.mm-toast{
  display:flex;align-items:center;gap:9px;
  padding:10px 16px;border-radius:9px;
  background:var(--card);border:1px solid var(--line-2);
  box-shadow:0 6px 20px rgba(0,0,0,.13);
  font-size:13px;color:var(--ink);white-space:nowrap;
  opacity:0;transform:translateY(8px);
  transition:opacity .22s ease,transform .22s ease;
}
.mm-toast.on{opacity:1;transform:translateY(0);}
.mm-toast .cap{
  font-size:10.5px;font-weight:800;letter-spacing:.09em;
  color:var(--mint-deep);flex:0 0 auto;
}
.mm-toast b{font-weight:700;letter-spacing:-.02em;}
.mm-toast .sub{font-size:12px;color:var(--ink-3);}
.mm-toast .pt{font-weight:800;color:var(--mint-deep);font-variant-numeric:tabular-nums;}
.mm-toast.rank{border-color:var(--mint);}
.mm-toast.rank .cap{color:var(--mint-deep);}
.mm-toast.badge .cap{color:var(--color-orange-dark,#d86f22);}
.mm-toast.point{padding:8px 14px;font-size:12.5px;}
.mm-toast .rkb{margin-right:0;}
@media (prefers-reduced-motion:reduce){
  .mm-toast{transition:none;}
}
@media (max-width:560px){
  .mm-toasts{bottom:16px;gap:6px;}
  .mm-toast{padding:9px 13px;font-size:12.5px;}
}

/* Hero CTA : 아주 좁은 화면에서는 세로로 쌓는다 */
@media (max-width:420px){
  .info-intro .cta{grid-template-columns:minmax(0,1fr);}
}

/* ===== 상단 슬로건 : 한 글자씩 순서대로 반짝임 ===== */
.tbar .l .slogan{display:inline-block; white-space:nowrap;}
.tbar .l .slogan i{
  font-style:normal; display:inline-block;
  color:var(--ink-3);
  will-change:opacity;
}
.tbar .l .slogan i.sp{width:.28em;}
@media (prefers-reduced-motion:no-preference){
  .tbar .l .slogan i{
    animation:mmSloganTwinkle 5.4s linear infinite;
    animation-delay:calc(var(--i) * .14s);
  }
}
@keyframes mmSloganTwinkle{
  0%,  100%{ color:var(--ink-3);  opacity:.85; }
  4%       { color:var(--mint-2); opacity:1; }
  9%       { color:var(--ink-3);  opacity:.85; }
}

/* ── 상단 유틸바 : 아주 좁은 화면에서 가로 스크롤 방지 ──
   슬로건·시계를 접고 우측 묶음만 남긴다. 320px 에서 넘치던 문제 해결. */
@media (max-width:520px){
  .tbar .in{padding:0 12px;}
  .tbar .l{display:none;}
  .tbar .r{min-width:0; flex:1 1 auto; justify-content:flex-end; gap:2px;}
  .tbar a{padding:0 5px; white-space:nowrap;}
}
@media (max-width:420px){
  .tclock{display:none;}
  .tbar .ptpill{max-width:78px; overflow:hidden;}
}

/* ============================================================
   메인페이지 UI 개선 (2026-08-25)
   기존 클래스·구조는 그대로 두고, 3열 레이아웃과 신규 요소 스타일
   그리고 세로 간격 압축만 이 블록에서 덧쓴다.
   ============================================================ */

/* ── 3열 레이아웃 : 좌 사이드바 / 본문 / 우 가이드·FAQ ── */
.home-layout{
  /* 시안 기준 : 좌측 사이드바 + 본문 2열 (우측 컬럼 없음) */
  grid-template-columns:236px minmax(0,1fr);
  gap:20px; padding-top:18px;
}
.home-side{gap:14px;}
.home-main > section{margin-bottom:20px;}
.home-main > section:last-child{margin-bottom:0;}

/* 섹션 헤더 : 여백 압축 */
.home-main .sec-head{margin-bottom:12px;}
.home-main .sec-head .sec-desc{margin-top:5px;}
.rtsec,.infosec,.gtsec,.guide,.faqsec{margin-bottom:20px;}

/* ── 히어로 : 다크 카드 + 우측 빠른 검증 요청 ───────────── */
.info-intro.hero-dark{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:26px; align-items:center;
  padding:30px 28px; margin-bottom:16px;
  background:#101413; border:1px solid #1e2a27; border-top:2px solid var(--mint);
  border-radius:12px;
}
.hero-dark .hero-in{max-width:none; margin:0; text-align:left; align-items:flex-start;}
.hero-dark .t-badge{color:#8fa9a4; margin-bottom:0;}
.hero-dark h1{color:#f4f8f7; font-size:31px; margin-top:8px; letter-spacing:-.045em;}
.hero-dark h1 .hl{color:var(--mint-3);}
.hero-dark .lead{color:#a8b8b4; max-width:560px; margin-top:11px; line-height:1.75;}
.hero-dark .cta{margin-top:18px; justify-content:flex-start;}
.hero-dark .cta .btn{height:44px; padding:0 20px; font-size:14px;}
.hero-dark .cta .btn.o{background:transparent; color:#eaf1ef; border-color:#3a4a46;}
.hero-dark .cta .btn.o:hover{background:#18201e; border-color:#5a6d68; color:#fff;}

/* 빠른 검증 요청 */
.hero-ask{
  padding:18px 18px 16px; border-radius:11px;
  background:#161d1b; border:1px solid #27352f;
}
.hero-ask .ht{
  display:flex; align-items:center; gap:6px;
  font-size:15px; font-weight:800; letter-spacing:-.03em; color:#f2f7f6;
}
.hero-ask .ht em{
  font-style:normal; font-size:11px; font-weight:700; color:#0c1a18;
  background:var(--mint-3); border-radius:4px; padding:2px 6px;
}
.hero-ask .hd{margin-top:8px; font-size:12px; line-height:1.65; color:#93a5a1;}
.hero-ask input{
  width:100%; height:42px; margin-top:12px; padding:0 12px;
  border:1px solid #33433e; border-radius:8px; background:#0d1211; color:#eaf1ef;
  font-family:inherit; font-size:13.5px;
}
.hero-ask input::placeholder{color:#6d7f7b;}
.hero-ask input:focus{outline:none; border-color:var(--mint); box-shadow:0 0 0 3px rgba(32,189,184,.16);}
.hero-ask button{
  width:100%; height:42px; margin-top:8px;
  border:1px solid var(--mint); border-radius:8px; background:var(--mint);
  font-family:inherit; font-size:14px; font-weight:700; color:var(--on-mint); cursor:pointer;
  transition:background-color .15s ease;
}
.hero-ask button:hover{background:var(--mint-deep);}
.hero-ask .hn{margin-top:9px; font-size:11.5px; color:#7f918d; text-align:center;}

/* ── 검색 : 폭 확보 · 여백 압축 ─────────────────────────── */
.vsearch{margin-bottom:14px; padding:16px 18px;}
.vsearch-inp{flex:1 1 340px;}

/* ── 공지 바 ────────────────────────────────────────────── */
.ntbar{
  display:flex; align-items:center; gap:14px;
  padding:12px 16px; margin-bottom:16px;
  border:1px solid var(--line); border-radius:10px; background:var(--card);
}
.ntbar .nt-k{
  display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
  font-size:12.5px; font-weight:800; letter-spacing:-.02em; color:var(--ink);
  padding-right:14px; border-right:1px solid var(--line);
}
.ntbar .nt-k .mmi{width:15px; height:15px; color:var(--mint-2);}
.ntbar .nt-t{
  flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:8px;
  font-size:13.5px; color:var(--ink); overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.ntbar .nt-t:hover{color:var(--mint-2);}
.ntbar .nt-new{
  flex:0 0 auto; font-style:normal; font-size:10px; font-weight:800; letter-spacing:.02em;
  color:#fff; background:var(--color-orange,#e98232); border-radius:3px; padding:2px 5px;
}
.ntbar .nt-d{flex:0 0 auto; margin-left:auto; font-size:12px; color:var(--ink-3);}
.ntbar .nt-more{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:2px;
  font-size:12px; font-weight:600; color:var(--ink-3);
}
.ntbar .nt-more:hover{color:var(--mint-2);}
.ntbar .nt-more .mmi{width:13px; height:13px;}

/* ── 목록 배지 ──────────────────────────────────────────── */
.rt-item .tag.rep{background:var(--coral-pale,#fff3f2); color:var(--coral-2,#c44b42); border-color:#f2dcd9;}
.rt-item .tag.st{border-radius:4px;}
.rt-item .tag.st.new{background:var(--soft-2); color:var(--ink-2);}
.rt-item .tag.st.ing{background:var(--orange-pale,#fff3e9); color:var(--orange-2,#d86f22);}
.rt-item .tag.st.done{background:var(--mint-pale); color:var(--mint-deep);}
.rt-item .meta{font-variant-numeric:tabular-nums;}

/* ── 빠른 카테고리 바로가기 ─────────────────────────────── */
.qcat{
  padding:16px 16px 12px; margin-bottom:20px;
  border:1px solid var(--line); border-radius:11px; background:var(--card);
}
.qcat-h{
  display:flex; align-items:center; gap:6px; margin-bottom:12px;
  font-size:14.5px; font-weight:800; letter-spacing:-.035em; color:var(--ink);
}
.qcat-h .mmi{width:16px; height:16px; color:var(--mint-2);}
.qcat-grid{display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px;}
.qcat-grid a{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:12px 6px; border-radius:9px; transition:background-color .15s ease;
}
.qcat-grid a:hover{background:var(--soft);}
.qcat .qi{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:12px;
  background:var(--q-bg,var(--soft-2)); border:1px solid var(--q-line,var(--line));
  transition:transform .15s ease, box-shadow .15s ease;
}
.qcat .qi .mmi{width:20px; height:20px; color:var(--q-ic,var(--ink-2));}
.qcat-grid a:hover .qi{transform:translateY(-2px); box-shadow:0 3px 10px var(--q-sh,rgba(0,0,0,.06));}
.qcat .qt{
  font-size:11.5px; font-weight:600; letter-spacing:-.03em; color:var(--ink-2);
  text-align:center; line-height:1.35; word-break:keep-all;
  min-height:2.7em; display:flex; align-items:center;
}
.qcat-grid a:hover .qt{color:var(--ink);}

/* 톤 : 민트 계열을 기본으로 두고 경고·보증만 다른 색을 쓴다 */
.qcat .q-mint{--q-bg:var(--mint-pale); --q-line:#cdebe8; --q-ic:var(--mint-2); --q-sh:rgba(32,189,184,.22);}
.qcat .q-deep{--q-bg:#e3f4f2; --q-line:#bfe3dc; --q-ic:var(--mint-deep);  --q-sh:rgba(21,159,154,.22);}
.qcat .q-soft{--q-bg:#f1f8f7; --q-line:#dcefec; --q-ic:#4d8b86;           --q-sh:rgba(32,189,184,.16);}
.qcat .q-warn{--q-bg:var(--coral-pale,#fff3f2); --q-line:#f2dcd9; --q-ic:var(--coral-2,#c44b42); --q-sh:rgba(196,75,66,.18);}
.qcat .q-vip {--q-bg:#f4f1fe; --q-line:#ddd3fb; --q-ic:var(--vip,#8b5cf6); --q-sh:rgba(139,92,246,.22);}

:root[data-theme="dark"] .qcat .q-mint{--q-bg:#12302e; --q-line:#1e4a44;}
:root[data-theme="dark"] .qcat .q-deep{--q-bg:#123330; --q-line:#1e514a;}
:root[data-theme="dark"] .qcat .q-soft{--q-bg:#142b29; --q-line:#1d423e;}
:root[data-theme="dark"] .qcat .q-warn{--q-bg:#2c1b19; --q-line:#4a2a26;}
:root[data-theme="dark"] .qcat .q-vip {--q-bg:#221c38; --q-line:#3a2f5e;}

/* ── 사이드바 : 텔레그램 상담 카드 ──────────────────────── */
.card.tgcard{border-color:#1e2a27; background:#101413;}
.tg-in{padding:16px;}
.tg-t{
  display:flex; align-items:center; gap:7px;
  font-size:14px; font-weight:800; letter-spacing:-.035em; color:#f2f7f6;
}
.tg-ic{
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:22px; height:22px; border-radius:50%; background:#229ED9; color:#fff;
}
.tg-ic svg{width:13px; height:13px;}
.tg-id{
  margin-top:9px; font-size:17px; font-weight:800; letter-spacing:-.02em; color:var(--mint-3);
}
.tg-d{margin-top:7px; font-size:12px; line-height:1.65; color:#93a5a1;}
.tg-go{
  display:flex; align-items:center; justify-content:center; gap:5px;
  height:38px; margin-top:12px; border-radius:8px;
  background:#229ED9; color:#fff; font-size:13px; font-weight:700;
  transition:background-color .15s ease;
}
.tg-go:hover{background:#1b87ba; color:#fff;}
.tg-go .mmi{width:14px; height:14px;}

/* 랭킹 더보기 */
.rank-more{
  display:block; margin:8px 12px 12px; padding:8px 0; text-align:center;
  border:1px solid var(--line-2); border-radius:7px; background:var(--soft);
  font-size:12px; font-weight:700; color:var(--ink-2); transition:.15s;
}
.rank-more:hover{border-color:var(--mint); color:var(--mint-2);}

/* ── 우측 컬럼 : 퀵메뉴 (2026-08-25 개편) ────────────────
   긴 본문을 두지 않는다. 상세 FAQ 는 하단 전체 폭 영역이 담당. */
.home-aside{position:sticky; top:calc(var(--hd-h, 82px) + 16px); align-self:start;}
.qcard{
  padding:14px; border:1px solid var(--line); border-radius:11px; background:var(--card);
}
.qc-h{
  display:flex; align-items:center; gap:6px; margin-bottom:10px;
  font-size:14px; font-weight:800; letter-spacing:-.035em; color:var(--ink);
}
.qc-h .mmi{width:16px; height:16px; color:var(--mint-2);}

/* 이용 가이드 : 한 줄 바로가기 */
.qc-guide{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.qc-guide li + li{border-top:1px solid var(--line);}
.qc-guide a{
  display:flex; align-items:center; gap:9px; min-height:46px; padding:0 4px;
  transition:color .15s ease;
}
.qc-guide .n{
  flex:0 0 auto; font-size:11.5px; font-weight:800; letter-spacing:.02em; color:var(--mint-2);
  font-variant-numeric:tabular-nums;
}
.qc-guide .t{
  flex:1; min-width:0; font-size:13px; font-weight:600; letter-spacing:-.03em; color:var(--ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.qc-guide .mmi{width:14px; height:14px; flex:0 0 auto; color:var(--ink-3); transition:.15s;}
.qc-guide a:hover .t{color:var(--mint-2);}
.qc-guide a:hover .mmi{color:var(--mint-2); transform:translateX(2px);}

/* FAQ : 질문만 */
.qc-faq{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.qc-faq li + li{border-top:1px solid var(--line);}
.qc-faq a{
  display:flex; align-items:center; gap:8px; min-height:46px; padding:8px 4px;
}
.qc-faq .q{
  flex:0 0 auto; width:17px; height:17px; border-radius:4px;
  display:flex; align-items:center; justify-content:center;
  background:var(--mint-pale); color:var(--mint-deep);
  font-size:10.5px; font-weight:800;
}
.qc-faq .t{
  flex:1; min-width:0; font-size:12.5px; font-weight:500; letter-spacing:-.03em;
  color:var(--ink-2); line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.qc-faq .mmi{width:13px; height:13px; flex:0 0 auto; color:var(--ink-3); transition:.15s;}
.qc-faq a:hover .t{color:var(--ink);}
.qc-faq a:hover .mmi{color:var(--mint-2); transform:translateX(2px);}
.qc-more{
  display:flex; align-items:center; justify-content:center; gap:4px;
  height:34px; margin-top:10px; border-radius:8px;
  border:1px solid var(--line-2); background:var(--soft);
  font-size:12px; font-weight:700; color:var(--ink-2); transition:.15s;
}
.qc-more:hover{border-color:var(--mint); color:var(--mint-2);}
.qc-more .mmi{width:13px; height:13px;}

/* 하단 전체 폭 FAQ */
.home-full{padding:0 var(--container-pad) 8px;}
.home-full .faqsec{margin-bottom:24px;}
.faq-item{scroll-margin-top:110px;}

/* ── 신뢰 지표 바 ───────────────────────────────────────── */
.trust{background:#101413; border-top:1px solid #1e2a27; margin-top:8px;}
.trust-in{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;
  padding:20px var(--container-pad);
}
.trust .tr{display:flex; align-items:flex-start; gap:11px; min-width:0;}
.trust .ic{
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:34px; height:34px; border-radius:9px; background:#18211f; border:1px solid #27352f;
}
.trust .ic .mmi{width:17px; height:17px; color:var(--mint-3);}
.trust .tx{display:flex; flex-direction:column; gap:4px; min-width:0;}
.trust .tx b{font-size:13.5px; font-weight:700; letter-spacing:-.03em; color:#f2f7f6;}
.trust .tx b em{font-style:normal; color:var(--mint-3); font-weight:800;}
.trust .tx span{font-size:11.5px; line-height:1.6; color:#8fa19d;}

/* ── 빈 상태 : 높이 최소화 ──────────────────────────────── */
.rt-none{min-height:0; padding:20px 14px; gap:4px;}
.rt-none b{font-size:13px;}
.rt-none span{font-size:12px;}
.rt-none a{margin-top:2px;}
.home-main .rt-box{min-height:0;}
/* 한쪽만 비었을 때 양쪽 높이를 맞추되(그리드 stretch) 억지 높이는 만들지 않는다 */
.home-main .rt-grid{align-items:stretch;}


/* ── 반응형 ─────────────────────────────────────────────── */
@media (max-width:1279px){
  .home-layout{grid-template-columns:220px minmax(0,1fr);}
  .home-aside{
    position:static; order:4; grid-column:1 / -1;
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start;
  }
  .qcat-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:1023px){
  .info-intro.hero-dark{grid-template-columns:minmax(0,1fr); gap:20px; padding:24px 20px;}
  .hero-dark h1{font-size:26px;}
  .hero-ask{padding:16px;}
  .trust-in{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
}
@media (max-width:860px){
  .home-layout{grid-template-columns:minmax(0,1fr);}
  .home-aside{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  .home-layout{padding-top:14px;}
  .home-main > section{margin-bottom:16px;}
  .hero-dark h1{font-size:22px;}
  .hero-dark .lead{font-size:13px;}
  .ntbar{flex-wrap:wrap; gap:8px 10px; padding:11px 13px;}
  .ntbar .nt-k{padding-right:10px;}
  .ntbar .nt-t{flex-basis:100%; white-space:normal;}
  .ntbar .nt-d{margin-left:0;}
  .qcat{padding:13px 12px 10px;}
  .qcat-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px;}
  .qcat-grid a{padding:10px 2px; gap:6px;}
  .qcat .qi{width:38px; height:38px; border-radius:11px;}
  .qcat .qt{font-size:11px;}
  .trust-in{grid-template-columns:minmax(0,1fr); gap:14px; padding:18px 14px;}
}
@media (max-width:400px){
  .qcat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* ── 푸터 : 브랜드 + 링크 3열 (2026-08-25) ────────────── */
.ft-nav{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:24px 32px;
  padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid #2e2e2e;
}
.ft-brand .bn{font-size:16px; font-weight:800; letter-spacing:-.03em; color:#fff;}
.ft-brand .bn span{margin-left:5px; font-size:12px; font-weight:600; color:var(--mint-3);}
.ft-brand .bd{margin-top:9px; font-size:12.5px; line-height:1.8; color:#9b9b9b; max-width:340px;}
.ft-col h4{font-size:12.5px; font-weight:700; letter-spacing:-.02em; color:#e4e4e4; margin-bottom:11px;}
.ft-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px;}
.ft-col li a{font-size:12.5px; font-weight:500; color:#8f8f8f; transition:.15s;}
.ft-col li a:hover{color:#e4e4e4;}
@media (max-width:860px){
  .ft-nav{grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; padding-bottom:22px; margin-bottom:22px;}
  .ft-brand{grid-column:1 / -1;}
  .ft-brand .bd{max-width:none;}
}
@media (max-width:480px){
  .ft-nav{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* FAQ 답변 안의 소제목 (보증업체 기준 등 긴 답변용) */
.faq-a .in h4{
  margin:16px 0 8px; padding-left:9px;
  font-size:14px; font-weight:700; letter-spacing:-.03em; color:var(--ink);
  border-left:3px solid var(--mint);
}
.faq-a .in h4:first-child{margin-top:0;}
.faq-a .in p b{font-weight:700; color:var(--ink);}

/* ============================================================
   헤더 : 로고를 좌측(사이드바 위)으로, 카테고리는 오른쪽 한 줄
   (2026-08-25) — 기존 .hd 규칙 위에 덧쓴다
   ============================================================ */
.hd .in{
  grid-template-columns:236px minmax(0,1fr) auto;
  grid-template-areas:"brand gnb account";
  gap:0;
}
.logo{
  grid-area:brand; justify-content:flex-start; padding:0; gap:9px;
}
nav.gnb-l{grid-area:gnb; min-width:0; padding-left:8px;}
nav.gnb-l > ul{width:100%; justify-content:flex-end;}
.hd-right{grid-area:account; width:auto; gap:0; padding-left:14px;}
.hd-my{margin-left:0;}

/* 셀 구분선 : 로고 오른쪽 첫 칸에만 왼쪽 선을 두고 나머지는 오른쪽 선 */
nav.gnb-l > ul > li:first-child::after{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:24px; background:var(--line); pointer-events:none;
}
nav.gnb-l > ul > li:last-child::before{background:transparent;}

@media (max-width:1439px){ .hd .in{grid-template-columns:214px minmax(0,1fr) auto;} }
@media (max-width:1239px){ .hd .in{grid-template-columns:200px minmax(0,1fr) auto;} }
@media (max-width:1023px){
  .hd .in{grid-template-columns:1fr auto 1fr; grid-template-areas:"burger brand my"; gap:0;}
  .logo{grid-area:brand; justify-content:center; padding:0 10px;}
  .hd-right{grid-area:my; padding-left:0;}
}
.ntbar .nt-t.none{color:var(--ink-3); font-size:13px;}

/* ============================================================
   로그인 회원 카드 (2026-08-25)
   프로필 · 경험치 · 등급/포인트 · 퀵메뉴 5칸
   ============================================================ */
.login .me{padding:2px 0 0;}

/* 상단 : 사진 + 닉네임 + 로그아웃 */
.me-top{display:flex; align-items:flex-start; gap:10px;}
.me-ph{
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:46px; height:46px; border-radius:50%; overflow:hidden;
  background:var(--soft-2); border:1px solid var(--line);
}
.me-ph img{width:100%; height:100%; object-fit:cover; display:block;}
.me-ph .mmi{width:22px; height:22px; color:var(--ink-3);}
.me-id{flex:1; min-width:0; padding-top:1px;}
.me-id .nick{display:flex; align-items:center; gap:4px; min-width:0; flex-wrap:wrap;}
.me-id .nick b{
  font-size:14.5px; font-weight:800; letter-spacing:-.035em; color:var(--ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%;
}
.me-id .nick span{font-size:12px; color:var(--ink-3);}
.me-id .intro{
  margin-top:5px; padding:5px 8px;
  border:1px solid var(--line); border-radius:6px; background:var(--soft);
  font-size:11.5px; line-height:1.45; color:var(--ink-3);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.me-out{
  flex:0 0 auto; padding:4px 8px; border-radius:6px;
  border:1px solid var(--line-2); background:var(--card);
  font-size:11px; font-weight:600; color:var(--ink-2); transition:.15s;
}
.me-out:hover{border-color:var(--mint); color:var(--mint-2);}

/* 경험치 */
.me-exp{display:flex; align-items:center; gap:8px; margin-top:12px;}
.me-exp .k{flex:0 0 auto; font-size:11px; font-weight:700; color:var(--ink-2);}
.me-exp .bar{
  flex:1; height:9px; border-radius:999px; overflow:hidden;
  background:var(--soft-2); border:1px solid var(--line);
}
.me-exp .bar i{
  display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg, var(--coral,#d9584f), var(--color-orange,#e98232));
}
.me-exp .v{flex:0 0 auto; font-size:11px; font-weight:700; color:var(--ink-3); font-variant-numeric:tabular-nums;}

/* 등급 · 포인트 */
.me-stat{
  list-style:none; margin:10px 0 0; padding:10px 0 0; border-top:1px solid var(--line);
  display:flex; align-items:center; gap:10px;
}
.me-stat li{display:flex; align-items:center; gap:5px; min-width:0;}
.me-stat li + li{margin-left:auto;}
.me-stat .k{display:inline-flex; align-items:center; gap:4px; font-size:11.5px; color:var(--ink-3); white-space:nowrap;}
.me-stat .k .mmi{width:13px; height:13px; color:var(--color-orange,#e98232);}
.me-stat b{font-size:12.5px; font-weight:800; letter-spacing:-.02em; color:var(--ink);}
.me-stat b.pt{color:var(--coral-2,#c44b42); font-variant-numeric:tabular-nums;}

/* 퀵메뉴 5칸 */
.me-nav{
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px;
  margin:10px -4px 0; padding-top:10px; border-top:1px solid var(--line);
}
.me-nav a{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:7px 2px; border-radius:8px; transition:background-color .15s ease;
}
.me-nav a:hover{background:var(--soft);}
.me-nav .mmi{width:19px; height:19px; color:var(--ink-2); transition:color .15s ease;}
.me-nav a:hover .mmi{color:var(--mint-2);}
.me-nav .lb{font-size:10.5px; font-weight:600; letter-spacing:-.03em; color:var(--ink-3);}
.me-nav a:hover .lb{color:var(--ink-2);}
.me-nav .n{
  position:absolute; top:2px; right:calc(50% - 18px);
  min-width:15px; height:15px; padding:0 4px; border-radius:999px;
  background:var(--coral-2,#c44b42); color:#fff;
  font-style:normal; font-size:9.5px; font-weight:800; line-height:15px; text-align:center;
}

/* 회원 카드 세부 조정 */
.me-id{padding-top:2px;}
.me-id .nick{flex-wrap:nowrap; gap:5px;}
.me-id .nick .ic{
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:19px; height:19px; border-radius:50%;
  background:var(--mint-pale); border:1px solid #cdebe8;
}
.me-id .nick .ic .mmi{width:11px; height:11px; color:var(--mint-2);}
.me-id .nick b{flex:0 1 auto; min-width:0;}
.me-id .nick .su{flex:0 0 auto;}
.me-id .uid{margin-top:3px; font-size:11px; color:var(--ink-3);}
.me-intro{
  display:block; margin-top:10px; padding:8px 10px;
  border:1px solid var(--line); border-radius:7px; background:var(--soft);
  font-size:11.5px; line-height:1.5; color:var(--ink-3);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:.15s;
}
.me-intro:hover{border-color:var(--mint); color:var(--ink-2);}

/* 보증업체 안내 문구 : 경고톤 → 보증 안내 톤 */
.gt-note{color:var(--ink-2);}
.gt-note .mmi{color:var(--mint-2);}
.gt-note b{font-weight:700; color:var(--ink);}

/* ============================================================
   화이트톤 정돈 (2026-08-25)
   진한 면·강한 색을 걷어내고 옅은 톤으로 통일한다.
   구조는 그대로 두고 색/여백만 조정.
   ============================================================ */

/* ── 회원 카드 ─────────────────────────────────────────── */
.me-id .hello{margin-top:3px; font-size:11.5px; color:var(--ink-3);}
.me-id .nick b{font-size:15px;}

/* 보유포인트 : 옅은 민트 박스 */
.me-pt{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:12px; padding:10px 12px;
  border:1px solid #d8efec; border-radius:9px; background:#f4fbfa;
  transition:.15s;
}
.me-pt:hover{border-color:var(--mint); background:#eef8f7;}
.me-pt .k{display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; color:var(--ink-2);}
.me-pt .k .mmi{width:14px; height:14px; color:#e0a94a;}
.me-pt b{font-size:16px; font-weight:800; letter-spacing:-.03em; color:var(--ink); font-variant-numeric:tabular-nums;}
.me-pt b em{font-style:normal; font-size:11.5px; font-weight:700; color:var(--ink-3); margin-left:2px;}

/* 레벨 바 : 오렌지 그라데이션 → 옅은 민트 단색 */
.me-exp{margin-top:10px;}
.me-exp .k{font-size:11px; color:var(--ink-3); font-weight:600;}
.me-exp .bar{height:7px; background:#eef1f0; border-color:#e6eae9;}
.me-exp .bar i{background:var(--mint-3);}
.me-exp .v{font-size:11px; font-weight:700; color:var(--mint-2);}

/* 퀵메뉴 : 구분선 없이 가볍게 */
.me-nav{border-top:1px solid var(--line); margin-top:12px; padding-top:11px;}
.me-nav .lb{font-size:10px;}
.me-nav .n{background:#e8837a;}

/* ── 검증 현황 : 항목마다 옅은 배경 박스 ────────────────── */
.vstat{display:flex; flex-direction:column; gap:7px; padding:12px;}
.vstat li{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:10px 12px; border-radius:9px; border:1px solid transparent;
}
.vstat li.report{background:#fdf4f3; border-color:#f6e2e0;}
.vstat li.done  {background:#f2faf9; border-color:#dcefec;}
.vstat li.ing   {background:#fdf8f0; border-color:#f3e6d2;}
.vstat li .k{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--ink-2);}
.vstat li .k .mmi{width:15px; height:15px;}
.vstat li.report .k .mmi{color:#d98078;}
.vstat li.done   .k .mmi{color:var(--mint-2);}
.vstat li.ing    .k .mmi{color:#d9a24a;}
.vstat li .v{font-size:13px; color:var(--ink-3);}
.vstat li .v b{font-size:16px; font-weight:800; letter-spacing:-.03em; color:var(--ink); margin-right:2px;}
.vstat-bar{margin:0 12px; height:5px; background:#eef1f0; border:none;}
.vstat-bar span{background:var(--mint-3);}
.vstat-foot{padding:8px 12px 12px; font-size:11px; color:var(--ink-3);}

/* ── 포인트 랭킹 : 숫자 톤다운 ──────────────────────────── */
.rrow .medal{background:#f3f5f4; color:var(--ink-2); border:1px solid var(--line);}
.rrow .medal.top{background:#fdf6e7; color:#b8862a; border-color:#f0e2c2;}
.rrow .pt{color:var(--ink-2); font-weight:700;}

/* ── 히어로 : 검정 → 짙은 청록 (톤 완화) ────────────────── */
.info-intro.hero-dark{
  background:linear-gradient(135deg, #0f1a19 0%, #12211f 60%, #0f1a19 100%);
  border-color:#1d302d;
}
.hero-dark .lead{color:#9fb2ae;}
.hero-ask{background:rgba(255,255,255,.04); border-color:#25403b;}
.hero-ask input{background:rgba(0,0,0,.25); border-color:#2f4b45;}

/* ── 인기 검색어 : 칩 형태 ──────────────────────────────── */
.vsearch-hot{display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:11px;}
.vsearch-hot .k{
  display:inline-flex; align-items:center; gap:4px;
  font-size:11.5px; font-weight:700; color:var(--ink-2);
}
.vsearch-hot a{
  display:inline-flex; align-items:center; height:26px; padding:0 11px;
  border:1px solid var(--line); border-radius:999px; background:var(--soft);
  font-size:12px; font-weight:500; color:var(--ink-2); transition:.15s;
}
.vsearch-hot a:hover{border-color:var(--mint); background:var(--mint-pale); color:var(--mint-2);}

/* ── 목록 상태 배지 : 옅은 톤으로 ───────────────────────── */
.rt-item .tag{
  border:1px solid transparent; font-weight:700; letter-spacing:-.02em;
}
.rt-item .tag.rep{background:#fdf1f0; color:#c4756d; border-color:#f6e0de;}
.rt-item .tag.st.new {background:#f0f5fa; color:#5b7fa6; border-color:#dde7f1;}
.rt-item .tag.st.ing {background:#f2faf9; color:var(--mint-2); border-color:#d8efec;}
.rt-item .tag.st.done{background:#f1f8f3; color:#4d8b62; border-color:#dceade;}

/* ── 빠른 카테고리 : 세로 구분선 + 옅은 타일 ─────────────── */
.qcat-grid{gap:0;}
.qcat-grid a{border-radius:0; padding:14px 6px;}
.qcat-grid a + a{box-shadow:inset 1px 0 0 var(--line);}
.qcat-grid a:hover{background:var(--soft);}
.qcat .qi{width:44px; height:44px; border-radius:13px;}
.qcat .q-mint{--q-bg:#f2faf9; --q-line:#dcefec; --q-ic:#4fb8b3; --q-sh:rgba(32,189,184,.14);}
.qcat .q-deep{--q-bg:#eef8f7; --q-line:#d3ece8; --q-ic:#3fa9a4; --q-sh:rgba(32,189,184,.14);}
.qcat .q-soft{--q-bg:#f5faf9; --q-line:#e2efed; --q-ic:#6aa8a4; --q-sh:rgba(32,189,184,.10);}
.qcat .q-warn{--q-bg:#fdf4f3; --q-line:#f6e2e0; --q-ic:#d98078; --q-sh:rgba(196,75,66,.10);}
.qcat .q-vip {--q-bg:#f7f4fd; --q-line:#e6ddfa; --q-ic:#9b82e0; --q-sh:rgba(139,92,246,.12);}

/* ── 사이드 텔레그램 카드 : 톤 완화 ─────────────────────── */
.card.tgcard{background:linear-gradient(135deg,#0f1a19,#132321); border-color:#1d302d;}
.tg-go{background:#3aa3d4;}
.tg-go:hover{background:#2f8fbd;}

/* ── 신뢰 지표 바 : 톤 완화 ─────────────────────────────── */
.trust{background:#0f1a19; border-top-color:#1d302d;}
.trust .ic{background:rgba(255,255,255,.05); border-color:#25403b;}
.trust .tx span{color:#93a5a1;}

/* ── 공지 바 : 날짜를 오른쪽 끝으로 ─────────────────────── */
.ntbar .nt-t{gap:7px;}
.ntbar .nt-new{background:#e8a04a;}

/* ── 우측 퀵메뉴 : 아이콘 원형 배경 옅게 ────────────────── */
.qc-h .mmi{color:#4fb8b3;}
.qc-faq .q{background:#f2faf9; color:#3fa9a4;}
.qc-guide .n{color:#4fb8b3;}

/* ── 다크모드 보정 ──────────────────────────────────────── */
:root[data-theme="dark"] .me-pt{background:#16241f; border-color:#24413a;}
:root[data-theme="dark"] .me-exp .bar{background:#252b2a; border-color:#2f3634;}
:root[data-theme="dark"] .vstat li.report{background:#2a1d1b; border-color:#43302c;}
:root[data-theme="dark"] .vstat li.done  {background:#152c29; border-color:#204540;}
:root[data-theme="dark"] .vstat li.ing   {background:#2a2418; border-color:#453a26;}
:root[data-theme="dark"] .vstat-bar{background:#252b2a;}
:root[data-theme="dark"] .rrow .medal{background:#232726; border-color:#333937;}
:root[data-theme="dark"] .vsearch-hot a{background:#1f2322; border-color:#333937;}
:root[data-theme="dark"] .rt-item .tag.rep{background:#2a1d1b; border-color:#43302c;}
:root[data-theme="dark"] .rt-item .tag.st.new{background:#1c2530; border-color:#2c3949;}
:root[data-theme="dark"] .rt-item .tag.st.ing{background:#152c29; border-color:#204540;}
:root[data-theme="dark"] .rt-item .tag.st.done{background:#17281c; border-color:#25402c;}
:root[data-theme="dark"] .qcat-grid a + a{box-shadow:inset 1px 0 0 var(--line);}

@media (max-width:640px){
  .qcat-grid a + a{box-shadow:none;}
  .qcat-grid a{border-radius:9px;}
}

/* 회원 카드 : 인사말을 카드 폭 전체로 */
.me-hello{margin-top:9px; font-size:11.5px; line-height:1.5; color:var(--ink-3);}
.me-id .hello{display:none;}
.me-exp .v{min-width:38px; text-align:right;}

/* ============================================================
   시안(피그마) 반영 — 히어로 / 인기검색어
   추출 색 : #0CEFD3 밝은민트 · #00A39B 딥틸 · #6BE4D5 연민트
   ============================================================ */
.mm-hero{
  position:relative; overflow:hidden;
  display:block;
  min-height:336px; padding:44px 40px;
  border:1px solid var(--mint-line, #cdebe8); border-radius:16px;
  /* 시안의 하늘·도시 실루엣 느낌을 그라데이션으로 근사 */
  background:
    radial-gradient(120% 90% at 78% 30%, rgba(12,239,211,.42) 0%, rgba(12,239,211,0) 60%),
    radial-gradient(90% 80% at 96% 76%, rgba(107,228,213,.55) 0%, rgba(107,228,213,0) 62%),
    linear-gradient(120deg, #f2fdfb 0%, #e6fbf7 38%, #d6f7f4 68%, #c9f3f2 100%);
}
.mm-hero-txt{position:relative; z-index:2; max-width:min(58%, 620px);}
.mm-hero h1{
  margin:0 0 16px; font-weight:800; letter-spacing:-.02em;
  font-size:clamp(26px, 2.5vw, 40px); line-height:1.28; color:var(--ink);
}
.mm-hero h1 .hl{color:var(--mint-2);}
.mm-hero .lead{margin:0 0 24px; font-size:15px; line-height:1.72; color:var(--ink-2);}
.mm-hero-cta{display:flex; flex-wrap:wrap; gap:10px;}
.mm-hero-cta .btn{
  display:inline-flex; align-items:center; gap:7px;
  height:46px; padding:0 20px; border-radius:9px;
  font-size:15px; font-weight:700; border:1px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.mm-hero-cta .btn svg{width:17px; height:17px;}
/* 밝은 민트 위에는 어두운 글자 (흰 글자는 대비 1.4:1 로 읽히지 않는다) */
.mm-hero-cta .btn.mint{background:var(--mint); color:var(--on-mint); border-color:var(--mint);}
.mm-hero-cta .btn.mint:hover{background:#0bd9c0; transform:translateY(-1px); box-shadow:0 6px 16px rgba(12,239,211,.38);}
.mm-hero-cta .btn.dark{background:#131313; color:#fff; border-color:#131313;}
.mm-hero-cta .btn.dark:hover{background:#000; transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.22);}

/* 일러스트는 배너 우측을 꽉 채운다. 왼쪽 가장자리는 페이드로 배경과 이어 붙인다. */
.mm-hero-art{
  position:absolute; top:0; right:0; bottom:0;
  width:min(56%, 640px); z-index:1; pointer-events:none;
}
.mm-hero-art img{
  width:100%; height:100%; display:block;
  object-fit:cover; object-position:center right;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 16%, #000 100%);
          mask-image:linear-gradient(to right, transparent 0, #000 16%, #000 100%);
}

/* 인기검색어 칩 */
.mm-hotkeys{display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px;}
.mm-hotkeys .hk-lb{font-size:13px; font-weight:700; color:var(--ink-2); margin-right:2px;}
.mm-hotkeys a{
  display:inline-flex; align-items:center; height:30px; padding:0 13px;
  border:1px solid var(--line-2); border-radius:999px;
  font-size:13px; color:var(--ink-2); background:var(--card);
  transition:.15s;
}
.mm-hotkeys a:hover{border-color:var(--mint); color:var(--mint-2); background:var(--mint-pale);}

@media (max-width:1100px){
  .mm-hero{padding:30px 26px; min-height:0;}
  .mm-hero-txt{max-width:100%;}
  .mm-hero-art{opacity:.22;}
}
@media (max-width:720px){
  .mm-hero{padding:24px 18px; border-radius:12px;}
  .mm-hero .lead{font-size:14px;}
  .mm-hero-cta .btn{height:42px; padding:0 16px; font-size:14px;}
}
:root[data-theme="dark"] .mm-hero{
  background:
    radial-gradient(120% 90% at 78% 30%, rgba(12,239,211,.16) 0%, rgba(12,239,211,0) 60%),
    linear-gradient(120deg, #101f1e 0%, #122a28 60%, #143331 100%);
  border-color:#1f3d3a;
}
:root[data-theme="dark"] .mm-hero-tag{background:#12201f; box-shadow:none;}

/* ============================================================
   시안 반영 — 헤더 우측 (알림벨 / MY 정보 / 손글씨 슬로건)
   ============================================================ */
.hd-right{display:flex; align-items:center; gap:12px;}

.hd-bell{
  position:relative; display:inline-grid; place-items:center;
  width:38px; height:38px; border-radius:10px; color:var(--ink-2);
  transition:background .15s, color .15s;
}
.hd-bell:hover{background:var(--soft-2); color:var(--ink);}
.hd-bell svg{width:21px; height:21px;}
.hd-bell em{
  position:absolute; top:2px; right:2px; min-width:17px; height:17px;
  padding:0 4px; border-radius:999px; background:#ff3636; color:#fff;
  font-size:11px; font-weight:800; font-style:normal;
  display:grid; place-items:center; line-height:1;
}

/* MY 정보 : 시안은 밝은 민트 알약 + 어두운 글자 */
.hd-my .mymenu-btn{
  display:inline-flex; align-items:center; gap:7px;
  height:38px; padding:0 15px; border-radius:999px;
  background:var(--mint); color:var(--on-mint);
  border:1px solid var(--mint); font-weight:800; font-size:14px;
  transition:background .15s, transform .15s, box-shadow .15s;
}
.hd-my .mymenu-btn:hover{background:#0bd9c0; transform:translateY(-1px); box-shadow:0 5px 14px rgba(12,239,211,.35);}
.hd-my .mymenu-btn .ic-user{width:17px; height:17px;}
.hd-my .mymenu-btn .ic-ar{display:none;}

.hd-slogan{display:block; height:44px; width:auto; margin-left:2px;}
@media (max-width:1280px){ .hd-slogan{display:none;} }
@media (max-width:900px){ .hd-bell{display:none;} }

/* 상단바 : 시안은 좌측이 비고 시각이 가운데, 우측에 포인트/버튼 */
.tbar .ptpill{font-weight:600;}
.tbar .ptpill b{font-weight:800;}
.tbar .tb-btn{
  display:inline-flex; align-items:center; height:24px; padding:0 10px;
  border:1px solid var(--line-2); border-radius:6px;
  font-size:12px; color:var(--ink-2); background:var(--card);
}
.tbar .tb-btn:hover{border-color:var(--mint); color:var(--mint-2);}

/* ============================================================
   시안 반영 — 프로모 스트립
   ============================================================ */
.mm-promo{
  position:relative; display:flex; align-items:center; gap:18px;
  padding:14px 24px; border-radius:14px; overflow:hidden;
  border:1px solid var(--mint-line, #cdebe8);
  background:linear-gradient(100deg,#eafcfa 0%, #e2fbf8 42%, #ddf6fd 100%);
}
.mm-promo .mp-lead{flex:0 0 auto;}
.mm-promo .mp-lead p{margin:0; font-size:19px; font-weight:800; line-height:1.42; color:var(--ink); letter-spacing:-.01em;}
.mm-promo .mp-lead b{color:var(--mint-2);}
.mm-promo .mp-char{flex:0 0 auto; height:100px; width:auto; display:block; margin:-6px 4px -14px;}
.mm-promo .mp-points{
  flex:1 1 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px; margin:0; padding:0; list-style:none;
}
.mm-promo .mp-points li{display:flex; align-items:center; gap:10px; min-width:0;}
.mm-promo .mp-ic{
  flex:0 0 auto; width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; background:#fff; color:var(--mint-2);
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}
.mm-promo .mp-ic svg{width:18px; height:18px;}
.mm-promo .mp-tx{display:flex; flex-direction:column; min-width:0;}
.mm-promo .mp-tx b{font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap;}
.mm-promo .mp-tx em{font-size:12px; font-style:normal; color:var(--ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

@media (max-width:1200px){
  .mm-promo{flex-wrap:wrap; gap:12px;}
  .mm-promo .mp-points{grid-template-columns:repeat(3,minmax(0,1fr)); width:100%;}
  .mm-promo .mp-char{height:82px;}
}
@media (max-width:820px){
  .mm-promo .mp-char{display:none;}
  .mm-promo .mp-points{grid-template-columns:minmax(0,1fr);}
  .mm-promo .mp-tx b, .mm-promo .mp-tx em{white-space:normal;}
}
:root[data-theme="dark"] .mm-promo{
  background:linear-gradient(100deg,#12211f 0%, #14262a 100%); border-color:#1f3d3a;
}
:root[data-theme="dark"] .mm-promo .mp-ic{background:#0f1c1b;}

/* ============================================================
   시안 반영 — 카테고리 / 실시간 카드 헤더
   ============================================================ */
.qcat-grid > a{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:18px 8px 16px; text-align:center; border-radius:12px;
  transition:background .15s, transform .15s;
}
.qcat-grid > a:hover{background:var(--soft-2); transform:translateY(-2px);}
.qcat-grid .qi{
  width:64px; height:64px; border-radius:16px; background:transparent;
  display:grid; place-items:center; margin-bottom:2px;
}
.qcat-grid .qi img{width:64px; height:64px; display:block;}
.qcat-grid .qt{font-size:15px; font-weight:800; color:var(--ink); letter-spacing:-.01em;}
.qcat-grid .qd{font-size:12.5px; color:var(--ink-3);}

/* 실시간 제보/검증 카드 헤더 */
.rtsec-live .rt-bh{display:flex; align-items:center; gap:10px;}
.rtsec-live .rt-bh h3{display:flex; align-items:center; gap:8px; margin:0; font-size:17px; font-weight:800;}
.live-b{
  font-style:normal; font-size:11px; font-weight:800; letter-spacing:.04em;
  padding:3px 8px; border-radius:5px; background:#ff3636; color:#fff; line-height:1;
}
.live-b.mint{background:var(--mint-2); color:#fff;}
.rt-today{margin-left:auto; font-size:13px; font-weight:700; color:var(--mint-2);}
.rt-today.red{color:#ff3636;}
.rt-today b{font-weight:800;}
.rtsec-live .rt-bh .more{margin-left:0;}

@media (max-width:900px){
  .qcat-grid .qi, .qcat-grid .qi img{width:52px; height:52px;}
  .qcat-grid .qt{font-size:14px;}
  .qcat-grid .qd{display:none;}
  .rt-today{display:none;}
}

/* 계급 이모지(픽셀 계급장 PNG) — SVG 계급장 자리에 들어간다.
   24x24 원본이라 확대 시 뭉개지지 않게 픽셀 보간을 끈다. */
.rkb-emo{
  display:block;
  image-rendering:pixelated; -ms-interpolation-mode:nearest-neighbor;
  flex:0 0 auto;
}
/* 원본이 24x24 픽셀아트라 축소하면 계단이 생긴다 → 원본 크기로 표시 */
.rkb-i .rkb-emo{width:24px; height:24px;}
.rkb-c .rkb-emo{width:24px; height:24px;}
