/* MOMYA-SKIN v20260722-16 board.momya.css */
/* ══════════════════════════════════════════════════════
   엄마야 게시판 스킨 CSS
   변수(--green, --text 등)는 레이아웃 momya.css에서 상속받음
   ══════════════════════════════════════════════════════ */

/* ── 게시판 배지 색상 (원본 프로토타입 팔레트) ──
   .badge(목록 카드)와 .pv-badge(글상세)는 프로토타입에서부터 패딩이 다르다
   (.badge=3px 9px, .pv-badge=3px 10px, DIFF_글상세.md 기준 .pv-badge 는 확정값이라
   여기서 안 건드림) — 그래서 값이 같던 예전과 달리 이제 두 규칙으로 분리한다. */
.momya-board .badge{font-size:var(--fs-micro);font-weight:600;padding:3px 9px;border-radius:6px;white-space:nowrap;display:inline-block;letter-spacing:-.2px}
.momya-read .pv-badge{font-size:var(--fs-micro);font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap;display:inline-block;letter-spacing:-.2px}
.bg-free{background:var(--surface-2);color:var(--text)}
.bg-ss{background:#FEF2F2;color:#991B1B}
.bg-preg{background:#F5F3FF;color:#5B21B6}
.bg-info{background:#F0FDF4;color:#166534}
.bg-life{background:#FFFBEB;color:#92400E}

/* ══════════ 목록 ══════════ */
.momya-board{min-width:0}

/* 공지/이벤트 섹션 헤더 래퍼 — sec-head/sec-desc(momya.css)는 그대로 쓰고
   관리자 전용 글쓰기 버튼(.btn-write 재사용, momya.css)만 여기서 배치 보정.
   .btn-write 는 원래 헤더의 flex 부모 안에서만 내용 너비였으므로, sec-head-wrap
   (block) 안에서는 inline-flex 로 눌러줘야 폭 100%로 안 늘어난다 */
.sec-write-btn{display:inline-flex;margin-top:2px}
.momya-board .mb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.momya-board .board-title{display:flex;align-items:center;gap:9px}
/* .mb-write-btn 은 마크업 자체를 없애서(2026-07-22 사용자 결정, list.html) 이 CSS도
   같이 정리했다 — 헤더 글쓰기·플로팅이 글쓰기 진입 경로를 대신한다. */

/* 정렬 탭: momya.css 의 프로토타입 .tabs/.tab(홈 피드와 동일 스타일)을 그대로 상속받는다 —
   여기서 재정의하지 않는다(과거 최신/조회순/추천순 스킴 전용 오버라이드는 2026-07-22 제거). */

.momya-board .feed-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px 8px;min-height:20px}
.momya-board .feed-count{font-size:12px;color:var(--text-3)}
.momya-board .feed-count b{color:var(--text-2);font-weight:600}

/* 피드 카드 */
.momya-board .feed{list-style:none;margin:0;padding:0}
/* [2026-08-03 갱신] 구분선 색을 var(--border)(#E5E7EB)에서 카테고리 페이지 항목
   구분선과 동일한 var(--surface-2)(#F3F4F6, 더 연함)로 통일 — notice-row도 동일. */
.momya-board .post{display:flex;align-items:flex-start;gap:13px;padding:14px 8px;border-bottom:1px solid var(--surface-2);transition:background .12s;border-radius:8px}
.momya-board .post:hover{background:var(--surface-2)}
.momya-board .pbody{flex:1;min-width:0}
.momya-board .pmeta-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
/* [프로토타입 오버라이드 12] 목록/피드 제목만 15px 로 키움(원래 var(--fs-body)=14px) —
   작성 화면 제목 입력창(.title-textarea)이 15px라 쓸 때보다 목록에서 작아 보인다는
   체감 차이를 없애기 위한 의도적 변경(2026-07-24, momya.css 동일 규칙과 동기화).
   CSS 대조에서 "프로토타입은 14px"로 나와도 되돌리지 마라. */
.momya-board .ptitle{display:-webkit-box;font-size:15px;font-weight:600;margin:6px 0 0;color:var(--text);word-break:break-word;line-height:20px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.3px;text-decoration:none}
.momya-board .post:hover .ptitle{color:var(--green-d)}
.momya-board .pmeta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-3);margin-top:7px;flex-wrap:wrap}
.momya-board .pmeta .nick-grade>span{font-weight:500;color:var(--text-2)}
.momya-board .pmeta .m{display:flex;align-items:center;gap:4px}
.momya-board .pthumb{width:72px;height:72px;flex-shrink:0;border-radius:9px;overflow:hidden;align-self:center}
.momya-board .pthumb img{width:100%;height:100%;object-fit:cover;display:block}
.momya-board .feed-empty{padding:48px 20px;text-align:center;color:var(--text-3);font-size:14px;list-style:none}

/* 공지 행: 프로토타입 공지사항 리스트 행(.sec-row 계열) 참고 — 얇은 한 줄,
   닉네임/등급/댓글수 없음. 게시판 목록 전용(주입 데이터가 아니라 실제 board
   모듈의 notice_list 를 쓰므로 위젯 쪽엔 이 클래스가 없다) */
.momya-board .notice-row{list-style:none;display:flex;align-items:center;gap:12px;padding:15px 8px;border-bottom:1px solid var(--surface-2);transition:background .12s;border-radius:8px;cursor:pointer;position:relative}
.momya-board .notice-row:hover{background:var(--surface-2)}
.momya-board .notice-tag{font-size:11px;font-weight:700;color:#fff;background:var(--green);padding:2px 8px;border-radius:6px;flex-shrink:0}
.momya-board .notice-tag-all{background:var(--green-d)}
.momya-board .notice-row-ttl{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.3px;word-break:break-word;text-decoration:none}
/* 행 전체 터치 영역(stretched-link, 2026-07-28 확정) — .post/.sec-row 와 동일 패턴.
   기존엔 cursor:pointer 도 없었다 — 힌트도 없이 제목 글자만 눌리던 상태였다 */
.momya-board .notice-row-ttl::after{content:'';position:absolute;inset:0}
.momya-board .notice-row-meta{font-size:12px;color:var(--text-3);flex-shrink:0}

/* 페이지네이션 */
.momya-pager{display:flex;justify-content:center;align-items:center;gap:6px;margin:22px 0 8px;flex-wrap:wrap}
.momya-pager a,.momya-pager strong{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;text-decoration:none;color:var(--text-2);border:1px solid transparent}
.momya-pager a:hover{background:var(--surface-2)}
.momya-pager .pg-cur{background:var(--green);color:#fff;font-weight:700}
.momya-pager .pg-arr{color:var(--text-3)}
/* 공지/이벤트 섹션은 sec-row 리스트가 얇아서 페이지네이션도 그에 맞춰 얇게(사용자 확정, 2026-07-23) */
.momya-section .momya-pager{margin:14px 0 4px}
.momya-section .momya-pager a,.momya-section .momya-pager strong{min-width:28px;height:28px;font-size:12px}

/* [2026-08-01] momya.css 와 동일 — Mobile::isFromMobilePhone()이 mobile.enabled=false
   인 이 서버에서 항상 false 만 반환해 서버사이드로 모바일 판별이 불가능함이 확인돼,
   데스크톱(10개)/모바일(5개) 두 판을 전부 렌더링하고 720px 기준 CSS 로 고른다. */
.pg-group-desktop{display:contents}
.pg-group-mobile{display:none}
@media(max-width:720px){
  .pg-group-desktop{display:none}
  .pg-group-mobile{display:contents}
}

/* ══════════ 글 상세 ══════════ */
.momya-read .pv-inner{max-width:720px;margin:0 auto;padding:20px 18px 8px}
.momya-read .pv-title{font-size:var(--fs-title);font-weight:700;line-height:1.4;letter-spacing:-.5px;color:var(--text);margin:12px 0 14px;word-break:break-word}
.momya-read .pv-author{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.momya-read .pv-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--text-3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.momya-read .pv-author-info{flex:1;min-width:0}
.momya-read .pv-author-name{font-size:var(--fs-label);font-weight:500;color:var(--text-2)}
.momya-read .pv-author-meta{font-size:var(--fs-caption);color:var(--text-3);margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}
.momya-read .pv-author-meta span{display:flex;align-items:center;gap:3px}
.momya-read .pv-body{font-size:var(--fs-card);line-height:1.8;color:var(--text);word-break:break-word;margin-bottom:24px}
/* 라이믹스 본문은 <div class="rhymix_content xe_content"> 로 감싸 출력된다(document.item.php:769).
   코어 rhymix.scss 의 .xe_content/.xe_content p 가 자체 line-height(에디터 모듈 기본값 160%,
   editor.class.php:16)를 직접 걸어 .pv-body 의 line-height:1.8 상속을 끊는다.
   문단 여백(margin)은 에디터 모듈 설정 content_paragraph_spacing 값을 따르는데 시스템
   기본값은 0(editor.class.php:17) 이지만 게시판별로 관리자가 다르게 설정했을 수 있어
   0 으로 고정해 프로토타입처럼 문단 사이 여백 없이 줄간격만 남긴다 (momya.css 와 동일 유지) */
.momya-read .pv-body .xe_content{line-height:1.8}
/* [줄 간격 fallback] 실제 적용값은 아래 "최종 확정 블록"의 동일 선택자 재선언이 이긴다
   (momya.css 동일 규칙과 동기화, 이유는 그쪽 주석 참고) */
.momya-read .pv-body p{margin:0;line-height:1.7}
.momya-read .pv-body img{max-width:100%;height:auto;border-radius:8px}
/* [긴급 수정 세트, 2026-07-30] 마이페이지 임시저장 미리보기(.draft-preview)에서
   먼저 확인된 것과 동일한 원인 — widgets/pollWidget/skins/momya/css/poll.css 의
   .momya-poll-wrap{max-width:420px} 이 고정폭이라, 본문 폭이 420px보다 좁아지는
   중간 화면폭에서 투표 위젯이 그대로 넘친다. 위젯 자체 CSS 파일(다른 화면에서도
   재사용됨)은 안 건드리고 글상세 본문 스코프 안에서만 100%로 덮어쓴다. */
.momya-read .pv-body .momya-poll-wrap{max-width:100%}
/* 표 셀 기본 여백 — momyaTableGrid 삽입 시 인라인 style로도 넣지만, 인라인 스타일 없이
   붙여넣기 등으로 들어온 표까지 커버하는 기본값(class 없이 태그 선택자만 사용 — 이유는
   config.js 의 momyaTableGrid insertTable() 주석 참고, mediafilter.classes 허용 여부를
   확인할 수 없어 class 의존을 피한다). (momya.css 동일 규칙과 동기화) */
/* [긴급] 표에 테두리가 전혀 없어(기본값 border:0) 구조는 멀쩡해도 육안으로는 "표가
   사라진 것처럼" 보였다 — 실제 라이브 글(info/14197)의 렌더링된 DOM을 getComputedStyle로
   직접 재보고 확인(border:0px none, 그 외 display/visibility/치수는 전부 정상). 데이터
   손실이 아니라 순수 시각 결함. border-collapse 로 셀 테두리를 합쳐 이중선 없이 격자를
   표시한다 (momya.css 동일 규칙과 동기화) */
.momya-read .pv-body table{border-collapse:collapse}
.momya-read .pv-body table td,.momya-read .pv-body table th{padding:8px;min-height:20px;border:1px solid var(--border-2)}
/* [확인, 2026-07-30] 본문 링크가 그냥 텍스트로 보이는 문제 — 실제 라이브 글(free/14292,
   링크미리보기 카드의 <a>)을 렌더링된 DOM에서 getComputedStyle로 직접 재본 결과
   color:rgb(17,24,39)(=--text) / text-decoration:none 로 확인됐다. autolink 애드온
   (addons/autolink/autolink.js) 자체는 정상 동작 — <a> 태그는 실제로 만들어지고
   있었고, 클릭 시 target=_blank 부여 로직도 정상이었다(코드 확인 완료). 원인은
   momya.css:26 의 사이트 전역 리셋 a{color:inherit;text-decoration:none} — 브라우저
   기본 파란/밑줄을 사이트 전체(네비게이션·버튼형 링크 등)에서 의도적으로 지우고
   있는데, 본문 안 링크까지 똑같이 지워버렸다. 그 전역 리셋 자체는 건드리지 않고
   (사이트 전체 다른 링크들이 그 값에 의존) 본문 스코프에서만 더 높은 명시도로
   되살린다. */
.momya-read .pv-body a{color:var(--link);text-decoration:underline}
/* [수정, 2026-07-30] 위 규칙이 링크 미리보기 카드(write_form.html momyaInsertLinkCard()
   가 삽입하는 .link-preview-card — .lp-title a 는 원본 URL 문자열이 아니라 실제로
   가져온 페이지/영상 제목 텍스트)의 a 태그에도 걸려, 원래 .lp-title{color:var(--text)}
   (layouts/momya/css/momya.css, 카드 전용 의도된 스타일)로 검게 보이던 제목 텍스트가
   파란 밑줄로 바뀌었다 — .link-preview-card 스코프 안에서만 색을 되돌린다(밑줄은 그대로).
   (layouts/momya/css/momya.css 동일 규칙과 동기화) */
.momya-read .pv-body .link-preview-card a{color:var(--text)}
/* 취소선이 크기가 다른 구간을 통째로 감싸면(<s><span style="font-size:32px">..</span></s>)
   취소선 위치가 <s>의 부모 폰트 기준으로 고정돼 실제 글자 크기와 안 맞아 보인다(CSS 표준
   동작 — text-decoration은 지정된 요소의 폰트로 위치가 정해진다). 크기가 다시 지정된
   자손에 text-decoration을 다시 명시하면 그 자손 자신의 폰트 기준으로 다시 잡힌다
   [2026-07-28, C1 후속] 위 규칙만으로는 안쪽 span에 선을 하나 더 그릴 뿐 바깥 s
   자신의 기본 line-through(여전히 어긋난 위치)가 남아 두 줄로 겹쳐 보인다 —
   s가 font-size 지정된 span을 직접 자식으로 가질 때만 s 자신의 선을 끈다
   (momya.css 동일 규칙과 동기화) */
.momya-read .pv-body s span[style*="font-size"]{text-decoration:line-through}
.momya-read .pv-body s:has(> span[style*="font-size"]){text-decoration:none}
.momya-read .pv-files{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:20px;background:var(--surface-2)}
.momya-read .pv-files-head{font-size:13px;font-weight:600;color:var(--text-2);display:flex;align-items:center;gap:6px;margin-bottom:8px}
.momya-read .pv-files ul{list-style:none;margin:0;padding:0}
.momya-read .pv-files li{font-size:13px;padding:3px 0}
.momya-read .pv-files a{color:var(--green-d);text-decoration:none}
.momya-read .pv-files a:hover{text-decoration:underline}
.momya-read .pv-files em{color:var(--text-3);font-style:normal;font-size:12px}

/* 추천 버튼 */
.momya-read .pv-vote-row{display:flex;justify-content:center;gap:10px;padding:2px 0 6px;margin-bottom:22px}
.momya-read .pv-vote{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--surface-2);border-radius:999px;padding:11px 0;cursor:pointer;transition:all .15s;width:128px;flex:none;text-decoration:none;color:var(--text-2)}
.momya-read .pv-vote.up:hover{background:#E9EBEF}
.momya-read .pv-vote.up.on{background:var(--green-soft);color:var(--green)}
.momya-read .pv-vote.down:hover{background:#FEF2F2}
.momya-read .pv-vote.down.on{background:#FEF2F2;color:var(--red)}
.momya-read .pv-vote-n{font-size:var(--fs-card);font-weight:700}
.momya-read .pv-vote-row.busy{opacity:.6;pointer-events:none}

/* 액션바 */
.momya-read .pv-btnbar{display:flex;justify-content:center;gap:8px;margin-bottom:8px}
.momya-read .pv-btn{border:1px solid var(--border-2);border-radius:9px;padding:9px 20px;font-size:13px;font-weight:600;color:var(--text-2);text-decoration:none;transition:all .15s;background:var(--surface);cursor:pointer;font-family:inherit;line-height:1;display:inline-flex;align-items:center;white-space:nowrap}
.momya-read .pv-btn:hover{background:var(--surface-2);border-color:var(--text-3)}
.momya-read .pv-btn.share{color:var(--green-d)}
.momya-read .pv-btn:hover{border-color:var(--text-3);background:var(--surface-2);color:var(--text)}
.momya-read .pv-btn.list{background:var(--green);border-color:var(--green);color:#fff}
.momya-read .pv-btn.list:hover{background:var(--green-d)}
.momya-read .pv-btn.danger:hover{border-color:var(--red);color:var(--red-d)}

/* ══════════ 댓글 ══════════ */
.momya-comment{max-width:100%;margin-top:8px}
.momya-comment .pv-cmt-head{font-size:var(--fs-head);font-weight:700;margin-bottom:15px;padding-top:22px;border-top:1px solid var(--border)}
.momya-comment .pv-cmt-head span{color:var(--green)}
.momya-comment .pv-cmt-list{display:flex;flex-direction:column}
/* 댓글 사이 세로 리듬 — 선 없이 여백만으로 구분(기존 원칙 유지).
   예전엔 padding-top/bottom 조합(16/6, 답글은 10)과 :has() 조건부 축소로 간격을 만들어
   일반↔일반 22px, 답글이 끼면 16px 로 들쭉날쭉했다(2026-07-22 실측). padding-top/bottom 을
   없애고 margin-bottom 하나로 통일해 깊이·다음 요소 종류와 무관하게 항상 15px 로 고정한다.
   .pv-cmt-list 가 flex-direction:column 이라 margin 겹침(collapse) 없이 그대로 15px 가 보장된다 */
.momya-comment .pv-cmt{display:flex;gap:11px;padding:0;margin-bottom:15px}
.momya-comment .pv-cmt.is-reply{padding-left:42px}
/* 답글(깊이 1 이상 전부 동일 — 답글의 답글도 같은 들여쓰기로 평면 표시) 닉네임 앞 ㄴ 화살표 */
.momya-comment .pv-cmt.is-reply .cmt-top-left::before{content:"ㄴ";color:var(--text-3);margin-right:2px;font-weight:400}
.momya-comment .pv-cmt-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-2);color:var(--text-3);overflow:hidden}
.momya-comment .pv-cmt-avatar img{width:100%;height:100%;object-fit:cover}
.momya-comment .pv-cmt-body{flex:1;min-width:0}
.momya-comment .pv-cmt-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.momya-comment .cmt-top-left{display:flex;align-items:center;gap:7px;min-width:0}
.momya-comment .pv-cmt-nick{font-size:var(--fs-label);font-weight:500;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.momya-comment .pv-op-badge{font-size:var(--fs-micro);font-weight:600;padding:2px 6px;border-radius:4px;background:#DCFCE7;color:var(--green-d);flex-shrink:0}
/* 본문 맨 앞 대상(부모 답글 작성자) 닉네임 — 네이버 카페식 강조색. 뒤 공백은 마크업에서 이미 붙임.
   font-size 는 안 건드린다 — .pv-cmt-txt 에서 상속받아 댓글 본문과 항상 같은 크기가 되도록
   (굵기 600·초록색으로만 구별. 아래 rhymix_content 크기 고정 전에는 우연히 부모(16px)를
   상속받아 오히려 정상 크기였고, 13px로 눌린 본문 옆이라 상대적으로 커 보였을 뿐이었다) */
.momya-comment .pv-cmt-reply-to{color:var(--green);font-weight:600}
/* 댓글 본문은 문단 없이 순수 텍스트(+br)라 위 span 과 한 줄로 붙이려면 라이믹스가
   씌우는 rhymix_content 래퍼(보통 block)를 inline 으로 바꿔야 한다.
   font-size 도 함께 고정한다 — 코어 rhymix.scss 가 .rhymix_content/.xe_content 에
   font-size:13px 를 직접 걸어(에디터 모듈 기본값) .pv-cmt-txt 의 15px/16px 상속을 끊는다
   (document.item.php 쪽 .xe_content 도 같은 문제이나 지금은 댓글만 요청받았다 — .pv-body 는
   범위 밖이라 손대지 않는다). 문서 본문(.pv-body)에는 영향 없음 — .pv-cmt-txt 안으로만 스코프 */
.momya-comment .pv-cmt-txt .rhymix_content{display:inline;font-size:inherit}
.momya-comment .pv-cmt-time{font-size:var(--fs-caption);color:var(--text-3);flex-shrink:0}
/* 우측 여유 16px 추가 — 기준선(16px)과 합쳐 화면 끝까지 총 32px. 답글(is-reply)도
   같은 .pv-cmt-txt 라 자동 적용되고, 대상 닉네임(.pv-cmt-reply-to)도 이 안에 있어 함께 적용된다.
   .pv-body(글 본문)는 이 선택자 범위 밖이라 영향 없음 */
.momya-comment .pv-cmt-txt{font-size:var(--fs-card);line-height:1.65;color:var(--text);word-break:break-word;white-space:normal;padding-right:16px}
.momya-comment .pv-cmt-txt.deleted{color:var(--text-3);font-style:italic}
.momya-comment .pv-cmt-txt img{max-width:100%;height:auto;border-radius:6px}
.momya-comment .pv-cmt-files ul{list-style:none;margin:6px 0 0;padding:0}
.momya-comment .pv-cmt-files a{font-size:12px;color:var(--green-d);text-decoration:none}
/* 프로토타입 prototype.css:476 값으로 맞춤 (특이도가 높아 아래 .pv-cmt-actions 를 이기므로 여기서 정한다) */
.momya-comment .pv-cmt-actions{display:flex;align-items:center;gap:14px;margin-top:11px}
.momya-comment .cmt-act{font-size:12px;font-weight:500;color:var(--text-3);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .12s}
.momya-comment .cmt-act:hover{color:var(--text)}
.momya-comment .cmt-act.on{color:var(--green)}
.momya-comment .cmt-act.danger:hover{color:var(--red-d)}

/* 댓글 작성 */
.momya-comment .pv-reply-box{background:var(--surface-2);border-top:none;border-radius:var(--radius);padding:12px;margin-top:14px}
.momya-comment .pv-reply-meta{display:flex;gap:8px;margin-bottom:9px}
.momya-comment .pv-reply-row{display:block}
.momya-comment .pv-reply-txt{width:100%;border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 12px;font-family:inherit;font-size:var(--fs-label);outline:none;background:#fff;color:var(--text);resize:none;min-height:40px;max-height:120px;line-height:1.5;transition:border-color .15s}
.momya-comment .pv-reply-txt:focus{border-color:var(--green)}
.momya-comment .pv-reply-nick,.momya-comment .pv-reply-pw{flex:1;border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 12px;font-family:inherit;font-size:var(--fs-label);outline:none;background:#fff;color:var(--text);min-width:0;transition:border-color .15s}
.momya-comment .pv-reply-nick:focus,.momya-comment .pv-reply-pw:focus{border-color:var(--green)}
.momya-comment .pv-reply-submit{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}
.momya-comment .notify-label{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:5px;cursor:pointer}
.momya-comment .pv-reply-send{background:var(--green);color:#fff;border:none;border-radius:var(--radius-sm);padding:0 18px;height:40px;font-family:inherit;font-size:var(--fs-label);font-weight:600;cursor:pointer;flex-shrink:0;white-space:nowrap;transition:background .15s}
.momya-comment .pv-reply-send:hover{background:var(--green-d)}
.momya-comment .cmt-pager{margin:16px 0}

/* 라이믹스 에디터 영역 여백 보정 */
.momya-comment .cke,.momya-comment .xpeditor_wrapper,.momya-comment textarea{margin-bottom:0}

/* [4] 옛 모바일 축소 규칙 .momya-read .pv-title{font-size:18px} 제거함 —
   무조건 규칙(69행)이 이미 font-size:var(--fs-title)(=18px) 을 주고 있어 완전히 중복이었다.
   momya.css/board.momya.css 의 pv-/cmt- 계열 모바일 미디어쿼리를 전수 재검사한 결과
   프로토타입에 없는 축소 규칙은 이것 하나뿐이었고, 나머지(.pv-admin-count/.pv-share-btn)는
   프로토타입에 없는 우리 전용 기능이라 대조 대상이 아니다 */

/* ── 관리자 전용 조회수/추천 조절 패널 ── */
.pv-admin-count{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0 8px;padding:12px 14px;background:#fffbeb;border:1px dashed #f59e0b;border-radius:10px;font-size:13px}
.pv-admin-count .pac-label{font-weight:700;color:#92400e}
.pv-admin-count label{display:flex;align-items:center;gap:5px;color:#57534e}
.pv-admin-count .pac-in{width:72px;padding:5px 7px;border:1px solid #d6d3d1;border-radius:6px;font-size:13px;text-align:right}
.pv-admin-count .pac-save{background:#f59e0b;color:#fff;border:none;border-radius:7px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer}
.pv-admin-count .pac-save:hover{background:#d97706}
.pv-admin-count .pac-save:disabled{opacity:.6;cursor:default}
.pv-admin-count .pac-msg{font-size:12px;font-weight:600}
/* 관리자 전용 : 댓글 수치 일괄 조정 페이지 링크 (momya.css 와 동일 유지) */
.pac-bulk{font-size:12px;font-weight:600;color:var(--green-d);text-decoration:none;border:1px solid var(--border-2);border-radius:7px;padding:6px 12px;white-space:nowrap}
.pac-bulk:hover{border-color:var(--green);background:var(--green-soft)}
@media(max-width:760px){.pv-admin-count{font-size:12px;gap:8px}.pv-admin-count .pac-in{width:60px}}

/* ── 공유 버튼 ── */
.pv-share{display:flex;justify-content:center;gap:10px;margin:0 0 18px;flex-wrap:wrap}
.pv-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-2);background:var(--surface);border-radius:999px;padding:9px 20px;font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;flex:0 0 auto;line-height:1;min-width:110px}
.pv-share-btn svg{flex-shrink:0}
.pv-share-btn:hover{border-color:var(--text-3);background:var(--surface-2)}
.pv-share-btn.kakao{background:#FEE500;border-color:#FEE500;color:#3A1D1D}
.pv-share-btn.kakao:hover{background:#f5dc00}
@media(max-width:760px){.pv-share-btn{padding:8px 16px;font-size:12px;min-width:96px}}

/* 신고 버튼 */
.momya-read .pv-btn.report{color:var(--text-3)}
.momya-read .pv-btn.report:hover{color:#dc2626;border-color:#fca5a5}

/* ═══ 글쓰기 폼 ═══ */
.momya-write{max-width:820px;margin:0 auto;padding:8px 0 40px}
.mw-form{display:flex;flex-direction:column;gap:14px;flex:1;min-width:0}
.mw-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.mw-pagetitle{font-size:22px;font-weight:800;color:var(--text);margin:0;letter-spacing:-.5px}
.mw-board-badge{font-size:12px;font-weight:600;color:var(--green);background:var(--green-soft);padding:5px 12px;border-radius:999px}
.mw-category,.mw-notice{align-self:flex-start;padding:10px 14px;border:1px solid var(--border-2);border-radius:10px;font-size:14px;background:var(--surface);color:var(--text);min-width:160px;font-family:inherit}
.mw-title{width:100%;padding:15px 16px;border:1px solid var(--border-2);border-radius:12px;font-size:17px;font-weight:600;color:var(--text);font-family:inherit;box-sizing:border-box;transition:border-color .15s}
.mw-title:focus{outline:none;border-color:var(--green)}
.mw-title::placeholder{color:var(--text-3);font-weight:400}
.mw-editor{border:1px solid var(--border-2);border-radius:12px;overflow:hidden;min-height:320px}
.mw-editor .xpresseditor,.mw-editor textarea{border:none!important}
/* [6단계-1 → 6단계-3 재정정, 2026-07-26] CKEditor 툴바 접기(collapse) 아이콘을
   마지막 줄에 합류시키는 문제 — CSS(float/margin 조정) 두 차례 시도 모두 실패해
   최종적으로 DOM 이동으로 해결했다. 자세한 원인·근거는 common/js/plugins/ckeditor/
   ckeditor/config.js 의 instanceReady 핸들러 주석 참고(요약: momya 툴바는
   named group 이 하나뿐이라 .cke_toolbar 요소 자체가 1개이고, collapser 는 그
   바깥(.cke_toolbox_main 의 형제)에 있어 같은 float 흐름에 속하지 않으므로 CSS
   만으로는 그 안의 "마지막 줄"에 합류가 원천적으로 불가능했다 — JS 로 실제 DOM
   위치를 옮겨야 했다). 여기 있던 CSS 전용 규칙(float/margin-top)은 그 대체로
   제거함 — 지금은 config.js 가 이동 직후 인라인 style 로 float/margin 을 직접
   지정한다. */
.mw-extra{background:var(--surface-2);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.mw-extra-row{display:flex;gap:12px;align-items:center;font-size:14px}
.mw-extra-label{flex-shrink:0;width:120px;color:var(--text-2);font-weight:600}
.mw-extra-label em{color:#dc2626;font-style:normal}
.mw-extra-field{flex:1}
.mw-guest{display:flex;gap:10px;flex-wrap:wrap}
.mw-in{padding:11px 14px;border:1px solid var(--border-2);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text)}
.mw-in:focus{outline:none;border-color:var(--green)}
.mw-tags{width:100%;padding:12px 16px;border:1px solid var(--border-2);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text);box-sizing:border-box}
.mw-tags:focus{outline:none;border-color:var(--green)}
.mw-tags::placeholder{color:var(--text-3)}
.mw-options{display:flex;gap:18px;flex-wrap:wrap;padding:4px 2px;font-size:14px;color:var(--text-2)}
.mw-options label{display:flex;align-items:center;gap:6px;cursor:pointer}
.mw-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;flex-wrap:wrap}
.mw-actions-row1,.mw-actions-row2{display:contents}
.mw-btn{padding:12px 26px;border-radius:10px;font-size:14px;line-height:1;font-weight:600;cursor:pointer;font-family:inherit;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);text-decoration:none;display:inline-flex;align-items:center;transition:all .15s}
.mw-btn.ghost:hover{background:var(--surface-2)}
.mw-btn.cancel{color:var(--text-3);flex:0 0 auto}
.mw-btn.cancel:hover{background:var(--surface-2)}
.mw-btn.submit{background:var(--green);border-color:var(--green);color:#fff;padding:12px 36px}
.mw-btn.submit:hover{background:var(--green-d)}
/* [6단계-1, 수정5, 2026-07-26 전면 재설계] PC/랩탑(한 줄)에서도 취소를 뺀 나머지
   (임시저장/불러오기/미리보기/게시하기, 없는 게 있으면 그만큼만)를 서로 완전히
   동일한 폭으로 맞춘다. 지난 라운드엔 984px 이상에서 이 처리를 안 하고 자연폭
   그대로 둬서 .mw-btn.submit 하나만 padding:12px 36px(다른 버튼은 12px 26px)를
   써서 게시하기만 눈에 띄게 넓었다(원인 확정 — 폭 규칙이 아니라 그 버튼 하나만
   걸린 별도 padding). flex:1 1 0 + min-width:0 으로 폭을 강제로 맞추면 그 자체로
   해결되지만, 남는 min-content 폭 차이를 아예 없애려고 padding 도 여기서 통일한다
   (게시하기의 원래 12px 36px 은 미리보기 오버레이(.wpv-foot)에서는 그대로 써야
   하므로 .mw-btn.submit 자체는 안 건드리고, 이 화면의 버튼바 범위로 한정한
   선택자로만 나중에 선언해 덮어쓴다 — 명시도가 같아 CSS 순서상 이 규칙이 이긴다). */
.mw-actions-row1 .mw-btn,
.mw-actions-row2 .mw-btn{flex:1 1 0;min-width:0;justify-content:center;padding:12px 16px}

/* [6단계-1, 수정5] 태블릿 폭 이하 — 2줄 분리. 1줄: 취소+임시저장+불러오기(3개
   서로 완전 동일폭, .mw-actions-row1 은 계속 display:contents 라 취소와 flex
   형제로 한 줄에 나란히 놓인다) / 2줄: 미리보기+게시하기(2개 서로 완전 동일폭).
   두 그룹 모두 flex:1 1 0(퍼센트 하드코딩 아님) 이라 임시저장/불러오기가 없는
   경우(기존 글 수정, block cond 로 아예 렌더링 안 됨)에도 취소 혼자 그 줄 폭을
   전부 채운다 — 별도 :empty 분기 불필요. 각 줄의 합산 폭은 .mw-actions 가
   .mw-form(flex column, 자식 기본 stretch)의 자식이라 에디터(.mw-editor)와 이미
   동일한 폭이라 별도 처리 없이 자동으로 만족된다. 경계값은 위 [수정3] 라운드에서
   실측 확정한 983px(momya.css 의 .feed-col max-width:984px 와 동일 경계, 사이드
   3카드가 보이기 시작해 .mw-form 폭이 좁아지는 지점)을 그대로 재사용. */
@media(max-width:983px){
  .mw-actions{flex-wrap:wrap}
  .mw-btn.cancel{flex:1 1 0;min-width:0;justify-content:center;padding:12px 16px}
  .mw-actions-row1 .mw-btn{padding:12px 16px}
  .mw-actions-row2{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}
}

/* 관리자 조절 - 작성일시 */
.pv-admin-count .pac-date{padding:5px 8px;border:1px solid #d6d3d1;border-radius:6px;font-size:12px;font-family:inherit;color:var(--text)}
.pv-admin-count .pac-date-label{gap:5px}
@media(max-width:760px){.pv-admin-count .pac-date{font-size:11px}}

/* 글 상세 태그 */
.pv-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px}
.pv-tag{font-size:13px;color:var(--green-d);background:var(--green-soft);padding:5px 12px;border-radius:999px;text-decoration:none;transition:background .12s}
.pv-tag:hover{background:#c9e8d4}

/* ═══ 삭제 확인 모달 ═══ */
.momya-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:mmFade .18s ease}
@keyframes mmFade{from{opacity:0}to{opacity:1}}
.momya-modal{background:#fff;border-radius:18px;padding:30px 28px 24px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:mmPop .22s cubic-bezier(.2,.8,.3,1.1)}
@keyframes mmPop{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.mm-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.mm-icon-danger{background:#fee2e2;color:#dc2626}
.mm-title{font-size:19px;font-weight:800;color:var(--text);margin:0 0 12px}
.mm-doc{font-size:14px;color:var(--text-2);background:var(--surface-2);border-radius:10px;padding:11px 14px;margin:0 0 10px;max-height:80px;overflow:hidden;line-height:1.5;word-break:break-all}
.mm-desc{font-size:13px;color:var(--text-3);margin:0 0 22px}
.mm-check{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--text-2);margin:0 0 16px;cursor:pointer}
.mm-btns{display:flex;gap:10px}
.mm-btn{flex:1;padding:14px 0;border:none;border-radius:11px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}
.mm-btn.cancel{background:#FEE500;color:#3a2e00}
.mm-btn.cancel:hover{background:#f5dc00}
.mm-btn.delete{background:#dc2626;color:#fff}
.mm-btn.delete:hover{background:#b91c1c}
/* 삭제 모달 뜰 때 뒤 레이아웃 숨김 */
.momya-modal-overlay ~ *{}

/* 유저 닉네임 클릭 링크 */
.pv-user-link{cursor:pointer;text-decoration:none;color:inherit}
.pv-user-link:hover{text-decoration:underline;color:var(--green-d)}

/* 커스텀 닉네임(프로필 링크 없음, 2026-07-28) — pv-user-link 와 같은 요소에
   같이 붙여서 쓴다. .pv-user-link.pv-nolink(명시도 2클래스)는 위 .pv-user-link
   (1클래스)보다 항상 이긴다.
   [2026-07-30, 2차 수정] :hover 상태는 다르다 — :hover 는 의사 클래스라 일반
   클래스와 같은 명시도 칸(0,2,0)을 차지한다. 즉 .pv-user-link:hover(1클래스+
   :hover=명시도 2)는 .momya-comment .pv-cmt-nick(2클래스=명시도 2)와 동점이고,
   동점이면 나중에 나오는 규칙이 이긴다(.pv-user-link:hover 가 361행, .pv-cmt-nick
   은 176행이라 순서상 .pv-user-link:hover 가 이김). 1차 수정에서 이 규칙의
   color 선언을 통째로 지웠더니 "평소 색 규칙이 대신 이길 것"이라 예상했지만
   실제로는 .pv-user-link:hover{color:var(--green-d)}(실명 링크용 초록색)가
   대신 이겨 커스텀 닉네임·비회원 닉네임에도 초록 호버가 새로 생겼다(실기기
   확인). color:inherit(부모 DOM 요소 색을 끌어옴 — 1차 사고 원인)도, color
   미지정(동점 순서에서 실명 링크 규칙에 밀림 — 2차 사고 원인)도 둘 다 틀렸다.
   .pv-user-link.pv-nolink:hover 는 2클래스+:hover=명시도 3이라 위 두 규칙
   (전부 명시도 2 이하) 보다 항상 이기므로, 여기서 값을 직접 var(--text-2)로
   명시해야 한다 — .momya-comment .pv-cmt-nick 과 .momya-read .pv-author-name
   양쪽의 평소(rest) 색과 동일한 값이라 두 컨텍스트 모두에서 "호버해도 평소와
   완전히 같은 색"이 된다. */
.pv-user-link.pv-nolink{cursor:default}
.pv-user-link.pv-nolink:hover{text-decoration:none;color:var(--text-2)}

/* 이미지 확대 보기 */
/* .imgview-overlay 제거함(2026-07-28) — 자체 이미지 뷰어 폐기, PhotoSwipe만 사용 */
/* PhotoSwipe 공유 버튼·파일명 캡션 숨김 — 확대·닫기 버튼만 유지(2026-07-28 확정).
   addons/photoswipe 자체 CSS 파일은 안 건드리고 여기서 !important 로 덮는다 */
.pswp__button--share,.pswp__caption{display:none!important}

/* 게시판 글 개수 선택 */
.feed-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* .perpage/.perpage-btn/.perpage-menu 는 momya.css 의 프로토타입 스타일을 그대로 상속받는다
   (momya_feed 위젯과 동일 클래스명으로 통일, 2026-07-22 — 예전 .per-page 전용 스타일 제거). */

/* 회원 등급 배지 (1~5단계, 이름형) */
.grade-badge{display:inline-flex;align-items:center;justify-content:center;height:17px;padding:0 7px;border-radius:9px;font-size:0;font-weight:800;color:#fff;margin-left:5px;vertical-align:1px;line-height:1;letter-spacing:-.2px}
.grade-badge::after{font-size:10px}
.grade-badge.grade-1{background:#7cb342}
.grade-badge.grade-1::after{content:"새싹맘"}
.grade-badge.grade-2{background:#26a69a}
.grade-badge.grade-2::after{content:"초보맘"}
.grade-badge.grade-3{background:#ab47bc}
.grade-badge.grade-3::after{content:"열혈맘"}
.grade-badge.grade-4{background:#ff7043}
.grade-badge.grade-4::after{content:"우수맘"}
.grade-badge.grade-5{background:linear-gradient(135deg,#f9a825,#fbc02d);color:#5d4037;box-shadow:0 1px 4px rgba(251,192,45,.5)}
.grade-badge.grade-5::after{content:"소울맘"}

/* 비회원 배지 */
.guest-badge{display:inline-flex;align-items:center;height:17px;padding:0 7px;border-radius:9px;font-size:10px;font-weight:700;color:#fff;background:#9ca3af;margin-left:5px;vertical-align:1px;line-height:1;letter-spacing:-.2px}

/* ── 공용 토스트 (momya.css 와 동일 유지) ── */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(14px);background:var(--black);color:#fff;font-size:13px;font-weight:500;padding:10px 20px;border-radius:999px;opacity:0;transition:all .26s;z-index:100;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* [모바일 앱형 UI 2-2단계, 2026-08-03] momya.css 쪽과 동일하게 하단 탭바를 피하도록
   조정 — --tabbar-h는 momya.css :root에 선언돼 있지만 문서 루트 커스텀 속성이라 이
   파일에서도 그대로 참조 가능하다(layout.html이 두 CSS를 항상 같이 로드하므로). body
   .toast(구체성 확보)로 걸어 momya.css 쪽과 동일한 패턴 유지 — CSS 동기화 원칙(값이
   다른 중복 금지)에 맞춰 momya.css를 고칠 때 이 파일도 항상 같이 확인할 것. */
@media(max-width:720px){
  body .toast{bottom:calc(var(--tabbar-h) + 14px)}
}

/* ── 저장/공유 액션 줄 (momya.css 와 동일 유지) ── */
.pv-actions{display:flex;gap:8px;margin:-10px 0 22px}
.pv-act{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid transparent;background:var(--surface-2);border-radius:999px;padding:11px 0;cursor:pointer;font-family:inherit;font-size:var(--fs-label);font-weight:600;color:var(--text-2);transition:all .15s}
.pv-act svg{width:18px;height:18px}
.pv-act:hover{border-color:var(--green);background:var(--green-soft);color:var(--green)}
.pv-act.on{border-color:var(--green);background:var(--green);color:#fff}
.pv-act.on svg{stroke:#fff;fill:#fff}

/* ── 공유 시트 (바텀시트, momya.css 와 동일 유지) ── */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.share-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90;display:none;align-items:flex-end;justify-content:center}
.share-overlay.show{display:flex;animation:fadeIn .2s ease}
.share-sheet{background:var(--surface);width:100%;max-width:480px;border-radius:20px 20px 0 0;padding:8px 20px 26px;animation:sheetUp .26s cubic-bezier(.2,.9,.3,1) both}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.share-grab{width:40px;height:4px;border-radius:999px;background:var(--border-2);margin:8px auto 14px}
.share-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.share-title{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--text)}
.share-x{background:var(--surface-2);border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:background .15s}
.share-x:hover{background:var(--border)}
.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 4px;margin-bottom:18px}
.share-item{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:none;cursor:pointer;font-family:inherit;padding:0;transition:transform .1s}
.share-item:active{transform:scale(.92)}
.share-ic{width:52px;height:52px;flex:0 0 52px;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;overflow:hidden}
.share-ic svg{flex-shrink:0}
.share-lbl{font-size:11px;color:var(--text-2);font-weight:500;white-space:nowrap}
.share-copy-row{display:flex;align-items:center;gap:8px;border:1.5px solid var(--border);border-radius:12px;padding:8px 8px 8px 14px;background:var(--surface-2)}
.share-url{flex:1;min-width:0;font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-copy-btn{background:var(--black);color:#fff;border:none;border-radius:9px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;transition:opacity .15s}
.share-copy-btn:hover{opacity:.82}
@media(min-width:741px){
  .share-overlay{align-items:center}
  .share-sheet{border-radius:18px;max-width:380px;padding:20px 22px 24px}
  .share-grab{display:none}
}

/* ── 신고 사유 모달 (momya.css 와 동일 유지) ── */
@keyframes fadeDelIn{from{opacity:0}to{opacity:1}}
@keyframes popDel{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.report-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:95;display:none;align-items:center;justify-content:center;padding:20px}
.report-overlay.show{display:flex;animation:fadeDelIn .18s ease}
.report-modal{background:#fff;border-radius:16px;width:100%;max-width:360px;padding:20px;animation:popDel .2s cubic-bezier(.2,.9,.3,1) both;max-height:85vh;overflow-y:auto}
.report-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.report-title{font-size:16px;font-weight:700;color:var(--text)}
.report-x{background:none;border:none;cursor:pointer;color:var(--text-3);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;line-height:1;transition:background .15s}
.report-x:hover{background:var(--surface-2);color:var(--text)}
.report-desc{font-size:13px;color:var(--text-2);margin-bottom:16px;line-height:1.5}
.report-reasons{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.report-reason{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1.5px solid var(--border-2);border-radius:11px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text);transition:all .12s;user-select:none}
.report-reason:hover{border-color:var(--red);background:var(--red-soft)}
.report-reason.on{border-color:var(--red);background:var(--red-soft);color:var(--red-d);font-weight:600}
.report-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .12s}
.report-reason.on .report-radio{border-color:var(--red)}
.report-reason.on .report-radio::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--red)}
.report-detail{width:100%;font-family:inherit;font-size:14px;color:var(--text);border:1.5px solid var(--border-2);border-radius:11px;padding:10px 13px;outline:none;resize:none;min-height:64px;line-height:1.5;transition:border-color .15s;margin-bottom:6px}
.report-detail:focus{border-color:var(--red)}
.report-err{font-size:12px;color:var(--red);min-height:16px;margin-bottom:8px}
.report-foot{display:flex;gap:8px}
.report-cancel-btn{flex:1;background:none;border:1.5px solid var(--border-2);border-radius:10px;padding:11px 0;font-family:inherit;font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;transition:border-color .15s}
.report-cancel-btn:hover{border-color:var(--text)}
.report-submit-btn{flex:1.4;background:var(--red);color:#fff;border:none;border-radius:10px;padding:11px 0;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}
.report-submit-btn:hover:not(:disabled){background:var(--red-d)}
.report-submit-btn:disabled{opacity:.45;cursor:not-allowed}

/* ── 글상세 상단 바 (momya.css 와 동일 유지) ── */
.pv-bar{border-bottom:1px solid var(--border-soft);background:var(--surface);position:sticky;top:0;z-index:2}
.pv-bar-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:11px 18px}
.pv-bar-inner .pv-back{margin-left:-8px}
.pv-bar-inner .pv-report-btn,.pv-bar-inner .pv-share{margin-right:-8px}
.pv-back,.pv-share{background:none;border:none;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:background .15s;flex-shrink:0}
.pv-back:hover,.pv-share:hover{background:var(--surface-2)}
.pv-bar-title{flex:1;font-weight:700;font-size:var(--fs-section);color:var(--text)}
/* 저장(스크랩) — 헤더의 다른 아이콘과 같은 모양·크기 (momya.css 와 동일 유지) */
.pv-save-btn{background:none;border:none;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:background .15s,color .15s;flex-shrink:0}
.pv-save-btn:hover{background:var(--surface-2)}
.pv-save-btn.on{color:var(--green)}
/* 아이콘이 여러 개일 때 마지막 것만 가장자리에 붙인다 */
.pv-bar-inner .pv-report-btn,.pv-bar-inner .pv-share,.pv-bar-inner .pv-save-btn{margin-right:0}
.pv-bar-inner .pv-report-btn:last-child,.pv-bar-inner .pv-share:last-child,.pv-bar-inner .pv-save-btn:last-child,.pv-bar-inner .cmt-menu-wrap:last-child{margin-right:-8px}
.pv-report-btn{background:none;border:none;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:background .15s,color .15s;flex-shrink:0}
.pv-report-btn:hover{background:var(--red-soft);color:var(--red)}
/* 이 파일 162행의 옛 .pv-share(공유 버튼 묶음 컨테이너) 잔여 속성이 상단 바 아이콘에 새지 않도록 차단 */
.momya-read .pv-bar-inner .pv-share{gap:0;flex-wrap:nowrap;margin:0 -8px 0 0}
/* 프로토타입은 전체화면 오버레이라 pv-bar 가 sticky 였지만, 서버는 레이아웃 헤더(sticky, z-index:40)
   안쪽에 인라인 렌더되므로 sticky 를 풀어 두 헤더가 겹치지 않게 한다 */
.momya-read .pv-bar{position:static;padding:0;background:none}
/* [2] pv-bar-inner 만 좌우 padding:0 으로 덮여 있어 pv-bar 의 아이콘이 화면 끝까지 붙고
   pv-inner(본문, 좌우 18px 유지)와 기준선이 어긋났었다. pv-bar-inner 도 프로토타입처럼
   본문과 동일하게 max-width:720px + padding 좌우 18px 를 쓰게 두면(아래 특정 규칙 제거),
   bare .pv-bar-inner{max-width:720px;margin:0 auto;padding:11px 18px}(momya.css) 가 그대로
   적용돼 pv-bar/pv-inner 가 같은 좌우 기준선을 쓴다. 아이콘의 margin-right:-8px 값
   (.pv-bar-inner .pv-report-btn 등) 은 이미 프로토타입과 동일해 손댈 필요가 없었다 */

/* ── 더보기 케밥 메뉴 (momya.css 와 동일 유지) ── */
.cmt-menu-wrap{position:relative}
.cmt-menu-btn{background:none;border:none;cursor:pointer;color:var(--text-3);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:color .12s,background .12s;flex-shrink:0}
.cmt-menu-btn:hover{color:var(--text);background:var(--surface-2)}
.cmt-menu{position:absolute;top:28px;right:0;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);padding:5px;min-width:118px;z-index:30;display:none}
.cmt-menu.show{display:block}
.cmt-menu button{display:block;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-label);color:var(--text);padding:10px 12px;border-radius:8px;text-align:left;transition:background .12s}
.cmt-menu button:hover{background:var(--surface-2)}
.cmt-menu button.danger{color:var(--red)}

/* ── 댓글 상단 우측(시각 + 케밥) (momya.css 와 동일 유지) ── */
.cmt-top-right{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* ── 댓글 인라인 수정 (momya.css 와 동일 유지) ── */
.cmt-edit-area{margin-top:8px;display:none}
.cmt-edit-area.open{display:block}
.cmt-edit-textarea{width:100%;font-family:inherit;font-size:var(--fs-body);color:var(--text);border:1.5px solid var(--border-2);border-radius:9px;padding:9px 12px;outline:none;resize:none;min-height:60px;line-height:1.5;transition:border-color .15s}
.cmt-edit-textarea:focus{border-color:var(--green)}
.cmt-edit-foot{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}
.cmt-edit-save{background:var(--green);color:#fff;border:none;border-radius:7px;padding:6px 14px;font-family:inherit;font-size:var(--fs-caption);font-weight:600;cursor:pointer}
.cmt-edit-cancel{background:none;border:1.5px solid var(--border-2);border-radius:7px;padding:6px 11px;font-family:inherit;font-size:var(--fs-caption);font-weight:500;color:var(--text-2);cursor:pointer}

/* ── 삭제 확인 모달 (momya.css 와 동일 유지) ── */
.del-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90;display:none;align-items:center;justify-content:center;padding:20px}
.del-overlay.show{display:flex;animation:fadeDelIn .18s ease}
.del-modal{background:#fff;border-radius:14px;width:100%;max-width:320px;padding:22px 20px;animation:popDel .2s cubic-bezier(.2,.9,.3,1) both}
.del-modal-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.del-modal-desc{font-size:13px;color:var(--text-2);margin-bottom:16px;line-height:1.5}
.del-pw-wrap{border:1.5px solid var(--border-2);border-radius:9px;padding:10px 13px;display:flex;align-items:center;gap:8px;margin-bottom:8px;transition:border-color .15s}
.del-pw-wrap:focus-within{border-color:var(--red)}
.del-pw-input{flex:1;border:none;outline:none;font-family:inherit;font-size:14px;color:var(--text);background:none}
.del-pw-input::placeholder{color:var(--text-3)}
.del-pw-err{font-size:12px;color:var(--red);min-height:16px;margin-bottom:10px}
.del-foot{display:flex;gap:8px;justify-content:flex-end}
.del-cancel-btn{background:none;border:1.5px solid var(--border-2);border-radius:8px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer}
.del-cancel-btn:hover{border-color:var(--text)}
.del-confirm-btn{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.del-confirm-btn:hover{background:var(--red-d)}

/* ── 인라인 답글 폼 (네이버 카페 방식 — 깊이와 무관하게 댓글 입력 폼(.pv-reply-box)과 같은 폭)
   .pv-inline-reply 는 .pv-cmt-body(아바타 32px + gap 11px 만큼 이미 오른쪽으로 밀려 있음) 안에
   들어있어, 음수 margin-left 로 그 밀림을 정확히 상쇄해 항상 .pv-inner 전체 폭을 채운다.
   기본(깊이 0 댓글의 답글 폼) = -(32+11) = -43px.
   .is-reply(답글) 안에 중첩된 답글 폼은 부모의 padding-left(42px)만큼 더 상쇄해야 한다 → -85px */
.pv-inline-reply{display:none;margin:12px 0 14px -43px;background:var(--surface-2);border-radius:var(--radius);padding:10px}
.pv-inline-reply.open{display:block}
.pv-inline-reply .pv-reply-meta{display:flex;gap:8px;margin-bottom:8px}
.momya-comment .pv-cmt.is-reply .pv-inline-reply{margin-left:-85px}

/* 답글 폼 취소 버튼. .pv-reply-txt 가 flex:1 이라 뒤 형제(취소·등록)는 자연히 오른쪽에 붙는다 */
.mc-cancel{background:none;border:1.5px solid var(--border-2);border-radius:9px;padding:9px 16px;font-size:14px;font-weight:500;color:var(--text-2);cursor:pointer;font-family:inherit;transition:border-color .15s}
.mc-cancel:hover{border-color:var(--text-3)}

/* ── 댓글 이미지 첨부·표시 (momya.css 와 동일 유지) ── */
.pv-cmt-img{margin-top:8px}
.pv-cmt-img img{max-width:200px;max-height:200px;width:auto;border-radius:10px;border:1px solid var(--border);cursor:zoom-in;display:block;object-fit:cover}
.pv-reply-img-btn{background:#fff;border:1px solid transparent;border-radius:var(--radius-sm);width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;flex-shrink:0;transition:all .15s}
.pv-reply-img-btn:hover{border-color:var(--green);color:var(--green)}
.pv-reply-img-btn.on{border-color:var(--green);color:var(--green)}
.pv-reply-img-preview{position:relative;display:inline-flex;margin-top:9px}
.pv-reply-img-preview img{max-width:120px;max-height:120px;border-radius:10px;display:block}
/* [6] momya.css 와 동일 유지 — momya-module img 와의 명시도 동률 문제를 확실히 피한다 */
.momya-comment .pv-reply-img-preview img{max-width:120px;max-height:120px;border-radius:10px;display:block}
.pv-reply-img-del{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;background:var(--black);color:#fff;border:2px solid #fff;cursor:pointer;font-size:var(--fs-caption);line-height:1;display:flex;align-items:center;justify-content:center;padding:0}

/* ── 댓글 작성 닉네임 (momya.css 와 동일 유지) ── */
.pv-reply-meta{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.pv-reply-nick{flex:1;border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 12px;font-family:inherit;font-size:var(--fs-label);outline:none;background:#fff;color:var(--text);min-width:0;transition:border-color .15s}
.pv-reply-nick:focus{border-color:var(--green)}
.pv-reply-nick[readonly]{background:#fff;color:var(--text-2);cursor:default}
.pv-reply-nick-hint{font-size:var(--fs-micro);color:var(--text-3);display:flex;align-items:center;white-space:nowrap}

/* ── 댓글 액션(추천/비추천/답글쓰기) — 프로토타입 prototype.css 476~480, 562행 (momya.css 와 동일 유지) ── */
.pv-cmt-actions{display:flex;align-items:center;gap:14px;margin-top:11px}
.pv-cmt-act.cmt-reply{margin-left:auto;margin-right:12px}
.pv-cmt-act{display:flex;align-items:center;gap:4px;font-size:var(--fs-caption);line-height:1;color:var(--text-2);cursor:pointer;text-decoration:none}
.pv-cmt-act svg{width:16px;height:16px;display:block;flex-shrink:0}
.pv-cmt-act:hover{color:var(--green)}
.pv-cmt-act.on{color:var(--green)}
.pv-cmt-act-down:hover{color:var(--red)}
.pv-cmt-act-down.on{color:var(--red)}

/* ── 회원 등급 4단계 — 프로토타입 prototype.css 740~756행 (momya.css 와 동일 유지) ── */
.grade-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;line-height:1;letter-spacing:-.2px;flex-shrink:0;white-space:nowrap;vertical-align:middle;color:var(--text-2)}
/* [버그 수정, 2026-07-31, 재조사] momya.css 와 동일 유지 — 17px 에서 실제
   아이콘이 65%(11px)로 너무 작다는 재신고로 21px 로 확대. 상세 이유는 momya.css
   쪽 주석 참고. */
.grade-tag .grade-badge{font-style:normal;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;width:21px;height:21px;padding:0;border-radius:3px;font-size:11px;font-weight:700;line-height:1;margin-left:0;background:transparent}
.grade-tag .grade-badge::after{content:none}
/* [신규, 2026-07-31, 아이콘 업로드] momya.css 와 동일 유지.
   [버그 재수정, 2026-07-31, 모서리/꼬리 잘림] momya.css 와 동일 유지 — 상세
   이유(border-radius+overflow:hidden 은 object-fit 과 무관하게 항상 모서리를
   자른다, M(이미지 마진) >= R(라운딩)이면 안 잘리는 걸 코드로 확정)는 momya.css
   쪽 주석 참고. */
.grade-icon-img{width:calc(100% - 6px);height:calc(100% - 6px);object-fit:cover;display:block}
.grade-icon-emoji{display:inline-flex;align-items:center;justify-content:center;width:calc(100% - 6px);height:calc(100% - 6px);line-height:1}
.grade-tag.badge-only{gap:0}
.grade-tag.lg{font-size:12px;gap:4px}
/* [버그 수정, 2026-07-31] momya.css 와 동일 유지 — min-width만 있고 width가
   없으면 flex 컨테이너 너비가 내용 기준이 돼 <img>의 원본 크기가 그대로
   드러나 늘어져 보이는 문제(실사고, 게시판 목록). width 명시로 수정. */
.grade-tag.lg .grade-badge{width:21px;height:21px;font-size:13px;border-radius:3px}
/* [버그 수정, 2026-07-31, 큰 배지 잘림] momya.css 와 동일 유지 — 상세 이유는
   momya.css 쪽 주석 참고(요약: cover 특성이 큰 사이즈에서 더 도드라져 보임,
   컨테이너 크기・padding 차이가 원인이 아님을 코드 대조로 확정). */
.grade-tag.lg .grade-icon-img{object-fit:contain}
.grade-tag.inline{margin-left:4px}
/* [갱신, 2026-07-31, 디자인 변경] momya.css 와 동일 유지 — 배지 색깔 사각 배경
   완전 제거, 투명 배경 위에 아이콘만. 상세 이유는 momya.css 쪽 주석 참고. */

/* ── 전체 글 보기 섹션 (momya.css 와 동일 유지) ── */
.pv-more-section{padding:22px 0 0;border-top:1px solid var(--border);border-top-color:var(--border-soft);margin-top:24px}
.pv-more-head{font-size:var(--fs-head);font-weight:700;color:var(--text);letter-spacing:-.3px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.pv-more-head-right{font-size:var(--fs-label);font-weight:500;color:var(--text-3);cursor:pointer}
.pv-more-head-right:hover{color:var(--green)}
.pv-more-head-right{text-decoration:none}
.pv-more-list{list-style:none}
.pv-more-item{display:flex;align-items:center;gap:10px;padding:12px 6px;cursor:pointer;border-radius:8px;transition:background .12s;min-height:80px}
.pv-more-item:last-child{border-bottom:none}
.pv-more-item:hover{background:var(--surface-2)}
.pv-more-badge{font-size:var(--fs-micro);font-weight:600;padding:3px 4px;border-radius:5px;white-space:nowrap;flex-shrink:0;margin-top:0;width:78px;text-align:center;box-sizing:border-box}
.pv-more-body{flex:1;min-width:0}
.pv-more-title{font-size:var(--fs-body);font-weight:600;color:var(--text);line-height:1.4;margin-bottom:4px;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-more-meta{font-size:var(--fs-caption);color:var(--text-3);display:flex;gap:8px}
.pv-more-thumb{width:56px;height:56px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.pv-more-thumb-empty{width:56px;height:56px;flex-shrink:0}
/* momya.css 와 동기화(check_css_sync.py 대상) — 320px 안팎에서 메타 span 이 개별적으로
   깨지는 대신 통째로 다음 줄로 넘어가게(2026-07-24 확정, momya.css 쪽 상세 사유 참고) */
@media(max-width:360px){
  .pv-more-meta{flex-wrap:wrap;row-gap:2px}
}
/* 320px 안팎: 제목에 122px밖에 안 남는 문제(2026-07-26 실측) — 배지 고정폭(78px)을
   풀고, 썸네일 없는 글은 빈 56px 자리를 아예 없애 제목 폭을 넓힌다. 390px 이상은
   프로토타입 설계 폭이라 유지([1]과 동일 389px 기준, 2026-07-27 확정) */
@media(max-width:389px){
  .pv-more-badge{width:auto}
  .pv-more-thumb-empty{width:0;display:none}
}
.pv-more-thumb img{width:100%;height:100%;object-fit:cover;display:block}
/* [2026-08-03 갱신] momya.css 와 동기화 — .pv-badge/.pv-more-badge(상단 뱃지+
   하단 "다른 공지사항/이벤트" 목록) 전부 초록 배경+흰 글씨로 통일. 이 파일이
   momya.css 보다 나중에 로드돼 명시도가 같으면 이 파일 값이 이기므로, momya.css
   만 고치고 여기를 빠뜨리면 화면엔 전혀 반영 안 된다(지난 라운드에 실제로
   check_css_sync.py 공통 선택자 수 감소로 이 누락을 잡아낸 적 있음 — 이번에도
   먼저 그 검사부터 돌려 동기화를 확인했다). */
.pv-badge.notice{background:var(--green);color:#fff}
.pv-badge.event{background:var(--green);color:#fff}
.pv-more-badge.notice{background:var(--green);color:#fff}
.pv-more-badge.event{background:var(--green);color:#fff}

/* ── 글상세 반응형 (body.is-post-view : momya.css 와 동일 유지) ──
   사이드바 220 + layout gap 10 + 배너 240 + content-inner gap 22 + main 좌우 패딩 40 = 532px.
   본문 720px 를 편하게 확보하려면 뷰포트가 1252px 는 돼야 한다는 계산(2026-07-21 [4] 진단)에
   따라 아래처럼 폭을 4단계로 접는다. 큰 요소부터 먼저 포기한다(배너 → 사이드바 → 본문 고정폭).
     1250px 초과 : 사이드바 O / 배너 O / 본문 720px 고정
     990~1250px  : 사이드바 O / 배너 숨김 / 본문 720px 고정
     760~989px   : 사이드바 숨김 / 배너 숨김 / 본문 720px 고정
     721~759px   : 사이드바 숨김 / 배너 숨김 / 본문 유동(최대 720px)
     720px 이하  : 전체화면 모드(별도 블록, 기존 그대로)
   전부 is-post-view 한정 (momya.css 와 동일 유지) */
@media(max-width:1250px){
  .is-post-view .content-inner.board-mode .banner-col{display:none}
}
@media(max-width:989px){
  .is-post-view .sidebar{display:none}
}
@media(min-width:761px){
  .is-post-view .content-inner.board-mode .feed-col{max-width:720px;margin-left:auto;margin-right:auto}
}
@media(min-width:721px) and (max-width:760px){
  .is-post-view .content-inner.board-mode .feed-col{width:100%;max-width:720px;margin-left:0;margin-right:0}
}
/* 모바일(720px 이하) : 글로벌 헤더·좌측 카테고리·우측 배너를 모두 숨기고 pv-bar 만 상단 고정
   (좌측 카테고리는 사이트 전역 규칙이 이미 숨김. 여기서는 배너만 추가로 숨긴다) */
@media(max-width:720px){
  .is-post-view header{display:none}
  .is-post-view .content-inner.board-mode .banner-col{display:none}
  /* momya.css 와 동일 유지 — 여기가 board.momya.css 라 마지막에 로드돼 이 값이 항상 이긴다.
     momya.css 만 고치고 여기를 안 고쳐서 -14px(구값)이 계속 살아남았던 게
     "가장자리 문제 재발"의 실제 원인이었다(2026-07-22 전수 감사로 발견) */
  .is-post-view .momya-read .pv-bar{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--border);margin:-13px 0 0;padding:0}
  .is-post-view .momya-read .pv-bar-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:11px 16px}

  /* [3] 터치 영역 44x44 확보 (momya.css 와 동일 유지) */
  .is-post-view .pv-bar-inner .pv-back,
  .is-post-view .pv-bar-inner .pv-share,
  .is-post-view .pv-bar-inner .pv-report-btn,
  .is-post-view .pv-bar-inner .pv-save-btn{position:relative}
  .is-post-view .pv-bar-inner .pv-back::before,
  .is-post-view .pv-bar-inner .pv-share::before,
  .is-post-view .pv-bar-inner .pv-report-btn::before,
  .is-post-view .pv-bar-inner .pv-save-btn::before{content:'';position:absolute;inset:-3px}
  .is-post-view .pv-bar-inner .cmt-menu-btn{position:relative}
  .is-post-view .pv-bar-inner .cmt-menu-btn::before{content:'';position:absolute;inset:-10px}
}

/* ===== MOMYA 최종 확정 블록 v1 — 이 블록이 항상 마지막이어야 한다 ===== */

/* 좌우 기준선 통일: 헤더 아이콘·본문·댓글이 모두 같은 선.
   .pv-more-section(전체 글 보기)은 .momya-read 가 이미 닫힌 뒤에 나오는 형제 블록이라
   .momya-read 로 못 묶는다 — body 에 항상 붙는 .is-post-view 로 스코프해
   같은 규칙 하나로 묶는다(전수 감사 결과 이 방식이 "공통 규칙"에 맞다, 2026-07-22) */
.momya-read .pv-bar-inner,
.momya-read .pv-inner,
.momya-comment .pv-inner,
.is-post-view .pv-more-section{
  max-width:720px; margin-left:auto; margin-right:auto;
  padding-left:18px; padding-right:18px;
}
.momya-read .pv-bar-inner .pv-report-btn,
.momya-read .pv-bar-inner .pv-share,
.momya-read .pv-bar-inner .pv-save-btn,
.momya-read .pv-bar-inner .cmt-menu-wrap{ margin-right:0; }
/* .pv-back 도 momya.css:413/board.momya.css:388 에 legacy margin-left:-8px 가 남아있어
   PC·모바일 공히 기준선보다 8px 왼쪽(화면 밖 방향)으로 붙어 있었다(2026-07-22 실측 확인).
   지난 라운드 main 패딩 변경과는 무관한 훨씬 이전부터의 별개 버그 — 우측 아이콘들과
   같은 시기에 같이 리셋됐어야 했는데 빠져 있었다 */
.momya-read .pv-bar-inner .pv-back{ margin-left:0; }
/* momya.css:426 의 스코프 없는 bare .pv-inner{padding:20px 18px 60px} 가
   .momya-comment .pv-inner 에도 그대로 새어 들어온다(위 규칙은 좌우만 덮어씀).
   댓글 섹션은 위아래 패딩을 pv-cmt-head/momya-comment 자체 여백으로 이미 관리하므로 0으로 막는다.
   .momya-read .pv-inner 는 자체 padding-top:20px/bottom:8px 이 필요해 여기 포함시키지 않는다 */
.momya-comment .pv-inner{ padding-top:0; padding-bottom:0; }

/* 카테고리 배지 → 제목 → 닉네임 간격 */
.momya-read .pv-badge{ margin-top:0; margin-bottom:8px; }
.momya-read .pv-title{ margin-top:0; margin-bottom:8px; }
.momya-read .pv-author{ margin-top:0; margin-bottom:18px; border-bottom:none; }

/* 본문 줄 간격 */
/* 우측 여유 16px — 댓글(.pv-cmt-txt)과 동일 값. 본문은 <p>/이미지가 이 컨테이너 안에서
   함께 줄어드는 쪽이 자연스럽다(댓글처럼 텍스트만 따로 inset 하면 이미지가 더 넓게
   삐져나와 어색해진다 — 이 프로젝트에 풀블리드 이미지 패턴이 없어서 그렇다) */
.momya-read .pv-body{ line-height:1.7; margin-top:0; margin-bottom:32px; padding-right:16px; }
.momya-read .pv-body .xe_content,
.momya-read .pv-body .rhymix_content{ line-height:1.7; font-size:inherit; }
/* [줄 간격 fallback 확정] Enter(문단 분리)로 쓴 글이 Shift+Enter(<br>)로 쓴 글보다 넓어
   보였다 — line-height 는 둘 다 27.2px(모바일 실측, free/14211 vs ss/10443)로 동일했고
   차이는 문단 사이 margin-bottom:4px 뿐이었다(<br> 는 애초에 margin 이 안 붙는다).
   버튼을 안 눌러도 항상 "같은 화면"이어야 한다는 요구라 문단 margin 을 0으로 없애 <br>
   과 리듬을 맞춘다 — 여러 문단 붙여쓰기와 줄바꿈이 시각적으로 구분 안 되는 트레이드오프는
   있음(design 결정 필요시 재검토) */
.momya-read .pv-body p{ margin:0; line-height:1.7; }
.momya-read .pv-body br{ line-height:1.7; }

/* 추천·비추천 줄과 아래 구분선 간격 */
.momya-read .pv-vote-row{ padding:2px 0 6px; margin-bottom:0; }
.momya-comment .pv-cmt-head{ padding-top:22px; margin-top:0; }

/* 댓글 이미지: 작게 보여주고 클릭하면 확대 */
.momya-comment .pv-cmt-img img{
  max-width:140px; max-height:140px; width:auto; height:auto;
  border-radius:10px; border:none; cursor:zoom-in; object-fit:cover;
}

/* 댓글 입력: 닉네임 힌트를 입력칸 바로 옆에 */
.momya-comment .pv-reply-meta{
  display:flex; align-items:center; gap:10px; flex-wrap:nowrap;
}
.momya-comment .pv-reply-meta .pv-reply-nick{ flex:0 0 auto; width:140px; }
.momya-comment .pv-reply-meta .pv-reply-nick-hint{
  flex:0 1 auto; margin-left:0; white-space:nowrap;
}
/* 로그인 상태 닉네임 행 좁은 폭 대응(2026-07-26 실기기 확정 원인 — nick 140px 고정 +
   힌트 nowrap 이 합쳐서 약 319px 필요한데 모바일 컨테이너(.pv-inner 16px + 답글폼
   패딩 10~12px)를 빼면 371~375px 미만에서 뚫고 나간다. 390px 이상은 현재 한 줄
   배치 유지 요건이라 그보다 좁은 389px 이하만 줄바꿈 허용으로 좁힌다.
   이 선택자(.momya-comment .pv-reply-meta)는 인라인 답글(.pv-inline-reply 안)에도
   그대로 적용되므로 답글 폼도 같이 처리된다 — 깊이(들여쓰기)와 무관.
   [2026-07-24] .momya-write 쪽 선택자는 뺐다 — 글쓰기 화면 닉네임 행이
   pv-reply-meta 재사용에서 프로토타입 전용 클래스(.nick-card/.nick-inner/
   .nick-input/.nick-hint, momya.css 955~1043행)로 교체돼 더 이상 이 규칙을
   안 쓴다(잘못된 클래스 재사용을 프로토타입 원본 클래스로 정정) */
@media(max-width:389px){
  .momya-comment .pv-reply-meta{ flex-wrap:wrap; row-gap:4px; }
  .momya-comment .pv-reply-meta .pv-reply-nick-hint{ white-space:normal; flex:1 1 100%; }
}

/* ── 모바일 (720px 이하) ── */
@media (max-width:720px){
  .momya-read .pv-bar-inner,
  .momya-read .pv-inner,
  .momya-comment .pv-inner,
  .is-post-view .pv-more-section{ padding-left:16px; padding-right:16px; }

  /* 답글 표시는 28px 만 들여쓰고, 답글 입력 폼은 깊이와 무관하게 댓글 입력 폼과 같은 폭 유지.
     -43px 은 아바타(32)+gap(11) 상쇄값으로 데스크톱과 동일(둘 다 안 바뀜),
     -71px 은 .is-reply 안에 중첩된 답글 폼 몫(32+11+28) */
  .momya-comment .pv-cmt.is-reply{ padding-left:28px; }
  .momya-comment .pv-cmt.is-reply .pv-inline-reply{ margin-left:-71px; }

  /* 모바일 글자 크기 */
  .momya-read .pv-title{ font-size:19px; }
  .momya-read .pv-body,
  .momya-read .pv-body p{ font-size:16px; line-height:1.7; }
  .momya-comment .pv-cmt-txt{ font-size:16px; }

  .momya-comment .pv-cmt-img img{ max-width:120px; max-height:120px; }

  /* 본문에 삽입된 표가 화면 폭을 넘기지 않도록 표 자체를 스크롤 컨테이너로 만든다.
     셀 구조(tr/td)는 그대로 두고 표 요소에만 적용 */
  .momya-read .pv-body table{ display:block; overflow-x:auto; max-width:100%; }
}
/* ===== 최종 확정 블록 끝 ===== */
