/* ═══ RUNIN.KR 기록랭킹 /records/ — World Marathon Majors 디자인(wm- · 지면 고유 wmb-) · 2026-10-05 · 클로드B ═══
   규칙 한 장 : https://idc.kr/_claude/RUNIN_WMM_DESIGN.txt (v3.1) · 실측 : WMM_대회목록_실측_20261005.txt 9-1·11장
   짝 PHP : themes/runin/inc/wmb-records.php (출력 버퍼에서 뼈대를 새로 짠다 — 옛 CSS 는 이 지면에서 전부 걷힌다)
   🔴 이 파일은 홈 wmm.css(A) «뒤에» 실린다. 홈 부품(.wm-sec .wm-chip .wm-tbl .wm-btn …)은 다시 정의하지 않고,
      /records/ 전용과 «옛 마크업이 기대던 기능 규칙»만 둔다. 선택자는 전부 body.wmb-recp 아래 — 홈·대회일정과 섞이지 않게.
   🔴 값은 홈 wmm.css 의 .wm { --wm-* } 를 그대로 쓴다(A(16) — tokens.css 에 두 번째 자리를 두지 않는다).
   🔴 글자는 완전 검정(--wm-ink). 회색 글자 금지. 남색(--wm-navy) = 고른 것·주 단추 · 빨강(--wm-hot) = 이 지면엔 쓸 곳 없음.
   🔴 :has() 는 쓰지 않는다(A 와 같음) — 고름은 서버가 붙인 is-on / aria-current.
   🔴 rec-* 이름은 records.js(칩 누르면 #rec-live 속 갈아 끼우기)가 잡는다 — 이름을 바꾸지 말고 여기서 모양만 준다.
   🔴 rw-* 는 A winners.php 원료(A(15)·A(16) 「원료로 다시 그려도 된다」) · .rw-cards → .rwx 는 A riwc-js 가 만드는 넘김 틀. */

/* ═══ 0. 기능 규칙 — 옛 CSS(app.css·utmb.css·rw-css·riwc-css)를 걷으면서 «빠지면 오류 없이 깨지는» 것 ═══ */

/* 화면낭독기 전용 글 — 빠지면 「선택됨」 같은 숨은 글이 화면에 다 보인다 (A wmm-find.css 0장과 같은 값) */
body.wmb-recp .ri-sr, body.wmb-recp .screen-reader-text, body.wmb-recp .rec-say { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; border: 0; }
/* 아이콘(sprite <use>) — 크기를 안 주면 svg 기본 300×150 으로 줄이 터진다 */
body.wmb-recp svg.ri-i { width: 1em; height: 1em; flex: none; vertical-align: -.125em; }
/* 숨김 — display 를 준 규칙이 [hidden] 을 이기면 숨은 우승자 카드·판이 한꺼번에 열린다. 반드시 짝으로 */
body.wmb-recp .rw-c[hidden], body.wmb-recp .rw-pane[hidden] { display: none !important; }
/* A 우승자 탭 띠·판(.rw-bar · #rw-board.rw--top) — 라이브에서도 이 지면에선 숨긴다(utmb.css body.page-id-2893 …) · 같은 모양 그대로 */
body.wmb-recp .rw-bar, body.wmb-recp .rw.rw--top { display: none !important; }
/* 스크롤 통 안의 absolute 숨김 글이 폰 가로 넘침을 만들지 않게 — 통이 기준이 된다 */
body.wmb-recp .rec-scroll, body.wmb-recp .rw-cards { position: relative; }
/* 알림 모달(app.js 가 is-open·hidden 을 함께 바꾼다) — A /find/ 와 같은 값 */
body.wmb-recp .ri-modal { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(0,0,30,.6); }
body.wmb-recp .ri-modal.is-open { display: flex; }
body.wmb-recp .ri-modal[hidden] { display: none; }
body.wmb-recp .ri-modal__panel { max-height: 90vh; overflow-y: auto; }
body.wmb-recp .ri-modal__head h2 { padding-right: 3.5rem; font-size: 1.6875rem; line-height: 1.22; font-weight: 900; font-style: italic; text-transform: uppercase; }
body.wmb-recp .ri-modal .wm-dlg__x { display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--wm-ink); }
body.wmb-recp .ri-modal .wm-dlg__x svg { width: 1.25rem; height: 1.25rem; }
body.wmb-recp .ri-modal__note { margin-top: .75rem; font-size: .9375rem; }
body.wmb-recp .ri-modal .ri-mailform { margin-top: 1.25rem; }
body.wmb-recp .ri-modal .ri-mailform__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; align-items: end; }
/* 메뉴 «지금 여기» — A /find/ 와 같은 꼴 */
body.wmb-recp .wm-nav li a[aria-current="page"] { font-weight: 800; }
body.wmb-recp .wm-nav li a[aria-current="page"]::after { transform: none; }
body.wmb-recp .wm-dlg--nav a[aria-current="page"] { color: var(--wm-navy); }

/* ═══ 1. 섹션 — 흰 / 옅은 회색 띠를 번갈아 화면 끝까지 (WMM 홈 구획) ═══
   첫 섹션(랭킹) 흰 바탕 → 지난주 우승자 회색 → 우승자 사진 흰 → 의견 회색 → 맨 밑(바로가기·사진 출처) 흰
   🔴 사장님 10-05 「기록랭킹이 먼저 보이게 · 섹션도 첫번째 구분해서」 — 첫 섹션은 아래 2px 검정 줄로 한 번 더 끊는다 */
