/* KPGM 게시판 — 꾸밈
 *
 * 규칙
 *   · 게시판 54개가 이 파일 하나를 같이 쓴다. 게시판별 예외를 여기에 넣지 않는다
 *   · 갈아 끼울 때는 **옛것을 지운다.** 위에 덧붙이지 않는다
 *   · 색은 자식 테마(kpgm-child)의 :root 변수를 쓴다. 여기서 색을 새로 정하지 않는다
 *
 * ⚠️⚠️ **색을 비워 두면 안 된다.** (2026-08-12 · 눈으로 재어 봄)
 *
 *    처음에는 색을 `currentColor` 와 `rgba(128,128,128,.22)` 로만 두었다.
 *    「테마를 따르게 하려고」 그랬는데, 실제로는 **Astra 기본색을 따르게** 한 것이었다.
 *    글 제목도, 「← 게시판」도, 쪽번호도, 「글쓰기」 단추도 전부
 *    **Astra 링크색 #046bd2 파랑**으로 나오고 있었다.
 *    안 정한 색은 「테마를 따르는 것」이 아니라 **남의 것을 물어오는 것**이다.
 *
 * ⚠️ 뒤에 적은 값(#1b2320 등)은 **테마가 없을 때만** 쓰이는 예비값이다.
 *    테마가 있으면 테마 값이 이긴다. 시험장처럼 테마가 없는 곳에서도
 *    게시판이 제 모습으로 서게 하려는 것이다.
 *
 * 테마가 쓰는 색 (kpgm-child/style.css 의 :root 에서 찾음)
 *   --kpgm-ink #1b2320   본문 글자          --kpgm-line   #e3e8e5  상자 테두리
 *   --kpgm-ink-2 #4a5751 설명글             --kpgm-line-2 #eef1ef  줄 사이 선
 *   --kpgm-ink-3 #8b9691 번호·날짜 곁글자   --kpgm-bg-2   #f7f9f8  옅은 바탕
 *   --kpgm-brand #1f5c46 단추·강조          --kpgm-bg-3   #f0f4f2  더 옅은 바탕
 *   --kpgm-brand-2 #2f7a5e  hover           --kpgm-brand-soft #e8f2ee 공지 딱지 바탕
 */

/* ══ 바깥 칸 ═══════════════════════════════════════════════════════════
 *
 * ⚠️ flex 칸 안에서는 **늘어나라고 말해 주어야** 한다. (2026-08-12)
 *    아스트라 바깥 칸(.ast-container)이 display:flex 다. 안 적으면 526px 밖에 안 쓴다.
 *
 * ⚠️ 흰 카드로 만든다. (2026-08-12 · 눈으로 재어 봄)
 *    목록 화면만 바탕이 회색(#F0F5FA)인데 카드가 없어 **목록만 맨바닥에 떠** 있었다.
 *    눌러 들어간 글 화면은 흰 카드(안 여백 40px)다. 같은 모양으로 맞추면
 *    안쪽 폭도 같아져 제목 자리가 안 튄다. */
.kpgmb-board__wrap {
    flex: 1 1 100%;
    width: 100%;
    /* ⚠️⚠️ **1100px 에서 멈추고 있었다.** (2026-08-14 · 박과장이 재서 찾음)
     *
     *    바깥 칸을 1060 → 1608px 로 넓혔는데 **목록은 그대로 1100px 였다.**
     *    1920 화면에서 좌우로 254px 씩 빈칸이 남았다 — 넓힌 값이 통째로 헛것이었다.
     *    유영수 님이 「자료를 하나라도 더 잘 보기 위해」 하신 그 화면이 바로 여기다.
     *
     *    ⚠️ 글 **읽는** 화면은 여전히 좁아야 한다. 그건 `kpgm-layout` 이
     *      `.single` 에 1100px 를 걸어 따로 맡는다. 여기는 **목록**이다.
     *      목록은 한 줄에 제목·글쓴이·날짜가 나란히 놓이므로 넓을수록 좋다. */
    max-width: 1600px;
    margin: 0 auto;
    padding: 40px;
    background: #fff;

    /* ⚠️ padding 이 폭에 더해지지 않게 한다. (2026-08-12 · 시험장에서 눈으로 봄)
     *    안 적었더니 100% + 좌우 40px 이 되어 **화면 밖으로 넘쳤다.**
     *    아스트라 안에서는 바깥 칸이 잡아 줘서 안 드러났는데,
     *    테마가 없는 곳(시험장)에서 바로 드러났다. 테마에 기대지 않는다. */
    box-sizing: border-box;
}

/* ══ 원문·번역 골라 보기 ═════════════════════════════════════════════ */
.kpgmb-reader { width: 100%; }
.kpgmb-reader__toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    max-width: 860px;
    margin: 0 auto 6px;
    padding: 12px;
    border: 1px solid var(--kpgm-line, #dbe3df);
    border-radius: 10px;
    background: var(--kpgm-bg-2, #f7f9f8);
}
.kpgmb-reader__languages {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.kpgmb-reader__languages legend,
.kpgmb-reader__layout > span {
    display: block;
    margin: 0 0 6px;
    color: var(--kpgm-ink-2, #4a5751);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}
.kpgmb-reader__language-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.kpgmb-reader__language {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 48px;
    min-height: 36px;
    margin: 0;
    padding: 6px 11px;
    border: 1px solid #aeb9b4;
    border-radius: 7px;
    background: #fff;
    color: var(--kpgm-ink, #1b2320);
    font: 700 13px/1.2 var(--kpgm-font, Pretendard, sans-serif);
    cursor: pointer;
}
.kpgmb-reader__language:hover:not(:disabled) { border-color: #56635d; background: #f2f4f3; }
.kpgmb-reader__language.is-selected {
    border-color: #28322e;
    background: #28322e;
    color: #fff;
    box-shadow: inset 0 -3px var(--kpgm-brand, #1f5c46);
}
.kpgmb-reader__language.is-creatable {
    border-style: dashed;
    border-color: #a77920;
    color: #6f5015;
    background: #fffaf0;
}
.kpgmb-reader__language:disabled { opacity: .48; cursor: not-allowed; }
.kpgmb-reader__language:focus-visible,
.kpgmb-reader__layout select:focus-visible {
    outline: 3px solid #f2b84b;
    outline-offset: 2px;
}
.kpgmb-reader__create-mark { font-size: 14px; line-height: 1; }
.kpgmb-reader__language-summary {
    margin: 6px 0 0;
    color: var(--kpgm-ink-3, #6f7c76);
    font-size: 11.5px;
    line-height: 1.35;
}
.kpgmb-reader__layout { flex: 0 0 150px; }
.kpgmb-reader__layout select {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 7px 30px 7px 10px;
    border: 1px solid #b8c6bf;
    border-radius: 8px;
    background-color: #fff;
    color: var(--kpgm-ink, #1b2320);
    font-size: 13px;
}
.kpgmb-reader__tools {
    display: flex;
    flex: 0 0 auto;
    gap: 6px;
    align-items: center;
}
.kpgmb-reader__tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 36px;
    margin: 0;
    padding: 6px 9px;
    border: 1px solid #aeb9c6;
    border-radius: 7px;
    background: #fff;
    color: #24364c;
    font: 700 12px/1.2 var(--kpgm-font, Pretendard, sans-serif);
    text-decoration: none;
    cursor: pointer;
}
.kpgmb-reader__tool svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.kpgmb-reader__tool:hover,
.kpgmb-reader__tool:focus-visible { border-color: #52657c; background: #eef3f8; color: #102a48; }
.kpgmb-reader__tool.is-done { border-color: #16858f; background: #edf9fa; color: #126872; }
.kpgmb-reader__backtop {
    position: fixed;
    z-index: 10000;
    right: 24px;
    bottom: 70px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    margin: 0;
    padding: 8px 11px;
    border: 1px solid #aeb9c6;
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #18324f;
    box-shadow: 0 8px 24px rgba(18,38,61,.16);
    font: 700 12px/1.2 var(--kpgm-font, Pretendard, sans-serif);
    cursor: pointer;
}
.kpgmb-reader__backtop[hidden] { display: none !important; }
.kpgmb-reader__backtop svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kpgmb-reader__backtop:hover,
.kpgmb-reader__backtop:focus-visible { border-color: #52657c; background: #eef3f8; color: #102a48; }
body.kpgm-ui-rail-open .kpgmb-reader__backtop { right: calc(var(--kpgm-ui-rail-w, 310px) + 24px); }
.kpgmb-reader__help,
.kpgmb-reader__status {
    max-width: 860px;
    margin: 0 auto;
    color: var(--kpgm-ink-3, #6f7c76);
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
}
.kpgmb-reader__status { min-height: 1.45em; color: #8a5415; }
.kpgmb-reader__view { display: grid; gap: 18px; margin-top: 8px; }
.kpgmb-reader__view--whole { grid-template-columns: minmax(0, 1fr); }
.kpgmb-reader__view--whole .kpgmb-reader__pane,
.kpgmb-reader__view--single {
    width: 100%;
    max-width: calc(170mm + 34px);
    margin-left: auto;
    margin-right: auto;
}
.kpgmb-reader__view--single { grid-template-columns: minmax(0, 1fr); }
.kpgmb-reader__view--columns {
    grid-template-columns: repeat(var(--kpgmb-reader-columns, 2), minmax(0, 1fr));
    align-items: start;
}
.kpgmb-reader__pane {
    min-width: 0;
    overflow: auto;
    border: 1px solid var(--kpgm-line, #dbe3df);
    border-radius: 10px;
    background: #fff;
}
.kpgmb-reader__pane-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 12px;
    border-bottom: 1px solid var(--kpgm-line, #dbe3df);
    background: #f3f7f5;
    color: var(--kpgm-ink, #1b2320);
    font-size: 13px;
    line-height: 1.3;
}
.kpgmb-reader__pane-head span {
    padding: 2px 6px;
    border-radius: 999px;
    background: #dfeae5;
    color: #3b5147;
    font-size: 10.5px;
    font-weight: 700;
}
.kpgmb-reader__body {
    min-width: 0;
    padding: 16px;
    text-align: left;
}
.kpgmb-reader__body img,
.kpgmb-reader__body video,
.kpgmb-reader__body iframe,
.kpgmb-reader__body table,
.kpgmb-reader__body .kpgm-inline-image-box { max-width: 100% !important; height: auto !important; }

.kpgmb-reader__view--paragraphs,
.kpgmb-reader__view--sentences { display: block; width: 100%; max-width: 860px; margin: 8px auto 0; }
.kpgmb-reader__aligned-pair + .kpgmb-reader__aligned-pair { margin-top: 30px; }
.kpgmb-reader__aligned-title {
    margin: 0 0 10px !important;
    padding: 0 2px 8px !important;
    border-bottom: 1px solid var(--kpgm-line, #dbe3df);
    color: var(--kpgm-ink-2, #4a5751);
    font: 700 14px/1.45 var(--kpgm-font, sans-serif) !important;
    text-align: left !important;
}
.kpgmb-reader__aligned-row {
    position: relative;
    margin: 0 0 14px;
    overflow: hidden;
    border: 1px solid var(--kpgm-line, #dbe3df);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(27, 52, 42, .035);
}
.kpgmb-reader__view--sentences .kpgmb-reader__aligned-row { margin-bottom: 9px; }
.kpgmb-reader__aligned-number {
    position: absolute; top: 8px; right: 10px; z-index: 1;
    color: var(--kpgm-ink-3, #8b9691); font-size: 10px; line-height: 1;
}
.kpgmb-reader__aligned-unit { min-width: 0; padding: 12px 16px 14px; }
.kpgmb-reader__aligned-unit--target {
    border-top: 1px solid var(--kpgm-line, #dbe3df);
    background: #f3f8f5;
}
.kpgmb-reader__aligned-row > .kpgmb-reader__aligned-unit:first-of-type { border-top: 0; }
.kpgmb-reader__aligned-head {
    display: flex; align-items: center; gap: 7px; margin: 0 0 7px;
    color: var(--kpgm-ink-2, #4a5751); font-size: 11px; line-height: 1.35;
}
.kpgmb-reader__aligned-head strong { color: var(--kpgm-ink, #1b2320); font-size: 12px; }
.kpgmb-reader__aligned-head span {
    border-radius: 999px; padding: 2px 7px; background: #e8f0ec; color: #547064;
}
.kpgmb-reader__aligned-text {
    margin: 0; color: var(--kpgm-ink, #1b2320);
    font: 400 16px/1.72 var(--kpgm-font, sans-serif) !important;
    text-align: left !important; white-space: pre-line; overflow-wrap: anywhere; word-break: normal;
}
.kpgmb-reader__view--sentences .kpgmb-reader__aligned-text { line-height: 1.65; }
.kpgmb-reader__view--columns .kpgmb-reader__aligned-pair { grid-column: 1 / -1; min-width: 0; }
.kpgmb-reader__view--columns .kpgmb-reader__aligned-row {
    display: grid;
    grid-template-columns: repeat(var(--kpgmb-aligned-columns, 2), minmax(0, 1fr));
    align-items: stretch;
}
.kpgmb-reader__view--columns .kpgmb-reader__aligned-unit--target {
    border-top: 0;
    border-left: 1px solid var(--kpgm-line, #dbe3df);
}
.kpgmb-reader__view--columns .kpgmb-reader__aligned-row > .kpgmb-reader__aligned-unit:first-of-type {
    border-left: 0;
}
.kpgmb-reader__view--columns .kpgmb-reader__aligned-pair--target-only .kpgmb-reader__aligned-row {
    grid-template-columns: minmax(0, 1fr);
}
.kpgmb-reader__view--columns .kpgmb-reader__aligned-pair--target-only .kpgmb-reader__aligned-unit--target {
    border-left: 0;
}
.kpgmb-reader__structure-warning {
    max-width: 860px;
    margin: 10px auto 7px;
    padding: 10px 12px;
    border: 1px solid #e3c27b;
    border-radius: 8px;
    background: #fff9ec;
    color: #72551c;
    font-size: 12.5px;
    line-height: 1.65;
    text-align: left;
}

@media (max-width: 900px) {
    .kpgmb-reader__view--columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .kpgmb-reader__toolbar { display: block; padding: 10px; }
    .kpgmb-reader__tools { margin-top: 10px; }
    .kpgmb-reader__tool { min-height: 44px; }
    .kpgmb-reader__backtop { right: 14px; bottom: 64px; width: 44px; height: 44px; padding: 0; }
    .kpgmb-reader__backtop span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    body.kpgm-ui-rail-open .kpgmb-reader__backtop { right: 14px; }
    .kpgmb-reader__layout { display: block; margin-top: 10px; }
    .kpgmb-reader__layout select { max-width: 220px; }
    .kpgmb-reader__language { flex: 1 1 72px; min-height: 44px; }
    .kpgmb-reader__body { padding: 12px; }
    .kpgmb-reader__aligned-unit { padding: 11px 12px 13px; }
    .kpgmb-reader__aligned-text { font-size: 15px !important; line-height: 1.68 !important; }
    .kpgmb-reader__view--columns .kpgmb-reader__aligned-row { grid-template-columns: minmax(0, 1fr); }
    .kpgmb-reader__view--columns .kpgmb-reader__aligned-unit--target {
        border-top: 1px solid var(--kpgm-line, #dbe3df);
        border-left: 0;
    }
}

/* ══ 머리 ══════════════════════════════════════════════════════════════ */

.kpgmb-board__head {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--kpgm-ink, #1b2320);
}

/* 사이트의 게시판 제목과 같은 값 — 명조 25px / 600 */
.kpgmb-board__name {
    margin: 0;
    font-family: var(--kpgm-font-serif, "Noto Serif KR", serif);
    font-size: 25px;
    font-weight: 600;
    letter-spacing: -.6px;
    line-height: 1.3;
    color: var(--kpgm-ink, #1b2320);
}

.kpgmb-board__count {
    padding-bottom: 3px;
    font-size: 13px;
    color: var(--kpgm-ink-3, #8b9691);
}

/* 테마의 「글쓰기」 단추와 같은 값 — 채워진 초록 */
.kpgmb-board__write {
    margin-left: auto;
    padding: 9px 18px;
    border: 0;
    border-radius: 7px;
    background: var(--kpgm-brand, #1f5c46);
    color: #fff;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}
.kpgmb-board__write:hover,
.kpgmb-board__write:focus { background: var(--kpgm-brand-2, #2f7a5e); color: #fff; }

/* 54개 가운데 지금 대부분이 빈 게시판이다 — **제일 많이 보이는 화면**이다 */
.kpgmb-board__empty {
    padding: 56px 0;
    text-align: center;
    font-size: 14.5px;
    color: var(--kpgm-ink-3, #8b9691);
}

/* ══ 글 목록 ═══════════════════════════════════════════════════════════
 *
 * 줄 나누기는 **선 + 마우스 올렸을 때 칠**로 한다. 얼룩말도, 카드도 아니다.
 *   · 사이트의 옛 게시판이 이미 이 방식이다 — 새 게시판만 다르면 그게 이물감이다
 *   · 얼룩말은 **공지 줄 배경과 싸운다.** 배경이 두 겹이 되어 공지가 안 보인다
 *   · 카드는 한 화면 20개가 세로로 두 배 길어져 훑기가 느려진다 */

.kpgmb-rows {
    margin: 0;
    padding-left: 0;          /* ⚠️ ul 은 기본 20px 이 붙는다. 지우지 않으면 번호가 밀린다 */
    list-style: none;
}

.kpgmb-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 10px;       /* 줄 높이 50px — 손가락이 닿는 크기 */
    border-bottom: 1px solid var(--kpgm-line-2, #eef1ef);
    font-size: 14px;
}

.kpgmb-row__no   { flex: 0 0 56px;  text-align: center; font-size: 13px; color: var(--kpgm-ink-3, #8b9691); }
.kpgmb-row__who  { flex: 0 0 110px; text-align: center; font-size: 13px; color: var(--kpgm-ink-2, #4a5751); }
.kpgmb-row__when { flex: 0 0 88px;  text-align: center; font-size: 13px; color: var(--kpgm-ink-3, #8b9691); }
.kpgmb-row__hit  { flex: 0 0 56px;  text-align: right;  font-size: 13px; color: var(--kpgm-ink-3, #8b9691); }

/* 제목 — 긴 제목은 … 으로 넘긴다. 줄이 늘어나 칸이 들쭉날쭉해지지 않게.
   ⚠️ min-width: 0 이 있어야 … 이 먹는다. flex 칸은 기본으로 안 줄어든다 */
.kpgmb-row__title {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: normal;
    color: var(--kpgm-ink, #1b2320);
    font-weight: 500;
    text-decoration: none;
}
.kpgmb-row__title:focus-visible { outline: 2px solid var(--kpgm-brand, #1f5c46); outline-offset: 3px; }

.kpgmb-row:hover .kpgmb-row__title { color: var(--kpgm-brand, #1f5c46); }

/* 공지 줄도 hover 를 걸어 준다 — 안 그러면 「눌러지지 않나」 싶어진다 */
.kpgmb-row:hover,
.kpgmb-row.is-top:hover { background: var(--kpgm-bg-3, #f0f4f2); }

.kpgmb-row__re { margin-left: 6px; font-size: 12px; font-weight: 700; color: var(--kpgm-brand-2, #2f7a5e); }

/* ── 공지 · 보류 딱지 ──────────────────────────────────────────────────
 *
 * 채운 딱지 = 모두에게 중요(공지) / 빈 딱지 = 아직 안 나간 것(보류).
 * **채움과 테두리의 차이만으로** 둘이 갈린다 — 색을 하나 더 쓰지 않는다. */

.kpgmb-row__top {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 7px;
    border-radius: 4px;
    background: var(--kpgm-brand-soft, #e8f2ee);
    color: var(--kpgm-brand, #1f5c46);
    font-size: 11px;
    font-weight: 700;
    vertical-align: 1px;
}

.kpgmb-row__held {
    display: inline-block;
    margin-right: 6px;
    padding: 0 6px;
    border: 1px solid var(--kpgm-line, #e3e8e5);
    border-radius: 4px;
    background: #fff;
    color: var(--kpgm-ink-3, #8b9691);
    font-size: 11px;
    font-weight: 700;
    vertical-align: 1px;
}

.kpgmb-row.is-top { background: var(--kpgm-bg-2, #f7f9f8); }
.kpgmb-row.is-top .kpgmb-row__title { font-weight: 600; }

/* ── 안 읽은 글 ───────────────────────────────────────────────────────
 *
 * 굵게 + 앞에 점. **색만으로 알리지 않는다** — 못 알아보는 분이 생긴다.
 *
 * ⚠️ 점 색을 #d4a017 로 두었었다. **테마에 없는, 내가 지어낸 색**이었다.
 *    테마 색(--kpgm-brand-2)으로 바꿨다.
 *
 * 처음부터 굵게 그려서 내보낸다. 나중에 자바스크립트로 붙이지 않는다 —
 * 붙는 순간 글자가 한 번 튄다. */

.kpgmb-row.is-new .kpgmb-row__title { font-weight: 700; }

.kpgmb-row.is-new .kpgmb-row__title::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--kpgm-brand-2, #2f7a5e);
    vertical-align: 2px;
}

/* ══ 썸네일 ════════════════════════════════════════════════════════════
 *
 * ⚠️ grid 로 하지 않는다. 자식이 aspect-ratio 로 크기를 잡으면
 *    grid 는 줄 높이를 못 재고 18px 로 눌러 버린다. (2026-08-10)
 *    flex-wrap 은 그런 일이 없다. */

.kpgmb-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 20px;
    margin: 24px 0 0;
    padding-left: 0;
    list-style: none;
}

.kpgmb-thumb   { flex: 0 0 calc(25% - 15px); min-width: 0; }
.kpgmb-thumb a { display: block; color: inherit; text-decoration: none; }

/* 그림은 정사각 칸 안에 **비율 그대로 통째로** 들어간다.
   잘라내지 않는다 — 유영수 님: 「작아도 전체가 보이게 해야지」
   테두리를 두는 까닭: 흰 바탕 악보가 흰 카드에 녹아 「그림이 없는 것처럼」 보인다 */
.kpgmb-thumb__pic {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid var(--kpgm-line, #e3e8e5);
    border-radius: 8px;
    background: var(--kpgm-bg-3, #f0f4f2);
}
.kpgmb-thumb a:hover .kpgmb-thumb__pic { border-color: var(--kpgm-brand, #1f5c46); }

.kpgmb-thumb__pic img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* 그림이 없어도 자리는 차지한다. 억지 아이콘은 안 넣는다 — 그게 더 눈에 띈다 */
.kpgmb-thumb__none { display: block; width: 100%; height: 100%; }

/* min-height 로 두 줄분을 미리 잡는다 — 제목이 한 줄인 글과 두 줄인 글이 섞여도
   아래 곁글 줄이 들쭉날쭉해지지 않는다 */
.kpgmb-thumb__title {
    display: block;
    overflow: hidden;
    min-height: 42px;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--kpgm-ink, #1b2320);
    word-break: keep-all;
}
.kpgmb-thumb a:hover .kpgmb-thumb__title { color: var(--kpgm-brand, #1f5c46); }

.kpgmb-thumb__meta { display: block; margin-top: 4px; font-size: 12px; color: var(--kpgm-ink-3, #8b9691); }

.kpgmb-thumb.is-new .kpgmb-thumb__title { font-weight: 700; }

.kpgmb-thumb.is-new .kpgmb-thumb__title::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--kpgm-brand-2, #2f7a5e);
    vertical-align: 2px;
}

/* ══ 쪽 넘기기 ═════════════════════════════════════════════════════════ */

.kpgmb-board__pager ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin: 26px 0 0;
    padding-left: 0;
    list-style: none;
}
.kpgmb-board__pager li { margin: 0; }

.kpgmb-board__pager a,
.kpgmb-board__pager span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 6px;
    font-size: 13px;
    color: var(--kpgm-ink-2, #4a5751);
    text-decoration: none;
}
.kpgmb-board__pager a:hover  { background: var(--kpgm-bg-3, #f0f4f2); color: var(--kpgm-brand, #1f5c46); }
.kpgmb-board__pager .current { background: var(--kpgm-brand, #1f5c46); color: #fff; font-weight: 700; }

/* ══ 글쓰기 ════════════════════════════════════════════════════════════
 *
 * 워드프레스 글쓰기 칸(wp_editor)을 그대로 쓴다. 직접 만들지 않는다 —
 * 붙여넣기·되돌리기·글자 꾸미기까지 다 따라온다. 여기서는 **둘레만** 잡는다. */

.kpgmb-write__head {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--kpgm-ink, #1b2320);
    margin-bottom: 20px;
}

.kpgmb-write__where {
    margin: 0;
    font-family: var(--kpgm-font-serif, "Noto Serif KR", serif);
    font-size: 25px;
    font-weight: 600;
    letter-spacing: -.6px;
    line-height: 1.3;
    color: var(--kpgm-ink, #1b2320);
}
.kpgmb-write__what { padding-bottom: 3px; font-size: 13px; color: var(--kpgm-ink-3, #8b9691); }

.kpgmb-write__languages {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px 14px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid var(--kpgm-line, #dbe3df);
    border-radius: 9px;
    background: var(--kpgm-bg-2, #f7f9f8);
    color: var(--kpgm-ink-2, #4a5751);
    font-size: 13px;
}
.kpgmb-write__languages > div { display: flex; flex-wrap: wrap; gap: 7px; }
.kpgmb-write__languages a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 5px 10px;
    border: 1px solid #b8c6bf;
    border-radius: 7px;
    background: #fff;
    color: var(--kpgm-ink-2, #4a5751);
    text-decoration: none;
}
.kpgmb-write__languages a span { color: var(--kpgm-ink-3, #6f7c76); font-size: 11px; }
.kpgmb-write__languages a.is-current {
    border-color: var(--kpgm-brand, #1f5c46);
    background: var(--kpgm-brand, #1f5c46);
    color: #fff;
}
.kpgmb-write__languages a.is-current span { color: #dcebe5; }

.kpgmb-write__title {
    width: 100%;
    box-sizing: border-box;      /* ⚠️ 없으면 100% 가 테두리만큼 넘쳐 옆으로 삐져나간다 */
    margin-bottom: 14px;
    padding: 13px 15px;
    border: 1px solid var(--kpgm-line, #e3e8e5);
    border-radius: 8px;
    background: #fff;
    color: var(--kpgm-ink, #1b2320);
    font-family: inherit;
    font-size: 16px;
}
.kpgmb-write__title::placeholder { color: var(--kpgm-ink-3, #8b9691); }
.kpgmb-write__title:focus {
    outline: 0;
    border-color: var(--kpgm-brand, #1f5c46);
    box-shadow: 0 0 0 3px var(--kpgm-brand-soft, #e8f2ee);
}

.kpgmb-write__source {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 260px);
    align-items: center;
    gap: 5px 14px;
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid var(--kpgm-line, #e3e8e5);
    border-radius: 8px;
    background: var(--kpgm-bg-2, #f7f9f8);
    color: var(--kpgm-ink-2, #4a5751);
    font-size: 13px;
}
.kpgmb-write__source select {
    width: 100%;
    min-height: 40px;
    margin: 0;
    border: 1px solid #b8c6bf;
    border-radius: 7px;
    background: #fff;
}
.kpgmb-write__source small { grid-column: 1 / -1; color: var(--kpgm-ink-3, #6f7c76); }

.kpgmb-write__translation-note {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 12px;
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid #b9d3c7;
    border-radius: 8px;
    background: #edf6f2;
    color: var(--kpgm-ink-2, #4a5751);
    font-size: 13px;
    line-height: 1.55;
}
.kpgmb-write__translation-note strong { color: var(--kpgm-brand, #1f5c46); }
.kpgmb-write__structure-warning {
    display: grid;
    gap: 4px;
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid #e3c27b;
    border-radius: 8px;
    background: #fff9ec;
    color: #72551c;
    font-size: 13px;
    line-height: 1.6;
}
.kpgmb-write__structure-warning strong { color: #67440c; }

/* 편집창은 제목·도구줄 아래부터 화면 아랫부분 가까이까지 보이게 한다.
 * TinyMCE가 넣는 고정 332px inline 높이보다 이 규칙이 우선한다. */
.kpgmb-write #wp-kpgm_body-wrap .mce-edit-area iframe,
.kpgmb-write #kpgm_body {
    height: max(420px, min(760px, calc(100vh - 350px))) !important;
    min-height: 420px !important;
}

.kpgmb-write__files { margin-top: 20px; }
.kpgmb-write__label { display: block; margin-bottom: 8px; font-size: 13.5px; font-weight: 700; color: var(--kpgm-ink-2, #4a5751); }
.kpgmb-write__hint  { margin: 8px 0 0; font-size: 12px; line-height: 1.7; color: var(--kpgm-ink-3, #8b9691); }

/* 「보류」는 안내가 두 줄이라 체크가 **위**에 붙어야 한다 */
.kpgmb-write__hold {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 13px 15px;
    border: 1px solid var(--kpgm-line, #e3e8e5);
    border-radius: 8px;
    background: var(--kpgm-bg-2, #f7f9f8);
    font-size: 14px;
    line-height: 1.6;
    color: var(--kpgm-ink-2, #4a5751);
    cursor: pointer;
}
.kpgmb-write__hold:hover  { border-color: var(--kpgm-brand-2, #2f7a5e); }
.kpgmb-write__hold input  { flex: 0 0 auto; margin-top: 3px; }
.kpgmb-write__hold strong { color: var(--kpgm-ink, #1b2320); }
.kpgmb-write__hold small  { font-size: 12px; color: var(--kpgm-ink-3, #8b9691); }

.kpgmb-write__go {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
}

/* ⚠️ 「올리기」를 오른쪽으로 민다. **「그만두기」가 아니라.**
 *    앞에 있는 「그만두기」에 margin-left:auto 를 주면 **둘이 함께** 몰린다. (2026-08-12)
 *
 * ⚠️ 바탕과 글자색을 **둘 다 못 박는다.** 바탕만 지웠더니 테마가 박아 둔 흰 글자가 남아
 *    **흰 바탕에 흰 글자**가 된 적이 있다. 채워진 초록 단추면 그 일이 다시 날 수 없고,
 *    처음 쓰는 회원 눈에 「눌러야 할 것」이 하나 분명해진다. */
.kpgmb-write__save {
    margin-left: auto;
    padding: 13px 30px;
    border: 0;
    border-radius: 8px;
    background: var(--kpgm-brand, #1f5c46);
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
}
.kpgmb-write__save:hover { background: var(--kpgm-brand-2, #2f7a5e); color: #fff; }

.kpgmb-write__back { font-size: 14px; color: var(--kpgm-ink-3, #8b9691); text-decoration: none; }
.kpgmb-write__back:hover { color: var(--kpgm-ink-2, #4a5751); }

/* ══ 붙어 있는 파일 ═════════════════════════════════════════════════════
 *
 * ⚠️ 「떼기」는 글에서 떼는 것이지 파일을 지우는 것이 아니다.
 *    유영수 님: 「썸네일에서 없애는거지 원본 이미지를 지우는건 아니잖아」 */

.kpgmb-files { margin: 0; padding-left: 0; list-style: none; border-top: 1px solid var(--kpgm-line-2, #eef1ef); }

.kpgmb-files__one {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--kpgm-line-2, #eef1ef);
    font-size: 14px;
}

.kpgmb-files__pic { flex: 0 0 48px; }
.kpgmb-files__pic img {
    display: block;
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 4px;
    background: var(--kpgm-bg-3, #f0f4f2);
}

.kpgmb-files__name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--kpgm-ink-2, #4a5751);
    text-decoration: none;
}
.kpgmb-files__name:hover { color: var(--kpgm-brand, #1f5c46); }

.kpgmb-files__off {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--kpgm-ink-3, #8b9691);
    cursor: pointer;
}

/* ══ 글 읽는 화면 ═══════════════════════════════════════════════════════
 *
 * 한글은 한 줄 35~50자가 편하다. 760px / 16px = 약 47자.
 * 그냥 두면 940px(58자)이라 눈이 줄을 놓친다.
 * 760 은 이 사이트의 고정 페이지가 이미 쓰는 값이다. */

.kpgmb-post {
    max-width: 170mm;
    margin: 0 auto;
    font-family: "Pretendard Variable", Pretendard, "Malgun Gothic", "맑은 고딕", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.9;
    color: var(--kpgm-ink, #1b2320);
    word-break: keep-all;      /* 어절이 안 쪼개진다 */
}
.kpgmb-post--reader { max-width: none; }
.kpgmb-post p { margin: 0 0 1.2em; }

/* 테마가 모든 문단에 고양덕양 B를 강제해도 게시글 본문은 Pretendard 기본값을 따른다.
 * 편집기에서 font-family를 직접 지정한 요소는 제외하여 게시자의 선택을 보존한다. */
.kpgmb-post :is(p, div, li, h1, h2, h3, h4, h5, h6, blockquote):not([style*="font-family"]) {
    font-family: inherit !important;
}
.kpgmb-post:not(.kpgmb-post--legacy) img,
.kpgmb-post:not(.kpgmb-post--legacy) video,
.kpgmb-post:not(.kpgmb-post--legacy) iframe { max-width: 100%; height: auto; border-radius: 8px; }

/* 제목만 넓고 본문만 좁으면 사고처럼 보인다. 같이 좁힌다.
   ⚠️ .entry-header 는 테마(Astra) 이름이다. 테마를 바꾸면 이 한 줄만 다시 본다 */
body.single-kpgm_post .entry-header { max-width: 170mm; margin-left: auto; margin-right: auto; }

/* ── 현재 사이트 언어 + 원문 제목 ────────────────────────────────────
 * 현재 보는 언어를 첫 줄, 다른 원문이 있으면 그 아래에 작고 옅게 둔다.
 * 목록·썸네일·상세만 이 markup을 직접 쓰므로 메뉴·검색·RSS에는 섞이지 않는다. */
.kpgmb-title-pair,
.kpgmb-title-pair__source,
.kpgmb-title-pair__translation {
    display: block;
    min-width: 0;
    max-width: 100%;
}

.kpgmb-title-pair--list {
    flex: 1 1 auto;
    overflow: hidden;
}
.kpgmb-title-pair--list > span,
.kpgmb-title-pair--thumb > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kpgmb-title-pair--list .kpgmb-title-pair__translation,
.kpgmb-title-pair--thumb .kpgmb-title-pair__translation {
    margin-top: 2px;
    color: var(--kpgm-ink-2, #4a5751);
    font-size: .9em;
    font-weight: 400;
}
.kpgmb-title-pair--detail .kpgmb-title-pair__translation {
    margin-top: .38em;
    padding-top: .32em;
    border-top: 1px solid var(--kpgm-line, #e3e8e5);
    color: var(--kpgm-ink-2, #4a5751);
    font-size: .62em;
    font-weight: 500;
    line-height: 1.32;
    letter-spacing: -.01em;
}
.kpgmb-title-pair--detail .kpgmb-title-pair__translation * {
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
}

/* ── 옛 kpgm.net에서 복사한 글 ───────────────────────────────────────
 *
 * 옛 화면은 제목·본문을 860px 읽기 폭으로 보여 줬고, 저장된 완성 HTML을
 * 그대로 브라우저에 넣었다. WordPress의 자동 문단/줄바꿈을 한 번 더 거치면
 * 문장 안의 LF가 <br>로 바뀌어 원본과 달라진다. PHP에서 그 자동 변환을
 * 옛 글에만 끄고, 여기서는 옛 화면의 폭·기본 글꼴·간격을 되살린다. */
body.single-kpgm_post.kpgm-legacy-source .entry-header {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
body.single-kpgm_post.kpgm-legacy-source .entry-title {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 42.5px auto 25.5px;
    padding: 0;
    border: 0;
    font-family: var(--kpgm-font-serif, "Noto Serif KR", Georgia, serif);
    font-size: 46.75px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.01em;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.kpgmb-legacy-title {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: pre-wrap;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
body.single-kpgm_post.kpgm-legacy-source .kpgmb-title-pair--detail > span {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.kpgmb-post--legacy {
    max-width: 860px;
    font-family: Pretendard, "Pretendard Variable", Inter, system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.7;
    word-break: normal;
    overflow-wrap: normal;
}
.kpgmb-post--legacy .kpgm-old-lib,
.kpgmb-post--legacy .kpgm-old-post {
    --kpgm-font-sans: var(--kpgm-font, Pretendard, sans-serif);
    --kpgm-text: var(--kpgm-ink, #1b2320);
    --kpgm-text-muted: var(--kpgm-ink-3, #8b9691);
    --kpgm-border: var(--kpgm-line, #e3e8e5);
    --kpgm-text-soft: var(--kpgm-ink-2, #4a5751);
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) p,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) div,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h1,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h2,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h3,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h4 {
    margin: 0 !important;
    padding: 0 !important;
}
.kpgmb-post--legacy .kpgm-old-lib,
.kpgmb-post--legacy .kpgm-old-lib > *,
.kpgmb-post--legacy .kpgm-old-lib .kpgm-container,
.kpgmb-post--legacy .kpgm-old-lib .kpgm-content,
.kpgmb-post--legacy .kpgm-old-post,
.kpgmb-post--legacy .kpgm-old-post > *,
.kpgmb-post--legacy .MsoNormal {
    box-sizing: border-box !important;
    max-width: 100% !important;
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) :is(ol, ul) {
    margin: 0 0 25.5px !important;
    padding-left: 40px !important;
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) li {
    margin: 0 !important;
    padding: 0 !important;
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) p.MsoNormal {
    word-break: keep-all;
    overflow-wrap: break-word;
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post)
    :is([style*="white-space: pre-wrap"], [style*="white-space:pre-wrap"]) {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
.kpgmb-post--legacy table.MsoNormalTable {
    width: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 3px !important;
    font-size: inherit !important;
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h1,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h2,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h3,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h4,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) a,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) code,
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) pre {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) pre { overflow-x: auto; }
.kpgmb-post--legacy img,
.kpgmb-post--legacy video,
.kpgmb-post--legacy iframe,
.kpgmb-post--legacy table,
.kpgmb-post--legacy .kpgm-inline-image-box {
    max-width: 100% !important;
    height: auto !important;
}
.kpgmb-post--legacy .kpgm-inline-image-box {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    cursor: default !important;
    touch-action: auto !important;
}

@media (max-width: 768px) {
    body.single-kpgm_post.kpgm-legacy-source .entry-title {
        margin-top: 25.5px;
        font-size: 34px;
    }
    .kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h1,
    .kpgmb-post--legacy :is(.kpgm-old-lib, .kpgm-old-post) h1 * {
        max-width: 100% !important;
        font-size: min(2rem, 8vw) !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere;
    }
}

/* ── 글 안의 표 ───────────────────────────────────────────────────────
 *
 * ⚠️ 글쓰기 칸 안(editor.css)과 **같은 모양**이어야 한다 —
 *    다르면 「쓸 때는 이렇지 않았는데」가 된다. 여기를 고치면 그 파일도 같이 고친다. */

.kpgmb-post:not(.kpgmb-post--legacy) table {
    width: 100%;
    margin: 1.4em 0;
    border-collapse: collapse;
    font-size: 14.5px;
}

.kpgmb-post:not(.kpgmb-post--legacy) table th,
.kpgmb-post:not(.kpgmb-post--legacy) table td {
    border: 1px solid var(--kpgm-line, #e3e8e5);
    padding: 9px 12px;
    line-height: 1.7;
    vertical-align: top;
}

.kpgmb-post:not(.kpgmb-post--legacy) table th {
    background: var(--kpgm-bg-3, #f0f4f2);
    color: var(--kpgm-ink-2, #4a5751);
    font-weight: 700;
}

/* ══ 번역 알림 ═════════════════════════════════════════════════════════
 *
 * 테마가 「주의」에 쓰는 색 그대로 — 지어낸 색이 아니다 */

.kpgmb-tr__note {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 760px;
    margin: 0 auto 20px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid #dba617;
    background: #fdf7ec;
    color: #7a5f28;
    font-size: 12.5px;
    line-height: 1.8;
    word-break: keep-all;
}
.kpgmb-tr__mark {
    padding: 1px 7px;
    border-radius: 4px;
    background: #dba617;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}
.kpgmb-tr__orig { color: #7a5f28; font-weight: 700; text-decoration: underline; }

.kpgmb-tr__ask { max-width: 760px; margin: 0 auto 20px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.kpgmb-tr__go {
    padding: 9px 18px;
    border: 1px solid var(--kpgm-line, #e3e8e5);
    border-radius: 7px;
    background: #fff;
    color: var(--kpgm-ink-2, #4a5751);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
}
.kpgmb-tr__go:hover:not(:disabled) { border-color: var(--kpgm-brand, #1f5c46); color: var(--kpgm-brand, #1f5c46); }
.kpgmb-tr__go:disabled { opacity: .5; cursor: default; }

.kpgmb-tr__wait { font-size: 13px; color: var(--kpgm-ink-3, #8b9691); }
.kpgmb-tr__bad  { width: 100%; margin: 4px 0 0; font-size: 13px; color: #7a5f28; }

/* 글쓰기 — 게시판에 연결된 HTML 양식을 적용하기 전에 결과를 확인한다. */
.kpgmb-write__template {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 10px;
    align-items: center;
    margin: 0 0 12px;
    padding: 8px 10px;
    border: 1px solid var(--kpgm-line, #dbe3df);
    border-radius: 9px;
    background: var(--kpgm-bg-2, #f7f9f8);
}
.kpgmb-write__template > strong { flex: 1 1 190px; color: var(--kpgm-ink, #1b2320); font-size: 12.5px; }
.kpgmb-write__template-actions { display: inline-flex; align-items: center; gap: 5px; }
.kpgmb-write__template button {
    min-height: 34px;
    padding: 5px 11px;
    border: 1px solid #aeb9b4;
    border-radius: 6px;
    background: #fff;
    color: #28322e;
    font: 700 12px/1.3 var(--kpgm-font, sans-serif);
    cursor: pointer;
}
.kpgmb-write__template button:hover:not(:disabled) { border-color: #56635d; background: #f2f4f3; }
.kpgmb-write__template button:disabled { opacity: .55; cursor: wait; }
.kpgmb-write__template .kpgmb-write__template-info { width: 34px; padding: 5px; border-radius: 50%; }
.kpgmb-write__template p {
    flex: 1 0 100%;
    min-height: 1.4em;
    margin: 0;
    color: #8a5415;
    font-size: 12px;
    line-height: 1.4;
}
.kpgmb-write__template .kpgmb-write__template-help {
    color: var(--kpgm-ink-3, #6f7c76);
    text-align: left;
}
.kpgmb-write__template .kpgmb-write__template-help[hidden] { display: none; }

/* ══ 글 아래 ═══════════════════════════════════════════════════════════
 *
 * 왼쪽은 **되돌아가는 길**(누구나 쓴다), 오른쪽은 **글에 손대는 일**(글쓴이만 쓴다).
 * 손대는 쪽을 눈에서 멀리 두고 유령 단추로 낮춘다. */

.kpgmb-topback {
    max-width: 760px;
    margin: 0 auto 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--kpgm-line, #e3e8e5);
}

.kpgmb-foot {
    max-width: 760px;
    margin: 40px auto 0;
    padding-top: 20px;
    border-top: 1px solid var(--kpgm-line, #e3e8e5);
}

.kpgmb-foot__held {
    margin: 0 0 16px;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid #dba617;
    background: #fdf7ec;
    color: #7a5f28;
    font-size: 12.5px;
    line-height: 1.8;
    word-break: keep-all;
}

.kpgmb-foot__go { display: flex; align-items: center; gap: 10px; }

.kpgmb-foot__back {
    font-size: 14px;
    font-weight: 600;
    color: var(--kpgm-brand, #1f5c46) !important;
    background: #ffffff !important;
    border: 1px solid var(--kpgm-brand, #1f5c46);
    text-decoration: none;
}
.kpgmb-foot__back:hover,
.kpgmb-foot__back:focus,
.kpgmb-foot__back:focus-visible,
.kpgmb-foot__back:active {
    color: #ffffff !important;
    background: var(--kpgm-brand, #1f5c46) !important;
}

.kpgmb-foot__edit {
    margin-left: auto;
    padding: 9px 18px;
    border: 1px solid #b9d8ca;
    border-radius: 7px;
    background: #f1f8f4;
    color: var(--kpgm-brand, #1f5c46);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.4;
    box-shadow: 0 1px 2px rgba(31, 92, 70, .08);
    text-decoration: none;
}
.kpgmb-foot__edit span { margin-right: 3px; font-size: 15px; }
.kpgmb-foot__edit:hover {
    border-color: var(--kpgm-brand, #1f5c46);
    background: var(--kpgm-brand-soft, #e8f2ee);
    color: var(--kpgm-brand, #1f5c46);
}
.kpgmb-foot__edit:focus-visible {
    outline: 3px solid rgba(47, 122, 94, .28);
    outline-offset: 2px;
}

/* ══ 좁은 화면 ═════════════════════════════════════════════════════════
 *
 * 900 과 640 을 쓴다. **782 가 아니다** — 782 는 워드프레스 관리막대가 접히는
 * 자리지 디자인 자리가 아니다. 이 사이트 테마는 900(사이드바 접힘)과 640 을 쓴다. */

@media (max-width: 900px) {
    .kpgmb-board__wrap { padding: 28px 24px 36px; }

    /* 테마도 900 에서 글쓴이·조회를 숨긴다. 같은 자리에서 같이 숨긴다 */
    .kpgmb-row__who,
    .kpgmb-row__hit { display: none; }

    .kpgmb-thumb { flex: 0 0 calc(33.333% - 14px); }
}

/* 375px 화면에서 고정 칸 다섯의 폭 합이 350px 이다 — 제목에 25px 밖에 안 남는다.
   「무엇을 남길까」가 아니라 **「제목이 살아 있으려면 무엇을 버려야 하나」**이다.
   조회는 아무도 안 찾고, 글쓴이는 들어가면 나오고, 번호는 뜻이 없다.
   날짜는 「새 글인가」를 가늠하는 유일한 단서라 남긴다. */
@media (max-width: 640px) {
    .kpgmb-write__languages { grid-template-columns: 1fr; }
    .kpgmb-write__source { grid-template-columns: 1fr; }
    .kpgmb-write__source small { grid-column: auto; }
    .kpgmb-board__wrap { padding: 20px 16px 32px; }

    .kpgmb-board__head  { flex-wrap: wrap; gap: 8px 10px; padding-bottom: 12px; }
    .kpgmb-board__name  { font-size: 20px; }
    .kpgmb-board__write { width: 100%; margin-left: 0; padding: 12px 18px; font-size: 14px; text-align: center; }

    .kpgmb-row        { padding: 14px 4px; gap: 8px; }   /* 줄 높이 약 54px */
    .kpgmb-row__no    { display: none; }
    .kpgmb-row__title { font-size: 15px; }
    .kpgmb-row__when  { flex: 0 0 62px; font-size: 12px; }

    .kpgmb-thumb        { flex: 0 0 calc(50% - 10px); }
    .kpgmb-thumb__title { min-height: 40px; font-size: 13.5px; }

    .kpgmb-write__head  { flex-wrap: wrap; }
    .kpgmb-write__where { font-size: 20px; }
    .kpgmb-write__template { align-items: stretch; }
    .kpgmb-write__template > strong { flex-basis: 100%; }
    .kpgmb-write__template-actions { width: 100%; }
    .kpgmb-write__template button { min-height: 44px; }
    .kpgmb-write__template button:not(.kpgmb-write__template-info) { flex: 1 1 auto; }

    /* 좁은 데서는 「올리기」가 손가락에 닿게 한 줄을 다 차지한다.
       그만두기는 그 아래로 내려 잘못 눌러 글을 날릴 일을 줄인다 */
    .kpgmb-write__go   { flex-wrap: wrap; gap: 12px; }
    .kpgmb-write__save { order: -1; width: 100%; margin-left: 0; padding: 15px; }
    .kpgmb-write__back { width: 100%; text-align: center; }

    .kpgmb-foot__go   { flex-wrap: wrap; gap: 12px; }
    .kpgmb-foot__edit { width: 100%; margin-left: 0; padding: 12px 18px; text-align: center; }

    /* 표만 옆으로 밀리게. 화면 전체가 밀리면 안 된다.
       ⚠️ **반드시 좁은 화면에서만** 건다. 넓은 화면에서 걸면 display:block 때문에
          표가 「글자 길이만큼」으로 쪼그라든다. (2026-08-12 · 눈으로 보고 잼) */
    .kpgmb-post table { display: block; overflow-x: auto; }
}

/* 서버 0.35.36에서 먼저 반영된 안전한 화면 보정도 로컬 원본에 합친다. */
#page .kpgmb-write__save,
#page .kpgmb-write__save:hover,
#page .kpgmb-write__save:focus {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* ── 목록 머리줄 ──────────────────────────────────────────────────────
 *
 * 어느 칸이 무엇인지 알려 준다. 옛 게시판에는 있었다.
 * 줄과 **똑같은 칸 폭**을 쓰므로 위아래가 정확히 맞는다. */

.kpgmb-rows__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 10px;
    border-bottom: 1px solid var(--kpgm-line, #e3e8e5);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--kpgm-ink-3, #8b9691);
}

/* 머리줄의 제목 칸은 왼쪽 맞춤. 줄과 같은 flex 값을 쓴다 */
.kpgmb-rows__head .kpgmb-row__title {
    color: var(--kpgm-ink-3, #8b9691);
    font-weight: 700;
}

@media (max-width: 900px) {
    .kpgmb-rows__head .kpgmb-row__who,
    .kpgmb-rows__head .kpgmb-row__hit { display: none; }
}

@media (max-width: 640px) {
    .kpgmb-rows__head { display: none; }   /* 칸이 둘만 남으면 머리줄이 뜻이 없다 */
}

/* 인용 — 글쓰기 칸 안(editor.css)과 **같은 모양**이어야 한다.
   ⚠️ editor.css 에는 있는데 여기 없었다. 그래서 쓸 때와 올린 뒤가 달랐다.
      그 파일이 스스로 「같아야 한다」고 적어 놓고 자기가 어긴 자리다. (이과장이 찾음) */
.kpgmb-post blockquote {
    margin: 1.2em 0;
    padding: 8px 18px;
    border-left: 4px solid var(--kpgm-brand-2, #2f7a5e);
    color: inherit;
}

/* ── 번역 되돌리기 (관리자·글쓴이만 봅니다) ─────────────────────────── */

.kpgmb-tr__undo {
    max-width: 760px;
    margin: 20px auto 0;
    padding: 10px 14px;
    border: 1px dashed var(--kpgm-line, #e3e8e5);
    border-radius: 8px;
    font-size: 12.5px;
    color: var(--kpgm-ink-3, #8b9691);
}
.kpgmb-tr__undo a { margin-left: 4px; color: var(--kpgm-ink-2, #4a5751); }
.kpgmb-tr__undo a:hover { color: var(--kpgm-brand, #1f5c46); }
.kpgmb-tr__undohint { margin: 6px 0 0; font-size: 12px; }

/* ⚠️ 「주의」 세 색(#dba617 · #fdf7ec · #7a5f28)에 대하여 — 사실대로 적는다.
 *
 *    이 셋은 **테마의 `.kpgm-notice-draft` 가 쓰는 값**을 그대로 옮긴 것이다.
 *    지어낸 색이 아니다. 다만 테마가 이 셋을 `:root` 변수로 두지 않고
 *    그 규칙 안에 값으로 박아 두어서 **`var()` 로 부를 수가 없다.**
 *
 *    한때 `var(--kpgm-warn, #dba617)` 처럼 감싸 두었는데, 그런 변수는
 *    **테마에 없다.** 그러니 늘 예비값이 나왔다 — 고친 것이 아니라
 *    **고친 것처럼 보이게** 해 둔 것이었다. (2026-08-12 · 이과장이 찾음)
 *    그것이 안 고친 것보다 나쁘다. 다음에 읽는 사람이 속는다.
 *
 *    테마가 언젠가 이 셋을 :root 로 올리면 그때 var() 로 바꾼다.
 *    그 전까지는 **값 그대로 두고, 왜 그런지 여기 적어 둔다.** */

/* ── 휴지통으로 ───────────────────────────────────────────────────────
 *
 * ⚠️ 눈에 안 띄게 둔다. 자주 쓸 단추가 아니고, 「고치기」 옆에 나란히 두면
 *    잘못 누른다. 되살릴 수 있어도 그건 놀라는 일이다. */

.kpgmb-foot__trash {
    max-width: 760px;
    margin: 12px auto 0;
    text-align: right;
}
.kpgmb-foot__trash a {
    font-size: 12.5px;
    color: var(--kpgm-ink-3, #8b9691);
    text-decoration: none;
}
.kpgmb-foot__trash a:hover { color: #b03a2e; text-decoration: underline; }

/* 공통 제목 규칙보다 뒤에서 최종 크기·정렬을 확정한다.
   제목의 원문·번역은 같은 크기다. 좌측 메뉴(14px)보다 조금만 크게 둔다. */
.kpgmb-board__name,
.kpgmb-row__title,
.kpgmb-thumb__title,
body.single-kpgm_post .entry-header,
body.single-kpgm_post .entry-title,
.kpgmb-title-pair--detail,
.kpgmb-title-pair--detail > span { text-align: left !important; }
.kpgmb-board__name { font-size: 18px; line-height: 1.4; }
.kpgmb-row__title,
.kpgmb-thumb__title { font-size: 15px; line-height: 1.42; }
.kpgmb-row__title *,
.kpgmb-thumb__title * {
    font-size: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
}
.kpgmb-title-pair--list .kpgmb-title-pair__translation,
.kpgmb-title-pair--thumb .kpgmb-title-pair__translation { font-size: inherit; line-height: inherit; }
body.single-kpgm_post .entry-title,
body.single-kpgm_post.kpgm-legacy-source .entry-title {
    width: 100%;
    min-width: 0;
    font-size: 18px !important;
    line-height: 1.42 !important;
    letter-spacing: -.015em;
    text-align: left !important;
}
body.single-kpgm_post .entry-title .kpgmb-title-pair--detail,
body.single-kpgm_post .entry-title .kpgmb-title-pair--detail > span,
body.single-kpgm_post .entry-title .kpgmb-title-pair--detail > span * {
    font-size: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
}
body.single-kpgm_post .entry-title .kpgmb-title-pair--detail > .kpgmb-title-pair__translation {
    margin-top: .42em;
    padding-top: .34em;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}
.kpgmb-row__no,
.kpgmb-row__who,
.kpgmb-row__when { text-align: center; }
.kpgmb-row__hit { text-align: right; }
.kpgmb-post.kpgmb-post--reader-wide,
.kpgmb-post.kpgmb-post--legacy.kpgmb-post--reader-wide {
    width: 100%;
    max-width: none;
}
.kpgmb-post--reader-wide .kpgmb-reader__toolbar,
.kpgmb-post--reader-wide .kpgmb-reader__help,
.kpgmb-post--reader-wide .kpgmb-reader__status,
.kpgmb-post--reader-wide .kpgmb-reader__view--paragraphs,
.kpgmb-post--reader-wide .kpgmb-reader__view--sentences { max-width: none; }
body.single-kpgm_post.kpgm-reader-wide .entry-header { max-width: none; }

/* 224px 메뉴와 양옆 24px만 남기고 브라우저 폭을 따라간다.
 * 일반 한 언어 읽기는 kpgm-layout의 읽기 폭을 유지한다. */
@media (min-width: 1200px) {
    body.kpgm-app.single-kpgm_post.kpgm-reader-wide #content .ast-container,
    body.kpgm-app.single-kpgm_post.kpgm-reader-wide .ast-container {
        width: 100%;
        max-width: calc(100vw - 272px) !important;
    }
}

@media (max-width: 900px) {
    .kpgmb-post.kpgmb-post--reader-wide,
    .kpgmb-post.kpgmb-post--legacy.kpgmb-post--reader-wide { max-width: 100%; }
}

@media (max-width: 640px) {
    .kpgmb-board__name { font-size: 17px; }
    .kpgmb-row__title,
    .kpgmb-thumb__title { font-size: 14.5px; }
    .kpgmb-title-pair--list .kpgmb-title-pair__translation,
    .kpgmb-title-pair--thumb .kpgmb-title-pair__translation { font-size: inherit; }
    body.single-kpgm_post .entry-title,
    body.single-kpgm_post.kpgm-legacy-source .entry-title {
        font-size: 17px !important;
        line-height: 1.42 !important;
    }
}


/* KPGM fixed desktop board columns: keep metadata aligned while long titles wrap */
@media (min-width: 1350px) {
  .kpgmb-board--list .kpgmb-rows__head,
  .kpgmb-board--list .kpgmb-row {
    display: grid;
    grid-template-columns: 64px minmax(0, 52%) 150px 110px 64px 76px 132px;
    column-gap: 12px;
    align-items: center;
  }
  .kpgmb-board--list .kpgmb-row__no,
  .kpgmb-board--list .kpgmb-row__title,
  .kpgmb-board--list .kpgmb-row__who,
  .kpgmb-board--list .kpgmb-row__when,
  .kpgmb-board--list .kpgmb-row__hit,
  .kpgmb-board--list .kpgmb-row__status,
  .kpgmb-board--list .kpgmb-row__manage {
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
  }
  .kpgmb-board--list .kpgmb-row__title {
    display: block;
    overflow: visible;
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
    line-height: 1.45;
  }
  .kpgmb-board--list .kpgmb-title-pair--list,
  .kpgmb-board--list .kpgmb-title-pair--list > span { display: block; min-width: 0; }
  .kpgmb-board--list .kpgmb-row__who,
  .kpgmb-board--list .kpgmb-row__when,
  .kpgmb-board--list .kpgmb-row__hit,
  .kpgmb-board--list .kpgmb-row__status { text-align: center; }
  .kpgmb-board--list .kpgmb-row__when,
  .kpgmb-board--list .kpgmb-row__hit,
  .kpgmb-board--list .kpgmb-row__status { white-space: nowrap; }
  .kpgmb-board--list .kpgmb-row__manage {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 5px;
  }
}


/* KPGM fixed desktop board columns v2: capped title width and stable metadata columns */
@media (min-width: 1120px) {
  .kpgmb-board--list .kpgmb-rows__head,
  .kpgmb-board--list .kpgmb-row {
    display: grid;
    grid-template-columns: 56px minmax(420px, 700px) minmax(0, 1fr) 130px 100px 54px 70px 126px;
    column-gap: 12px;
    align-items: center;
  }
  .kpgmb-board--list .kpgmb-row__no { grid-column: 1; }
  .kpgmb-board--list .kpgmb-row__title { grid-column: 2; }
  .kpgmb-board--list .kpgmb-row__who { grid-column: 4; }
  .kpgmb-board--list .kpgmb-row__when { grid-column: 5; }
  .kpgmb-board--list .kpgmb-row__hit { grid-column: 6; }
  .kpgmb-board--list .kpgmb-row__status { grid-column: 7; }
  .kpgmb-board--list .kpgmb-row__manage { grid-column: 8; }
  .kpgmb-board--list .kpgmb-row__title {
    display: block;
    min-width: 0;
    overflow: visible;
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
    line-height: 1.45;
  }
  .kpgmb-board--list .kpgmb-title-pair--list,
  .kpgmb-board--list .kpgmb-title-pair--list > span { display: block; min-width: 0; }
  .kpgmb-board--list .kpgmb-row__who,
  .kpgmb-board--list .kpgmb-row__when,
  .kpgmb-board--list .kpgmb-row__hit,
  .kpgmb-board--list .kpgmb-row__status { text-align: center; }
  .kpgmb-board--list .kpgmb-row__when,
  .kpgmb-board--list .kpgmb-row__hit,
  .kpgmb-board--list .kpgmb-row__status { white-space: nowrap; }
  .kpgmb-board--list .kpgmb-row__manage { display:flex; align-items:center; justify-content:center; flex-wrap:nowrap; gap:5px; }
}


/* KPGM full multi-line list titles: never hide long source or translation text */
.kpgmb-board--list .kpgmb-row__title,
.kpgmb-board--list .kpgmb-title-pair--list,
.kpgmb-board--list .kpgmb-title-pair--list > span,
.kpgmb-board--list .kpgmb-title-pair__source,
.kpgmb-board--list .kpgmb-title-pair__translation {
  display: block;
  width: auto;
  min-width: 0;
  max-width: none;
  max-height: none;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-overflow: clip;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
}
.kpgmb-board--list .kpgmb-row { height: auto; min-height: 50px; }

/* KPGM board lists: use black text consistently across every list */
.kpgmb-board--list .kpgmb-board__name,
.kpgmb-board--list .kpgmb-board__count,
.kpgmb-board--list .kpgmb-rows__head,
.kpgmb-board--list .kpgmb-rows__head *,
.kpgmb-board--list .kpgmb-row,
.kpgmb-board--list .kpgmb-row *,
.kpgmb-board--list .kpgmb-row a,
.kpgmb-board--list .kpgmb-title-pair__source,
.kpgmb-board--list .kpgmb-title-pair__translation,
.kpgmb-board--list .kpgmb-board__pager,
.kpgmb-board--list .kpgmb-board__pager a,
.kpgmb-board--list .kpgmb-board__pager span {
  color: #000000 !important;
}


/* KPGM 모든 일반 목록: 게시됨/보류 전환 버튼 */
.kpgmb-board--list .kpgmb-row__status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.kpgmb-board--list .kpgmb-status-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 30px;
  padding: 4px 7px;
  border: 1px solid #9aa9a3;
  border-radius: 6px;
  background: #ffffff;
  color: #1f5e46 !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
}
.kpgmb-board--list .kpgmb-status-btn.is-active {
  border-color: #1f5e46;
  background: #1f5e46;
  color: #ffffff !important;
}
.kpgmb-board--list .kpgmb-status-btn:hover,
.kpgmb-board--list .kpgmb-status-btn:focus-visible {
  border-color: #153f31;
  background: #e8f1ed;
  color: #153f31 !important;
  outline: 2px solid transparent;
}
.kpgmb-board--list .kpgmb-status-btn.is-active:hover,
.kpgmb-board--list .kpgmb-status-btn.is-active:focus-visible {
  background: #153f31;
  color: #ffffff !important;
}
@media (min-width: 1120px) {
  .kpgmb-board--list .kpgmb-rows__head,
  .kpgmb-board--list .kpgmb-row {
    grid-template-columns: 56px minmax(380px, 660px) minmax(0, 1fr) 130px 100px 54px 118px 126px;
  }
}


/* 모든 일반 목록형 게시판: 구버전 인문학 게시판 글꼴·크기·색상 */
.kpgmb-board--list {
  font-family: Pretendard, Inter, system-ui, sans-serif !important;
}
.kpgmb-board--list .kpgmb-row__title,
.kpgmb-board--list .kpgmb-row__title a,
.kpgmb-board--list .kpgmb-title-pair__source,
.kpgmb-board--list .kpgmb-title-pair__translation {
  font-family: Pretendard, Inter, system-ui, sans-serif !important;
  font-size: 15.3px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  color: #1f1a14 !important;
}
.kpgmb-board--list .kpgmb-rows__head,
.kpgmb-board--list .kpgmb-rows__head * {
  font-family: Pretendard, Inter, system-ui, sans-serif !important;
  font-size: 13.6px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  color: #75695a !important;
}
.kpgmb-board--list .kpgmb-row__no {
  font-family: Pretendard, Inter, system-ui, sans-serif !important;
  font-size: 15.3px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #75695a !important;
}
.kpgmb-board--list .kpgmb-row__who,
.kpgmb-board--list .kpgmb-row__when,
.kpgmb-board--list .kpgmb-row__hit,
.kpgmb-board--list .kpgmb-row__status,
.kpgmb-board--list .kpgmb-row__manage {
  font-family: Pretendard, Inter, system-ui, sans-serif !important;
  font-size: 14.45px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #4a4136 !important;
}


/* 구버전 목록 색상: 기존 진초록 공통 규칙보다 우선 */
html body .kpgmb-board--list a.kpgmb-row__title,
html body .kpgmb-board--list a.kpgmb-row__title .kpgmb-title-pair__source,
html body .kpgmb-board--list a.kpgmb-row__title .kpgmb-title-pair__translation {
  color: #1f1a14 !important;
}
html body .kpgmb-board--list .kpgmb-rows__head,
html body .kpgmb-board--list .kpgmb-rows__head * {
  color: #75695a !important;
}
html body .kpgmb-board--list .kpgmb-row .kpgmb-row__no {
  color: #75695a !important;
}
html body .kpgmb-board--list .kpgmb-row .kpgmb-row__who,
html body .kpgmb-board--list .kpgmb-row .kpgmb-row__when,
html body .kpgmb-board--list .kpgmb-row .kpgmb-row__hit,
html body .kpgmb-board--list .kpgmb-row .kpgmb-row__status,
html body .kpgmb-board--list .kpgmb-row .kpgmb-row__manage {
  color: #4a4136 !important;
}


/* 구버전 목록 색상 최종 우선순위 */
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > a.kpgmb-row__title,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > a.kpgmb-row__title .kpgmb-title-pair__source,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > a.kpgmb-row__title .kpgmb-title-pair__translation {
  color: #1f1a14 !important;
}
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list > .kpgmb-rows__head,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list > .kpgmb-rows__head * {
  color: #75695a !important;
}
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > .kpgmb-row__no {
  color: #75695a !important;
}
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > .kpgmb-row__who,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > .kpgmb-row__when,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > .kpgmb-row__hit,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > .kpgmb-row__status,
html.mode-light body.archive.tax-kpgm_board.kpgm-app #page #content .ast-container .kpgmb-board.kpgmb-board--list .kpgmb-rows .kpgmb-row > .kpgmb-row__manage {
  color: #4a4136 !important;
}