body.wmb-recp .wmb-sec { background: var(--wm-bg); }
body.wmb-recp .wmb-sec.wmb-alt { background: var(--wm-page); }
body.wmb-recp .wmb-sec--rank { border-bottom: 2px solid var(--wm-navy); }
body.wmb-recp .wmb-sec > .ri-wrap { max-width: none; margin: 0; padding: 0; }
body.wmb-recp .wmb-sec--foot { padding-top: 2.5rem; padding-bottom: 2.5rem; }

/* 지면 제목 h1 — 48 · 900 기울임 대문자(.wm-h2 꼴 · WMM 실측 11장 「지면 제목 48/48」) */
body.wmb-recp .wmb-h1 { line-height: 1; }
body.wmb-recp .wmb-sec--rank > .wm-sec__hd { margin-bottom: 2rem; }

/* ═══ 2. 첫 섹션 — 랭킹 (#rec-live) ═══ */

/* 갈래 탭(국내·세계·트레일·청소년부) — 칩보다 한 단 위 : 굵은 기울임 글자 + 고르면 남색 4px 밑줄 · 밑에 1px 줄 */
body.wmb-recp .rec-tabs { margin: 0; border-bottom: 1px solid var(--wm-line); }
body.wmb-recp .wmb-tabs { display: flex; gap: 0 2.25rem; overflow-x: auto; scrollbar-width: none; }
body.wmb-recp .wmb-tabs::-webkit-scrollbar { display: none; }
body.wmb-recp .rec-tabs__li { flex: none; }
body.wmb-recp .wmb-tab { position: relative; display: inline-flex; align-items: center; gap: .5rem; padding: .9rem 0 1rem; font-size: 1.25rem; line-height: 1.2; font-weight: 900; font-style: italic; text-transform: uppercase; color: var(--wm-ink); white-space: nowrap; }
body.wmb-recp .wmb-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 4px; background: transparent; }
body.wmb-recp .wmb-tab:hover::after { background: var(--wm-silver); }
body.wmb-recp .wmb-tab.is-on::after, body.wmb-recp .wmb-tab[aria-current="page"]::after { background: var(--wm-navy); }
body.wmb-recp .wmb-tab.is-on, body.wmb-recp .wmb-tab[aria-current="page"] { color: var(--wm-navy); }
body.wmb-recp .wmb-tab .rec-tabs__i { width: 1.1em; height: 1.1em; }

/* 표 머리 — 제목(27.2 · .wm-hs) → 보기 칩 → 곧바로 표. 설명·기준 줄·계산법은 표 «밑» .wmb-notes (PHP 가 옮긴다)
   사장님 10-05 밤 「주석글들이 넘 많아서 랭킹 포인트가 눈에 딱 안 들어오니까 맨 밑으로」 */
body.wmb-recp .rec-panel { container-type: inline-size; container-name: wmbrec; }
body.wmb-recp .rec-panel > .nc-h2 { margin: 2.5rem 0 0; }
body.wmb-recp .rec-panel .nc-h2__more { font-size: .875rem; font-weight: 800; font-style: italic; text-decoration: underline; text-underline-offset: 3px; }
body.wmb-recp .rec-chips { margin: 1.5rem 0 0; }
body.wmb-recp .rec-chips + .rec-chips { margin-top: .75rem; }
body.wmb-recp .rec-chips .wm-chip svg.ri-i { width: 1.05em; height: 1.05em; }
body.wmb-recp .rec-chips .wm-chip > .wm-chip__t > span { white-space: nowrap; }
body.wmb-recp .rec-panel > .rec-scroll { margin-top: 1.75rem; }
/* 표 밑 설명 묶음 — 작은 글(14) · 위 1px 줄로 표와 가른다 · 기준 줄만 남색 막대(어느 날 기준인지가 먼저 보이게) */
body.wmb-recp .wmb-notes { max-width: 90ch; margin: 1.75rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--wm-line); }
body.wmb-recp .wmb-notes > * { max-width: none; margin: 0 0 .6rem; font-size: .875rem; line-height: 1.6; font-weight: 500; color: var(--wm-ink); }
body.wmb-recp .wmb-notes > *:last-child { margin-bottom: 0; }
body.wmb-recp .wmb-notes > .rec-stamp { padding-left: .6rem; border-left: 3px solid var(--wm-navy); line-height: 1.3; font-weight: 700; }
body.wmb-recp .p-sub { font-size: .875rem; font-weight: 500; }

/* 표 = 홈 .wm-tbl 그대로 + 이 지면 몫 (숫자 칸 오른쪽 · 선수 이름 · 왕관 · 오르내림) */
body.wmb-recp .rec-scroll { margin: 0 0 1rem; -webkit-overflow-scrolling: touch; }
body.wmb-recp .rec-scroll > table { min-width: 100%; }
body.wmb-recp .wm-tbl tbody th { font-weight: 800; }
/* 줄 높이 — 60줄 표라 WMM 표 실측(9-1 「줄 높이 37px · 안쪽 10px」)으로 조인다. 홈 .wm-tbl(.85rem)은 5줄짜리라 그대로 둔다.
   10-05 시험 : .85rem + 종목 줄바꿈이면 줄 66px · 표 4,000px 넘음(옛 지면의 1.7배) → 10px + 종목을 기록 옆으로 = 줄 41px */
body.wmb-recp .rec-tbl.wm-tbl :is(th, td) { padding: .625rem .75rem; }
body.wmb-recp .wm-tbl a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.wmb-recp .wm-tbl a:hover { color: var(--wm-navy); }
body.wmb-recp .rec-time { font-variant-numeric: tabular-nums; font-weight: 700; }
body.wmb-recp .rec-pt td:nth-child(n+5), body.wmb-recp .rec-pt thead th:nth-child(n+5) { text-align: right; font-variant-numeric: tabular-nums; }
body.wmb-recp .rec-pt .rec-pt__b b { font-weight: 800; font-variant-numeric: tabular-nums; }
body.wmb-recp .rec-pt .rec-pt__r { max-width: 18rem; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rec-pt .rec-pt__w { font-weight: 800; }
body.wmb-recp .rec-pt .rec-pt__n b { font-size: 1.125rem; font-weight: 900; font-style: italic; font-variant-numeric: tabular-nums; }

/* ── 표 속 배지 · 아이콘 · 포인트 색 — 사장님 10-05 밤 「상승·NEW 등은 전부 다른 아이콘·컬러·왕관 등으로 · 메인·대회일정처럼」
   꼴은 홈 .wm-st(상태 배지 : -16° 기운 상자 · 12 · 800 기울임)와 대회일정 거리 배지(코스 색 --wm-c-*) 그대로.
   PHP(runin_wmb_badges)가 단 이름 : td.wmb-rk--1/2/3 · span.wmb-rk__n · span.wmb-mv(+ .wmb-mv__t) · span.wmb-ev--full/half/ten/trail/ultra/five
   🔵 메달 색 셋은 이 지면 몫(--wmb-*) — 금 = 홈 울트라 노랑 · 은 = 홈 --wm-silver · 동만 새 값(A 님께 판으로 알림) */
body.wmb-recp { --wmb-gold: var(--wm-c-ultra); --wmb-silver: var(--wm-silver); --wmb-bronze: #d99a5b; }
/* 순위 숫자 — 홈 랭킹(.wm-rk__n)처럼 남색 900 기울임 */
body.wmb-recp .rec-rank { white-space: nowrap; font-variant-numeric: tabular-nums; }
body.wmb-recp .wmb-rk__n { font-size: 1.125rem; line-height: 1; font-weight: 900; font-style: italic; color: var(--wm-navy); }
/* 4·5위 왕관(선) — 남색 · 6위 밑은 빈 자리만 지킨다(숫자 줄 맞춤) */
body.wmb-recp .rec-pt .rec-pt__crownwrap { display: inline-block; line-height: 0; margin-right: .4rem; vertical-align: -.1em; color: var(--wm-navy); }
body.wmb-recp .rec-pt .rec-pt__crown { width: 1.05em; height: 1.05em; }
body.wmb-recp .rec-pt .rec-pt__crown.is-off { display: inline-block; margin-right: .4rem; visibility: hidden; }
/* 1·2·3위 — 금·은·동 메달 배지(기운 상자) 안에 «꽉 찬 왕관» + 숫자. 선 왕관(스프라이트)은 칠할 수 없어(path fill="none") 감추고 마스크 그림으로 */
body.wmb-recp .wmb-rk .rec-pt__crownwrap { display: none; }
body.wmb-recp .wmb-rk .wmb-rk__n { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: .3rem; padding: .32rem .7rem .32rem .55rem; color: var(--wm-ink); font-size: 1rem; }
body.wmb-recp .wmb-rk .wmb-rk__n::after { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wmb-medal); }
body.wmb-recp .wmb-rk .wmb-rk__n::before { content: ""; flex: none; width: 1.05em; height: 1.05em; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.4 7.2l5.2 4.6L12 3.6l4.4 8.2 5.2-4.6L19.6 17.6H4.4z'/%3E%3Cpath d='M4.4 19.2h15.2v2.4H4.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.4 7.2l5.2 4.6L12 3.6l4.4 8.2 5.2-4.6L19.6 17.6H4.4z'/%3E%3Cpath d='M4.4 19.2h15.2v2.4H4.4z'/%3E%3C/svg%3E") center / contain no-repeat; }
body.wmb-recp .wmb-rk--1 { --wmb-medal: var(--wmb-gold); }
body.wmb-recp .wmb-rk--2 { --wmb-medal: var(--wmb-silver); }
body.wmb-recp .wmb-rk--3 { --wmb-medal: var(--wmb-bronze); }
/* 1위·2위·3위 열 머리에도 같은 메달 색 작은 기운 네모 */
body.wmb-recp .rec-pt thead th:nth-child(6)::before, body.wmb-recp .rec-pt thead th:nth-child(7)::before, body.wmb-recp .rec-pt thead th:nth-child(8)::before { content: ""; display: inline-block; width: .6rem; height: .6rem; margin-right: .35rem; transform: skew(-16deg); background: var(--wmb-medal); vertical-align: .05em; }
body.wmb-recp .rec-pt thead th:nth-child(6) { --wmb-medal: var(--wmb-gold); }
body.wmb-recp .rec-pt thead th:nth-child(7) { --wmb-medal: var(--wmb-silver); }
body.wmb-recp .rec-pt thead th:nth-child(8) { --wmb-medal: var(--wmb-bronze); }
/* 오르내림 — ▲ 남색 배지 + 위 화살표 · ▼ 검정 테두리 배지 + 아래 화살표 · NEW 빨강 배지(메뉴 NEW 와 같은 꼴) · 그 밖 연회색 */
body.wmb-recp .rec-pt .rec-pt__mv.wmb-mv { position: relative; isolation: isolate; display: inline-flex; align-items: center; min-width: 0; margin-right: .55rem; padding: .28rem .5rem; font-size: .6875rem; line-height: 1; font-weight: 800; font-style: italic; letter-spacing: .02em; vertical-align: .15em; color: var(--wm-ink); }
body.wmb-recp .wmb-mv::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-chip); }
body.wmb-recp .wmb-mv__t { display: inline-flex; align-items: center; gap: .2rem; }
body.wmb-recp .rec-pt .wmb-mv.is-up { color: #fff; }
body.wmb-recp .wmb-mv.is-up::before { background: var(--wm-navy); }
body.wmb-recp .wmb-mv.is-down::before { background: #fff; box-shadow: inset 0 0 0 1.5px var(--wm-navy); }
body.wmb-recp .rec-pt .wmb-mv.is-new { color: #fff; }
body.wmb-recp .wmb-mv.is-new::before { background: var(--wm-hot); }
body.wmb-recp .wmb-mv.is-up .wmb-mv__t::before, body.wmb-recp .wmb-mv.is-down .wmb-mv__t::before { content: ""; flex: none; width: .75em; height: .75em; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l9.5 16h-19z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l9.5 16h-19z'/%3E%3C/svg%3E") center / contain no-repeat; }
body.wmb-recp .wmb-mv.is-down .wmb-mv__t::before { transform: rotate(180deg); }
/* 종목 — 코스 색 기운 배지(대회일정 거리 배지와 같은 꼴 · 풀만 흰 글자) */
body.wmb-recp .rec-tbl.wm-tbl .wmb-ev { position: relative; isolation: isolate; display: inline-block; margin-left: .55rem; padding: .22rem .5rem; font-size: .6875rem; line-height: 1; font-weight: 800; font-style: italic; color: var(--wm-ink); vertical-align: .15em; white-space: nowrap; }
body.wmb-recp .wmb-ev::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-chip); }
body.wmb-recp .rec-tbl.wm-tbl .wmb-ev--full { color: #fff; }
body.wmb-recp .wmb-ev--full::before { background: var(--wm-c-full); }
body.wmb-recp .wmb-ev--half::before { background: var(--wm-c-half); }
body.wmb-recp .wmb-ev--ten::before { background: var(--wm-c-10k); }
body.wmb-recp .wmb-ev--trail::before { background: var(--wm-c-trail); }
body.wmb-recp .wmb-ev--ultra::before { background: var(--wm-c-ultra); }
body.wmb-recp .rank-tbl .rec-pt__n2 { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.wmb-recp .rank-tbl .rec-pt__rk { margin-left: .3em; font-size: .82em; font-weight: 800; color: var(--wm-navy); }
/* 선수 얼굴(다른 보기 · 재사용이 허락된 사진만 — 위키 공용 등) */
body.wmb-recp .rec-ath { display: inline-flex; align-items: center; gap: .5rem; }
body.wmb-recp .rec-ath b { white-space: nowrap; }
body.wmb-recp img.rec-face { display: inline-block; width: 2rem; height: 2rem; border-radius: 50%; object-fit: cover; flex: none; background: var(--wm-grey); }
body.wmb-recp .rec-age { margin-left: .25rem; font-size: .75rem; font-weight: 700; }
body.wmb-recp .team-src a { font-size: .75rem; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
body.wmb-recp .team-src .ri-i { width: .9em; height: .9em; }
/* 표 밑 「더 보기」 · 갈래 안 소제목(대회별 결과·선수 화면) */
body.wmb-recp .rec-more { margin: 1rem 0 0; font-size: .9375rem; font-weight: 800; font-style: italic; text-transform: uppercase; }
body.wmb-recp .rec-more a { text-decoration: underline; text-underline-offset: 3px; }
body.wmb-recp .rec-more a:hover { color: var(--wm-navy); }
body.wmb-recp .rec-h3 { margin: 3rem 0 1rem; padding-top: 1.5rem; border-top: 2px solid var(--wm-navy); font-size: 1.6875rem; line-height: 1.22; font-weight: 900; font-style: italic; text-transform: uppercase; }
body.wmb-recp .rec-course, body.wmb-recp .rec-dist { margin: 2rem 0 .75rem; padding-bottom: .5rem; border-bottom: 1px solid var(--wm-line); font-size: 1.125rem; line-height: 1.3; font-weight: 900; font-style: italic; }
body.wmb-recp .rec-h4 { margin: 1.25rem 0 .5rem; font-size: 1rem; font-weight: 800; }
body.wmb-recp .rec-why { display: block; margin-top: .25rem; font-size: .875rem; font-weight: 500; white-space: normal; }
body.wmb-recp .rec-vs thead th { text-align: center; }
body.wmb-recp .rec-vs__ev { text-align: left; font-weight: 800; }
body.wmb-recp .rec-vs__gap { font-weight: 800; white-space: nowrap; }
/* 좁은 칸에서는 보조 열을 접는다(옛 container recpanel 과 같은 문턱) */
@container wmbrec (max-width: 560px) { body.wmb-recp .rec-tbl .rec-c--sub { display: none; } }

/* ═══ 3. 지난주 우승자 (.rw--arc) — 주마다 묶음 + 카드 넘김(A riwc-js 가 .rw-cards 를 .rwx 로 만든다) ═══ */
body.wmb-recp .rw-hd__t span { margin-left: .5rem; font-size: 1rem; font-weight: 800; font-style: normal; }
body.wmb-recp .rw-hd__s a { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
body.wmb-recp .rw-hd__s a:hover { color: var(--wm-navy); }
body.wmb-recp .rw-grp { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem 1rem; margin: 2.5rem 0 1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--wm-line); }
body.wmb-recp .rw-wk:first-of-type .rw-grp { margin-top: 0; }
body.wmb-recp .rw-grp span { font-size: 1.25rem; line-height: 1.2; font-weight: 900; font-style: italic; text-transform: uppercase; }
body.wmb-recp .rw-grp b { font-size: .875rem; font-weight: 700; font-variant-numeric: tabular-nums; }
/* 스크립트 전(또는 못 돌 때) = 4칸 격자 · 돌면 .rwx = 넘김 틀(칸 폭은 스크립트가 잰다 · 사이 14px) */
body.wmb-recp .rw-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
/* 넘김 단추는 카드 «위» 묶음 머리 줄 오른쪽에 — 카드 위에 얹으면 첫 장 우승자 이름을 가린다(10-05 시험).
   overflow-x:clip + y:visible = 옆으로 넘친 카드는 자르고(가로 스크롤도 안 생김) 위로 올린 단추는 보인다. hidden 으로 되돌리면 단추가 잘린다 */
body.wmb-recp .rw-cards.rwx { display: block; overflow-x: clip; overflow-y: visible; }
body.wmb-recp .rw-wk .rw-grp { padding-right: 6rem; }
/* 카드 키는 «제 글만큼» — stretch 면 우승자가 많은 한 장에 맞춰 나머지 카드 가운데가 텅 빈다(10-05 시험) */
body.wmb-recp .rwx-track { display: flex; align-items: flex-start; transition: transform .45s var(--wm-ease); will-change: transform; }
body.wmb-recp .rwx-track > .rw-c { flex: 0 0 auto; cursor: pointer; }
body.wmb-recp .rw-cards.rwx-has .rwx-nav { position: absolute; top: -3.4rem; z-index: 3; display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; padding: 0; border: .125rem solid var(--wm-navy-bd); background: var(--wm-navy); color: #fff; font-size: 1.375rem; line-height: 1; }
body.wmb-recp .rw-cards.rwx-has .rwx-nav:hover { background: var(--wm-navy); }
body.wmb-recp .rw-cards.rwx-has .rwx-prev { right: 2.75rem; }
body.wmb-recp .rw-cards.rwx-has .rwx-next { right: 0; }
body.wmb-recp .rwx-dots { display: flex; justify-content: center; gap: .4rem; margin: 1rem 0 0; }
body.wmb-recp .rwx-dots i { display: block; width: .5rem; height: .5rem; background: var(--wm-silver); cursor: pointer; }
body.wmb-recp .rwx-dots i.on { width: 1.5rem; background: var(--wm-navy); }
/* 카드 한 장 — 흰 바탕 · 1px 줄 · 대회명 900 기울임 · 우승자 이름 800 · 기록 숫자 고른 폭 */
body.wmb-recp .rw-c { display: flex; flex-direction: column; min-width: 0; padding: 1.25rem 1.25rem 1rem; background: var(--wm-bg); border: 1px solid var(--wm-line); }
body.wmb-recp .rw-c:hover { border-color: var(--wm-navy); }
body.wmb-recp .rw-c__hd { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
body.wmb-recp .rw-c__ev { font-size: .8125rem; font-weight: 800; font-style: italic; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-c__d { flex: none; font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
body.wmb-recp .rw-c__r { margin: .5rem 0 .75rem; font-size: 1.125rem; line-height: 1.3; font-weight: 900; font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.wmb-recp .rw-c__p { margin: -.4rem 0 .75rem; font-size: .8125rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-c__ws { flex: 1; display: flex; flex-direction: column; gap: .6rem; }
body.wmb-recp .rw-w { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: .5rem; row-gap: 0; }
body.wmb-recp .rw-w__lb { grid-column: 1 / -1; font-size: .75rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-w__n { grid-column: 1; font-size: .9375rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-w__t { grid-column: 2; font-size: .9375rem; font-weight: 800; font-style: italic; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.wmb-recp .rw-w__c { grid-column: 1 / -1; font-size: .75rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-w--more { font-size: .8125rem; }
body.wmb-recp .rw-w__a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.wmb-recp .rw-w__a:hover { color: var(--wm-navy); }
body.wmb-recp .rw-c__n { margin: .75rem 0 0; padding: .4rem .6rem; background: var(--wm-page); font-size: .75rem; line-height: 1.5; font-weight: 500; }
body.wmb-recp .rw-c__ft { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .75rem; padding-top: .6rem; border-top: 1px solid var(--wm-line); }
body.wmb-recp .rw-c__sc { flex: none; padding: .1rem .5rem; background: var(--wm-chip); font-size: .75rem; font-weight: 700; }
body.wmb-recp .rw-c__src { font-size: .8125rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-c__src:hover { color: var(--wm-navy); }
body.wmb-recp .rw-c__src--txt { font-weight: 500; text-decoration: none; }
body.wmb-recp .rw-none { padding: 1.5rem 0; font-size: .9375rem; }
body.wmb-recp .rw-more { margin: 1.5rem 0 0; font-size: .875rem; font-weight: 500; }

/* ═══ 3-2. 최근 대회 우승자 — 새 카드 (2026-10-05 밤 · 사장님 「전주 15일 전후까지만 · 새 디자인 카드로」) ═══
   PHP runin_wmb_recent() 가 winners.json 최근 15일치로 짓는다 : div.wmb-wg(주말 묶음) > .wmb-wg__hd + .wmb-rail(가로로 미는 줄) > article.wmb-wc
   꼴 : 홈 WMM 카드와 같은 말 — 흰 카드 · 위 4px 코스 색 띠(그 대회 가장 긴 코스) · 대회명 900 기울임 · 코스 색 기운 배지 · 기록 900 기울임
   🔵 넘김은 CSS 가로 스크롤(손가락·바퀴·키보드) + ‹ › 단추(한 화면씩). 자동 넘김 없음 → 멈춤 단추도 필요 없다 */
body.wmb-recp .wmb-sec--arc .wm-sec__sub a { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
body.wmb-recp .wmb-wg + .wmb-wg { margin-top: 3rem; }
body.wmb-recp .wmb-wg__hd { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 0 0 1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--wm-line); }
body.wmb-recp .wmb-wg__t { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem 1rem; }
body.wmb-recp .wmb-wg__t span { font-size: 1.375rem; line-height: 1.2; font-weight: 900; font-style: italic; }
body.wmb-recp .wmb-wg__t b { font-size: .875rem; font-weight: 700; font-variant-numeric: tabular-nums; }
body.wmb-recp .wmb-wg__arws { display: flex; gap: .5rem; flex: none; }
body.wmb-recp .wmb-arw { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; padding: 0; border: .125rem solid var(--wm-navy-bd); background: var(--wm-navy); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
body.wmb-recp .wmb-arw:hover { background: var(--wm-navy); }
/* 줄 — 한 화면 4장(≥1280) · 3장 · 2장 · 폰 1장+옆 장 살짝(넘길 수 있다는 표시) */
body.wmb-recp .wmb-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3rem) / 4); gap: 1rem; align-items: start; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding: .25rem 0 1rem; scrollbar-width: thin; scrollbar-color: var(--wm-silver) transparent; }
body.wmb-recp .wmb-rail::-webkit-scrollbar { height: 6px; }
body.wmb-recp .wmb-rail::-webkit-scrollbar-thumb { background: var(--wm-silver); }
/* 카드 */
body.wmb-recp .wmb-wc { scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0; padding: 1.25rem 1.25rem 1.1rem; background: var(--wm-bg); border-top: 4px solid var(--wmb-c, var(--wm-silver)); box-shadow: 0 0 0 1px var(--wm-line) inset; }
body.wmb-recp .wmb-wc--full { --wmb-c: var(--wm-c-full); }
body.wmb-recp .wmb-wc--half { --wmb-c: var(--wm-c-half); }
body.wmb-recp .wmb-wc--ten { --wmb-c: var(--wm-c-10k); }
body.wmb-recp .wmb-wc--trail { --wmb-c: var(--wm-c-trail); }
body.wmb-recp .wmb-wc--ultra { --wmb-c: var(--wm-c-ultra); }
body.wmb-recp .wmb-wc__k { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
body.wmb-recp .wmb-wc__d { font-size: .875rem; font-weight: 800; font-style: italic; font-variant-numeric: tabular-nums; }
body.wmb-recp .wmb-wc__sc { position: relative; isolation: isolate; padding: .2rem .5rem; font-size: .6875rem; line-height: 1; font-weight: 800; font-style: italic; }
body.wmb-recp .wmb-wc__sc::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-chip); }
body.wmb-recp .wmb-wc__r { margin: .6rem 0 0; font-size: 1.25rem; line-height: 1.3; font-weight: 900; font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.wmb-recp .wmb-wc__p { margin: .3rem 0 0; font-size: .8125rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .wmb-wc__ev { display: flex; flex-wrap: wrap; gap: .4rem .5rem; margin: .75rem 0 0; padding-left: .3rem; }
body.wmb-recp .wmb-wc__ev .wmb-ev { position: relative; isolation: isolate; display: inline-block; padding: .22rem .5rem; font-size: .6875rem; line-height: 1; font-weight: 800; font-style: italic; color: var(--wm-ink); white-space: nowrap; }
body.wmb-recp .wmb-wc__ev .wmb-ev--full { color: #fff; }
body.wmb-recp .wmb-wc__ws { margin: .9rem 0 0; border-top: 1px solid var(--wm-line); }
body.wmb-recp .wmb-wl { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: .75rem; padding: .55rem 0; border-bottom: 1px solid var(--wm-line); }
body.wmb-recp .wmb-wl__lb { grid-column: 1 / -1; font-size: .75rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .wmb-wl__n { grid-column: 1; min-width: 0; font-size: 1rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.wmb-recp .wmb-wl__n:hover { color: var(--wm-navy); }
body.wmb-recp .wmb-wl__t { grid-column: 2; font-size: 1rem; font-weight: 900; font-style: italic; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.wmb-recp .wmb-wl__c { grid-column: 1 / -1; font-size: .75rem; font-weight: 500; }
body.wmb-recp .wmb-wc__n { margin: .75rem 0 0; padding: .45rem .6rem; background: var(--wm-page); font-size: .75rem; line-height: 1.5; font-weight: 500; }
body.wmb-recp .wmb-wc__src { align-self: flex-start; margin-top: .9rem; font-size: .8125rem; font-weight: 800; font-style: italic; text-decoration: underline; text-underline-offset: 3px; }
body.wmb-recp .wmb-wc__src:hover { color: var(--wm-navy); }
@media (max-width: 1279px) { body.wmb-recp .wmb-rail { grid-auto-columns: calc((100% - 2rem) / 3); } }
@media (max-width: 991px) { body.wmb-recp .wmb-rail { grid-auto-columns: calc((100% - 1rem) / 2.15); } }
@media (max-width: 767px) {
	body.wmb-recp .wmb-rail { grid-auto-columns: 82%; margin-right: calc(-1 * var(--wm-gx)); padding-right: var(--wm-gx); }
	body.wmb-recp .wmb-wg__arws { display: none; }
	body.wmb-recp .wmb-wg__t span { font-size: 1.1875rem; }
}

/* ═══ 4. 우승자 사진 (.rw--pic) — 홈 사진 카드(.wm-pc)와 같은 결 : 사진 위 · 글 아래 · 옅은 바탕 ═══ */
body.wmb-recp .rw-pics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
body.wmb-recp .rw-p { margin: 0; background: var(--wm-page); overflow: hidden; }
body.wmb-recp .rw-p__f { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wm-grey); }
body.wmb-recp .rw-p__f img { width: 100%; height: 100%; object-fit: cover; }
body.wmb-recp .rw-p__c { display: block; padding: 1rem 1.25rem 1.25rem; }
body.wmb-recp .rw-p__c b { display: block; font-size: 1.125rem; line-height: 1.3; font-weight: 900; font-style: italic; }
body.wmb-recp .rw-p__c span { display: block; margin-top: .2rem; font-size: .875rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-p__c em { display: block; margin-top: .2rem; font-size: .9375rem; font-weight: 800; font-style: italic; font-variant-numeric: tabular-nums; }
body.wmb-recp .rw-p__c small { display: block; margin-top: .4rem; font-size: .75rem; line-height: 1.4; font-weight: 500; }
/* 4-2. 기록 카드(그림 대신 HTML) — PHP runin_wmb_piccards() 가 figure[data-wmb-pc] 로 표시한다 (2026-10-06)
   위 = 랭킹 기록(부문 칩 · 이름 900 기울임 · 기록 큰 숫자 · 대회·연도) / 아래 = 「우승」 대회·기록 (옛 캡션 그대로)
   꼴 : 최근 대회 우승자 카드(.wmb-wc)와 같은 말 — 흰 바탕 · 위 4px 코스 색 띠 · 기운 칩 */
body.wmb-recp .rw-p[data-wmb-pc] { display: flex; flex-direction: column; background: var(--wm-page); }
body.wmb-recp .wmb-pc__top { display: flex; flex-direction: column; align-items: flex-start; min-height: 12.5rem; padding: 1.25rem 1.25rem 1.1rem; background: var(--wm-bg); border-top: 4px solid var(--wmb-c, var(--wm-silver)); box-shadow: 0 0 0 1px var(--wm-line) inset; }
body.wmb-recp .wmb-pc--full { --wmb-c: var(--wm-c-full); }
body.wmb-recp .wmb-pc--half { --wmb-c: var(--wm-c-half); }
body.wmb-recp .wmb-pc--ten { --wmb-c: var(--wm-c-10k); }
body.wmb-recp .wmb-pc--trail { --wmb-c: var(--wm-c-trail); }
body.wmb-recp .wmb-pc__k { position: relative; isolation: isolate; margin-left: .3rem; padding: .25rem .55rem; font-size: .6875rem; line-height: 1; font-weight: 800; font-style: italic; white-space: nowrap; color: var(--wm-ink); }
body.wmb-recp .wmb-pc__k::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wmb-c, var(--wm-chip)); }
body.wmb-recp .wmb-pc--full .wmb-pc__k { color: #fff; }
body.wmb-recp .wmb-pc--five .wmb-pc__k::before, body.wmb-recp .wmb-pc--none .wmb-pc__k::before { background: var(--wm-chip); }
body.wmb-recp .wmb-pc__n { margin-top: auto; padding-top: 1rem; font-size: 1.75rem; line-height: 1.1; font-weight: 900; font-style: italic; overflow-wrap: anywhere; }
body.wmb-recp .wmb-pc__rec { margin-top: .35rem; font-size: 2.25rem; line-height: 1; font-weight: 900; font-style: italic; font-variant-numeric: tabular-nums; color: var(--wm-navy); }
body.wmb-recp .wmb-pc__m { max-width: 100%; margin-top: .55rem; font-size: .8125rem; line-height: 1.4; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.wmb-recp .rw-p[data-wmb-pc] .rw-p__c { position: relative; padding: .9rem 1.25rem 1.1rem; }
body.wmb-recp .rw-p[data-wmb-pc] .rw-p__c > b { display: none; }   /* 이름은 위 카드에 크게 있다 — 같은 글 두 번 안 보이게(글은 지면에 그대로 남는다) */
body.wmb-recp .wmb-pc__lb { display: inline-block; margin-bottom: .3rem; font-size: .75rem; font-weight: 900; font-style: italic; color: var(--wm-navy); }
body.wmb-recp .rw-p[data-wmb-pc] .rw-p__c > span:not(.wmb-pc__lb) { margin-top: 0; font-weight: 700; }
@media (max-width: 767px) {
	body.wmb-recp .wmb-pc__top { min-height: 10rem; }
	body.wmb-recp .wmb-pc__n { font-size: 1.5rem; }
	body.wmb-recp .wmb-pc__rec { font-size: 1.875rem; }
}

/* ═══ 5. 의견 (.rw--talk) — 로그인한 회원만 쓴다 · 단추는 홈 .wm-btn ═══ */
body.wmb-recp .rw-cms { display: flex; flex-direction: column; gap: .75rem; margin: 0 0 1.25rem; }
body.wmb-recp .rw-cm { padding: 1rem 1.25rem; background: var(--wm-bg); border: 1px solid var(--wm-line); }
body.wmb-recp .rw-cm--none { border: 1px dashed var(--wm-silver); font-size: .9375rem; }
body.wmb-recp .rw-cm__h { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem .75rem; margin-bottom: .3rem; }
body.wmb-recp .rw-cm__h b { font-size: .9375rem; font-weight: 800; }
body.wmb-recp .rw-cm__h span { font-size: .8125rem; font-variant-numeric: tabular-nums; }
body.wmb-recp .rw-cm__h em { font-size: .75rem; font-style: normal; }
body.wmb-recp .rw-cm__b { font-size: .9375rem; line-height: 1.7; }
body.wmb-recp .rw-cm__b p { margin: 0 0 .4rem; }
body.wmb-recp .rw-cm__b p:last-child { margin: 0; }
body.wmb-recp .rw-cf { padding: 1.5rem; background: var(--wm-bg); border: 1px solid var(--wm-line); }
body.wmb-recp .rw-cf--out p { margin: 0 0 1rem; font-size: .9375rem; line-height: 1.7; }
body.wmb-recp .rw-cf--out p:last-child { margin: 0; display: flex; flex-wrap: wrap; gap: .75rem 1rem; }
body.wmb-recp .rw-cf__who { margin-bottom: .5rem; font-size: .875rem; font-weight: 700; }
body.wmb-recp .rw-cf textarea { width: 100%; padding: .75rem 1rem; border: 1px solid var(--wm-field); border-radius: 0; background: #fff; color: var(--wm-ink); font: inherit; font-size: .9375rem; line-height: 1.6; resize: vertical; }
body.wmb-recp .rw-cf__f { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
body.wmb-recp .rw-cf__f span { font-size: .8125rem; }

/* ═══ 6. 맨 밑 — 이어서 볼 곳 · 사진 출처 ═══ */
body.wmb-recp .rec-exits { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 0 0 2rem; }
body.wmb-recp .rec-exits a { font-size: 1rem; font-weight: 800; font-style: italic; text-transform: uppercase; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
body.wmb-recp .rec-exits a:hover { color: var(--wm-navy); }
body.wmb-recp .rec-notes h3 { margin: 0 0 .5rem; font-size: 1.25rem; line-height: 1.2; font-weight: 900; font-style: italic; text-transform: uppercase; }
body.wmb-recp .rec-notes p { max-width: 80ch; font-size: .875rem; line-height: 1.6; }
body.wmb-recp .rec-notes ul { max-height: 8.25rem; overflow: auto; margin: .75rem 0 0; padding: .6rem 1rem; border: 1px solid var(--wm-line); }
body.wmb-recp .rec-notes li { margin: .1rem 0; font-size: .8125rem; line-height: 1.5; }

/* ═══ 7. 화면 폭 (A wmm.css 와 같은 문턱 1279 · 991 · 767 · 479) ═══ */
@media (max-width: 1279px) {
	body.wmb-recp .rw-cards, body.wmb-recp .rw-pics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
	body.wmb-recp .wmb-tab { font-size: 1.125rem; }
	body.wmb-recp .wmb-tabs { gap: 0 1.5rem; }
}
@media (max-width: 767px) {
	body.wmb-recp .rw-cards, body.wmb-recp .rw-pics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.wmb-recp .wmb-tab { font-size: 1rem; padding: .75rem 0 .85rem; }
	body.wmb-recp .wmb-tabs { gap: 0 1.25rem; margin-right: calc(-1 * var(--wm-gx)); }
	/* 보기 칩 — 폰은 한 줄로 밀어 보기(A /find/ 칩 띠와 같은 꼴) */
	body.wmb-recp .rec-chips.wm-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--wm-gx)); padding: .1rem 0 .3rem .4rem; }
	body.wmb-recp .rec-chips.wm-chips::-webkit-scrollbar { display: none; }
	body.wmb-recp .rec-chips .wm-chip { flex: none; }
	/* 표 — 화면 끝까지 나가 가로로 밀어 본다(WMM 실측 9-1 「감싼 칸이 좌우 -1rem」) */
	body.wmb-recp .rec-scroll { margin-left: calc(-1 * var(--wm-gx)); margin-right: calc(-1 * var(--wm-gx)); padding: 0 var(--wm-gx); }
	body.wmb-recp .rec-pt .rec-pt__r { max-width: 9rem; }
	body.wmb-recp .rec-h3 { font-size: 1.5rem; }
}
@media (max-width: 479px) {
	body.wmb-recp .rw-cards, body.wmb-recp .rw-pics { grid-template-columns: minmax(0, 1fr); }
	body.wmb-recp .wmb-h1 { line-height: 1.05; }
}
