/* ═══ RUNIN.KR 검색 /?s= · 기록랭킹 선수 보기 — World Marathon Majors 디자인(wm- · 이 모듈 고유 wms-) · v1.1.0 · 2026-10-07(밤) · 클로드A ═══
   규칙 한 장 : https://idc.kr/_claude/CODE_RULES.txt · 디자인 규칙 : RUNIN_WMM_DESIGN.txt v3.5 · 부품 모음 : RUNIN_WMM_PARTS.txt
   짝 PHP : wmm-search.php — 검색 지면은 옛 CSS 를 전부 걷고 홈 wmm.css «뒤에» 이 파일 · 기록랭킹은 B wmb/records.css «뒤에» 이 파일
   🔴 홈 부품(.wm-sec .wm-chip .wm-btn .wm-st .wm-tbl .wm-eb .wm-hs …)은 다시 정의하지 않는다. 이 모듈 짜임만 wms- 로.
      대회일정(.wm-fd-*) · 뉴스(.wmn-*) 이름은 그 지면 범위라 쓰지 않고 «값만» 옮겼다(줄마다 원본 줄 번호).
   🔴 글자는 완전 검정(--wm-ink) · 회색 글자 금지 · 면·2px 줄·단추 테두리·강조 = 남색(v3.5) · 빨강(--wm-hot)은 «지금 서둘러라» 배지(마감임박·추가접수)만.
   🔴 장식 가로줄 금지 — 줄은 «목록·표 머리 2px 남색 + 줄마다 1px #d6dce2» 뿐. 사진 막·그라데이션 0.
   🔴 font 축약 금지(글꼴 자리 inherit 이면 선언 통째 버림) · 단축 속성은 앞의 낱개를 덮는다(낱개는 단축 «뒤»에).
   🔴 폰 : 카드 2열 · 표는 «카드»로 접는다(숨은 가로 밀기 금지 — 가로 밀기는 갈래 띠 하나뿐). */

/* ═══ 0. 기능 규칙 — 옛 app.css 를 걷으면서 «빠지면 오류 없이 깨지는» 것(뉴스 wmm-news.css 0장 값 그대로) ═══ */
body.wms-p .ri-sr, body.wms-p .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; border: 0; }
body.wms-p svg.ri-i { width: 1em; height: 1em; flex: none; vertical-align: -.125em; }
body.wms-p [hidden] { display: none !important; }
body.wms-p .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.wms-p .ri-modal.is-open { display: flex; }
body.ri-locked { overflow: hidden; }
body.wms-p .ri-modal__panel { max-height: 90vh; overflow-y: auto; }
body.wms-p .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.wms-p .ri-modal .wm-dlg__x { display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--wm-ink); }
body.wms-p .ri-modal .wm-dlg__x svg { width: 1.25rem; height: 1.25rem; }
body.wms-p .ri-modal__note { margin-top: .75rem; font-size: .9375rem; }
body.wms-p .ri-modal .ri-mailform { margin-top: 1.25rem; }
body.wms-p .ri-modal .ri-mailform__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; align-items: end; }

/* 메뉴 줄 붙어 다니기(≥1024) — 뉴스 1장 값(홈 .wm-nav sticky 는 header 상자 안에 갇힌다 · find 검토 design 2) */
@media (min-width: 1024px) {
  body.wms-p .wm-head { position: sticky; top: -4.5625rem; z-index: 50; }
  body.wms-p.admin-bar .wm-head { top: calc(32px - 4.5625rem); }
}

/* ═══ 1. «찾기» 구역 머리 — h1(.wm-h2 사다리 · 대문자 없음) · 건수 · 검색칸 · 도움말 ═══ */
.wms .wms-h1 { text-transform: none; line-height: 1.05; overflow-wrap: anywhere; }
.wms .wms-cnt { margin-top: .75rem; display: flex; align-items: baseline; gap: .15rem; }
.wms .wms-cnt b { font-size: 2rem; line-height: 1; font-weight: 900; font-style: italic; color: var(--wm-navy); font-variant-numeric: tabular-nums; }   /* = .wm-find__cnt b (wmm.css:295) */
.wms .wms-cnt .wms-u, .wms .wms-k .wms-u { font-size: .875rem; font-weight: 700; }
/* 검색칸 — 홈 입력칸 값(wmm.css:430 : 높이 3.25rem · .125rem #767676 테두리 · 모서리 0) + 주 단추(.wm-btn) · 초점 = 남색 */
.wms .wms-q { width: 100%; max-width: 46rem; margin-top: 1.75rem; }
.wms .wms-form { display: flex; align-items: stretch; gap: .5rem; }
.wms .wms-form__i { flex: 1 1 auto; width: 0; min-width: 0; min-height: 3.25rem; padding: .75rem 1rem; border: .125rem solid var(--wm-field); border-radius: 0; background: #fff; color: var(--wm-ink); font-family: var(--wm-f); font-size: 1.0625rem; font-weight: 600; -webkit-appearance: none; appearance: none; }
.wms .wms-form__i:focus { outline: none; border-color: var(--wm-navy); box-shadow: 0 0 0 2px var(--wm-navy); }
.wms .wms-form__i::placeholder { color: var(--wm-field); opacity: 1; }   /* 안내 글은 입력칸 테두리 색(흰 바탕 4.54:1) — 회색 «본문» 글자 아님 */
.wms .wms-form__b { flex: none; }
.wms .wms-help { margin-top: .75rem; font-size: .875rem; font-weight: 600; }
.wms .wms-tools { margin-top: 1.25rem; }

/* ═══ 2. 칸 나눔 — 뉴스 2장(= B 훈련코스 .wmbc-lay) 값 : ≥992 왼쪽 28% 고정 칸 | 오른쪽 · 768~991 위로 · ≤767 붙어 다니는 띠 ═══ */
.wms .wms-lay { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.wms .wms-side, .wms .wms-main { min-width: 0; }
.wms .wms-blk + .wms-blk { margin-top: 3rem; }
.wms .wms-tab { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; color: var(--wm-ink); transition: background-color .2s ease, color .2s ease; }
.wms .wms-tab i { font-weight: 700; font-style: normal; font-variant-numeric: tabular-nums; }
.wms .wms-tab:hover { color: var(--wm-navy); }
@media (min-width: 992px) {
  .wms .wms-lay { grid-template-columns: minmax(15rem, 28%) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
  .wms .wms-lay--solo { grid-template-columns: minmax(0, 1fr); }
  /* 고정 칸 — 뉴스 2장 값(top 7.5rem · 높이 = 화면 − 8.5rem · 칸 안 스크롤 · overscroll contain «넣지 마라» 뉴스 검토 #1) */
  .wms .wms-side { position: sticky; top: 7.5rem; max-height: calc(100vh - 8.5rem); overflow-y: auto; overflow-x: hidden; margin-left: -.3rem; padding: .3rem .3rem 1rem; scrollbar-width: thin; }
  .wms .wms-tabs ul { display: flex; flex-direction: column; border-top: 2px solid var(--wm-navy); }
  .wms .wms-tab { position: relative; padding: .85rem .25rem .85rem .9rem; border-bottom: 1px solid var(--wm-line); font-size: 1.125rem; line-height: 1.2; font-weight: 900; font-style: italic; text-transform: uppercase; }
  .wms .wms-tab i { font-size: .875rem; }
  .wms .wms-tab:hover { background: var(--wm-nav1); }
}
@media (min-width: 992px) and (max-width: 1023px) {
  .wms .wms-side { top: 2rem; max-height: calc(100vh - 3rem); }
}
@media (min-width: 768px) and (max-width: 991px) {
  .wms .wms-tabs ul { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
  .wms .wms-tab { padding: .75rem 0 .85rem; font-size: 1rem; line-height: 1.2; font-weight: 900; font-style: italic; text-transform: uppercase; white-space: nowrap; }
  .wms .wms-tab i { font-size: .875rem; }
}
/* 767↓ — 칸 = «붙어 다니는 띠»(/find/ 폰 .ri-fm 값 · 뉴스 16-b) · 갈래 = 기운 회색 칩(지면 안 이동) · 가로 밀기는 이 띠 하나뿐 */
@media (max-width: 767px) {
  .wms .wms-side { position: sticky; top: 0; z-index: 30; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--wm-gx)); padding: .5rem var(--wm-gx); background: #fff; border-bottom: 1px solid var(--wm-line); }
  .wms .wms-side::-webkit-scrollbar { display: none; }
  .wms .wms-tabs ul { display: flex; gap: .6rem; padding-left: .4rem; }
  .wms .wms-tabs li { flex: none; }
  .wms .wms-tab { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: .35rem; height: 2.5rem; padding: 0 .95rem; font-size: .875rem; line-height: 1; font-weight: 800; font-style: italic; white-space: nowrap; }
  .wms .wms-tab::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-chip); }   /* = 뉴스 .wmn-jump > a (기운 바탕은 ::before 에만 — 글자 마디에 span 을 끼우지 않는다) */
  .wms .wms-tab i { font-size: inherit; font-weight: 500; }
}
@media (min-width: 601px) and (max-width: 767px) {
  body.admin-bar .wms .wms-side { top: 46px; }   /* 로그인 601~767 관리 막대 46px 고정(뉴스 검토 #9) */
}

/* 덩어리 머리 — h2(.wm-hs 1.6875rem) + 오른쪽 개수(남색) = 뉴스 .wmn-bhd */
.wms .wms-bhd { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .25rem 1rem; margin: 0 0 1.25rem; }
.wms .wms-n, .wms-pn .wms-n { font-size: 1rem; font-weight: 800; font-style: italic; color: var(--wm-navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wms .wms-note { font-size: .9375rem; font-weight: 600; }
.wms .wms-blk__more { margin-top: 1.5rem; }

/* ═══ 3. 패널 — 선수·대회 공용(«같은 패턴 규칙») · 검색 지면과 기록랭킹이 «같은 이름 같은 값» ═══ */
.wms-pn { padding-bottom: 2.5rem; }
.wms-pn + .wms-pn { padding-top: 1.5rem; }   /* 패널 사이는 여백만(장식 가로줄 금지 — 줄은 목록·표 머리와 줄 사이뿐) */
.wms-pn + .wms-acs, .wms-pn + .wms-list { margin-top: .5rem; }
.wms-pn__hd { display: flex; flex-direction: column; align-items: flex-start; }
.wms-pn__hd .wm-eb { margin-bottom: 1.25rem; }
.wms-pn__t { font-size: 3rem; line-height: 1.05; font-weight: 900; font-style: italic; letter-spacing: -.01em; overflow-wrap: anywhere; }   /* = .wm-h2 사다리(3rem → 991↓ 2.5rem → 479↓ 8vw · 아래 폭별) · 대문자 바꾸지 않음(이름) */
.wms-pn__m { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.25rem; margin-top: 1rem; font-size: 1rem; line-height: 1.5; font-weight: 600; }
.wms-pn__c { display: inline-flex; align-items: center; gap: .4rem; font-weight: 800; }
.wms-flag { display: inline-block; width: 20px; height: 15px; flex: none; }   /* 원래 img 속성값 20×15 (B ri_flag) */
.wms-pn__alt { font-weight: 800; font-style: italic; }
.wms-pn__dt { font-weight: 900; font-style: italic; }
.wms-pn__st { display: inline-flex; align-items: center; gap: .5rem; }
.wms-pn__dist { margin-top: .75rem; }
.wms-pn__e { margin-top: 1.25rem; font-size: 1rem; font-weight: 600; }
.wms-pn__ft { margin-top: 1.75rem; }
.wms-pn__rel { margin-top: 2.5rem; }
/* 패널 안 작은 머리(우승 기록 · 랭킹 · 역대 기록 · 관련 기사 …) = 뉴스 대회 소식 머리(.wmn-rl__t 1.25rem 900 기울임 · .wm-pc__t 값) */
.wms-pn__h { display: flex; align-items: baseline; gap: .6rem; margin: 2.25rem 0 .9rem; font-size: 1.25rem; line-height: 1.3; font-weight: 900; font-style: italic; }
/* 칩 «우승 N회 · 기록 N개 · 랭킹 포인트» — 홈 고르기 칩 값(wmm.css:99 : 높이 2.75rem · 기운 #f3f3f3 · 800 기울임) · 숫자 남색 900(집계 숫자 빨강 금지) */
.wms-k { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin-top: 1.25rem; padding-left: .4rem; }
.wms-k__i { position: relative; isolation: isolate; display: inline-flex; align-items: center; min-height: 2.75rem; padding: .35rem 1.1rem; font-size: .9375rem; font-weight: 800; font-style: italic; }
.wms-k__i::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-chip); }
.wms-k__i > a { display: inline-flex; align-items: center; gap: .25rem; }
.wms-k__i > a:hover { color: var(--wm-navy); }
.wms-k__i b { margin-left: .3rem; font-size: 1.25rem; line-height: 1; font-weight: 900; color: var(--wm-navy); font-variant-numeric: tabular-nums; }
.wms-k__i .wms-u { margin-left: .1rem; }
.wms-k__s { margin: 0 .1rem 0 .35rem; font-weight: 900; color: var(--wm-navy); }
/* ═══ 3-b. 부문 칩 · 동명이인 (사장님 10-07 23:1x «박민호는 엘리트 선수야, 마스터즈하고 다르지» · «동명이인이면 뒤에 A, B») ═══ */
/* 부문 칩 — 엘리트 = 남색 면 + 흰 글자(접수중 배지 꼴 · wmm.css:121) · 마스터즈 = 2px 남색 테두리 + 검정 글자(접수예정 꼴 wmm.css:124 · v3.5 남색) · 빨강 금지(규칙 3장)
   기운 바탕은 ::before 에만(글자 마디에 span 을 더 끼우지 않는다 — 사전이 «엘리트»·«마스터즈» 마디를 그대로 바꾼다) */
.wms-dv { position: relative; isolation: isolate; display: inline-flex; align-items: center; padding: .3rem .6rem; font-size: .75rem; line-height: 1; font-weight: 800; font-style: italic; white-space: nowrap; color: var(--wm-ink); vertical-align: middle; }
.wms-dv::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: #fff; box-shadow: inset 0 0 0 2px var(--wm-navy); }
.wms-dv--elite { color: #fff; }
.wms-dv--elite::before { background: var(--wm-navy); box-shadow: none; }
/* 패널 머리 — 라벨칩 «선수» 옆에 같은 높이로(라벨칩 .875rem · 위아래 .5rem = wmm.css:71) */
.wms-pn__eb { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; margin-bottom: 1.25rem; }
.wms-pn__eb .wm-eb { margin-bottom: 0; }
.wms-pn__eb .wms-dv { padding: .5rem .9rem; font-size: .875rem; }
.wms-pn__h .wms-dv { padding: .35rem .75rem; font-size: .8125rem; }
/* 동명이인 글자 «A»·«B» — 이름과 같은 크기 · 남색(강조 = 남색 · v3.5) · 이름 마디와 떨어진 span */
.wms-sfx { color: var(--wm-navy); }
/* 안내 한 줄 «동명이인이라 런닝인사이드 판단으로 구분해 적었습니다.» — 작은 검정 글자 · 줄·테두리 없음(장식 줄 금지) */
.wms-hom { margin-top: 1rem; font-size: .875rem; line-height: 1.5; font-weight: 600; }
.wms-pn + .wms-hom, .wms-pn__oth + .wms-hom { margin-top: 0; }
/* 「같은 이름의 다른 선수」 — 남색 밑줄 링크(규칙 3장 링크 값) */
.wms-pn__oth { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .9rem; margin: 0 0 1rem; font-size: .9375rem; font-weight: 700; }
.wms-pn__oth a { font-weight: 800; color: var(--wm-navy); text-decoration: underline; text-underline-offset: 3px; }
/* 대회 패널 우승자 칸 둘째 줄 — 부문 칩 + 부문 이름 + 1위 + 이름 · 기록(부문 1위는 «남자 1위» 자리에 오르지 않는다) */
.wms-s1 { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .45rem; margin-top: .5rem; font-size: .875rem; font-weight: 600; }
.wms-td-w > .wms-s1:first-child { margin-top: 0; }
.wms-td-w .wms-dv { margin-right: .2rem; }   /* 기운 바탕이 이름 첫 글자에 닿지 않게(10-07 밤 1440 실측) */
/* 최고 기록 띠 — 홈 숫자 띠 값(wmm.css:271-278 : 숫자 3.25rem 900 기울임 남색 · 라벨 .875rem 700) · 칸 = #f7f9fa(카드 바탕) · 칸 사이 2px(홈 격자) */
.wms-best { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 2px; margin-top: 1.75rem; }
.wms-best__i { display: flex; flex-direction: column; gap: .45rem; min-width: 0; padding: 1.25rem 1.25rem 1.4rem; background: var(--wm-page); container-type: inline-size; }   /* 칸 폭 = 숫자 크기의 잣대(cqi) */
.wms-best__l { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; font-size: .875rem; font-weight: 700; }
/* 숫자 — 홈 숫자 띠 값(3.25rem)을 «넘지 않는 선»에서 칸 폭의 21%(cqi) — 사장님 10-07 23:1x ⑦ «개인 최고 숫자가 칸을 넘는다»(1440 검색 지면 10km 「00:35:03」 잘림).
   H:MM:SS 일곱 글자 ≈ 3.7em → 칸 안쪽 폭의 78% 안 · 첫 줄 값은 cqi 를 모르는 브라우저용(둘째 줄을 버리고 이 값) */
.wms-best__v { font-size: 2.5rem; font-size: min(3.25rem, 21cqi); line-height: 1; font-weight: 900; font-style: italic; color: var(--wm-navy); letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wms-best__v--s { font-size: 1.75rem; font-size: min(2.25rem, 13cqi); }   /* 아홉 글자 넘는 원문 꼴(「26:37.93 *」) */
.wms-best__s { font-size: .875rem; line-height: 1.45; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 표 — 홈 .wm-tbl(머리 2px 남색 · 줄마다 1px · 머리 .8125rem 800 기울임) 위에 칸 꼴만 */
.wms-tw { margin-top: 0; }
.wms-tbl td { vertical-align: middle; }
.wms-tbl .wms-td-r, .wms-tbl .wms-td-w { white-space: normal; min-width: 13rem; }   /* 대회 이름이 길어 줄을 넘기게(숨은 가로 밀기 방지) */
.wms-tbl .wms-td-d { font-weight: 800; font-variant-numeric: tabular-nums; }
.wms-tbl .wms-td-g { white-space: normal; min-width: 11rem; }
.wms-tm { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wms-tbl .wms-td-t .wms-tm { font-size: 1.0625rem; }
.wms-race, .wms-who, .wms-vw { font-weight: 800; text-decoration: none; }   /* B records.css 의 표 링크 밑줄을 받지 않게(hover 때만) */
.wms-race:hover, .wms-who:hover, .wms-vw:hover, .wms-al:hover { color: var(--wm-navy); text-decoration: underline; text-underline-offset: 3px; }
.wms-sub { display: block; margin-top: .3rem; }
.wms-lab { font-size: .8125rem; font-weight: 600; }
/* «공식 결과 보기» — 남색 작은 링크(규칙 3장 링크 단추 «자세히 보기» 값 · 새 탭) */
.wms-off { display: inline-block; margin-left: .5rem; font-size: .8125rem; font-weight: 800; font-style: italic; color: var(--wm-navy); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
/* 종목 꼬리표 = 대회일정 거리 꼬리표 값(wmm-find.css:142-145 · 13장 코스 색) */
.wms-ev, .wms-dist li { position: relative; isolation: isolate; display: inline-flex; align-items: center; padding: .3rem .6rem; font-size: .75rem; line-height: 1; font-weight: 800; font-style: italic; color: var(--wm-ink); white-space: nowrap; }
.wms-ev::before, .wms-dist li::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--wm-chip); transform: skew(-16deg); }
.wms-ev--full, .wms-dist li.is-full { color: #fff; }
.wms-ev--full::before, .wms-dist li.is-full::before { background: var(--wm-c-full); }
.wms-ev--half::before, .wms-dist li.is-half::before { background: var(--wm-c-half); }
.wms-ev--ten::before, .wms-dist li.is-ten::before { background: var(--wm-c-10k); }
.wms-ev--trail::before, .wms-dist li.is-trail::before { background: var(--wm-c-trail); }
.wms-dist li.is-ultra::before { background: var(--wm-c-ultra); }
.wms-dist { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin: .5rem 0 0; padding: 0 0 0 .4rem; }
/* 순위 — 4위부터 남색 900 기울임 숫자 · 1·2·3위 금·은·동 메달(기운 상자 + 꽉 찬 왕관) = B records.css:104-121 · 뉴스 wmm-news.css:313-326 값 그대로
   금 = 울트라 노랑 #ffd100(검정 14.4:1) · 은 = --wm-silver · 동 #d99a5b(B 가 정한 값) · 숫자는 검정 */
.wms-rk { display: inline-block; font-size: 1.125rem; line-height: 1; font-weight: 900; font-style: italic; color: var(--wm-navy); font-variant-numeric: tabular-nums; white-space: nowrap; }
.wms-rk--1, .wms-rk--2, .wms-rk--3 { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: .3rem; padding: .32rem .7rem .32rem .55rem; font-size: 1rem; color: var(--wm-ink); }
.wms-rk--1::after, .wms-rk--2::after, .wms-rk--3::after { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wms-medal); }
.wms-rk--1::before, .wms-rk--2::before, .wms-rk--3::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; }
.wms-rk--1 { --wms-medal: var(--wm-c-ultra); }
.wms-rk--2 { --wms-medal: var(--wm-silver); }
.wms-rk--3 { --wms-medal: #d99a5b; }

/* ═══ 4. 대회 줄 = 대회일정 /find/ 줄 값(wmm-find.css 5장 116-168 · 폰 400-411 · 13장 상태) ═══ */
.wms-list { border-top: 2px solid var(--wm-navy); }
.wms-fr { position: relative; display: grid; grid-template-columns: 6.5rem minmax(0, 1.75fr) minmax(0, 1fr) minmax(0, 1fr); column-gap: 2rem; align-items: center; padding: 1rem 2.75rem 1rem .25rem; border-bottom: 1px solid var(--wm-line); transition: background-color .2s ease; }
.wms-fr:hover { background: var(--wm-page); }
.wms-fr > p, .wms-fr > div { margin: 0; min-width: 0; }
.wms-fr__d { white-space: nowrap; line-height: 1.1; }
.wms-fr__d b { font-size: 1.125rem; font-weight: 900; font-style: italic; }
.wms-fr__d span { margin-left: .25rem; font-size: .8125rem; font-style: italic; }
.wms-fr__d em { display: block; margin-top: .3rem; font-size: .8125rem; font-weight: 700; font-style: normal; font-variant-numeric: tabular-nums; }
.wms-fr__t { display: block; font-size: 1.0625rem; line-height: 1.35; font-weight: 800; transition: color .2s ease; }
.wms-fr__t::before { content: ""; position: absolute; inset: 0; }   /* 줄 어디를 눌러도 그 대회로(줄 안 링크는 하나뿐) */
.wms-fr__t::after { content: ""; position: absolute; right: .25rem; top: 50%; width: 1.5rem; height: 1.5rem; margin-top: -.75rem; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000075' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }   /* 꺾쇠 › 남색(wmm-find.css:131) */
.wms-fr:hover .wms-fr__t, .wms-fr__t:focus-visible { color: var(--wm-navy); }
.wms-fr.is-cancelled .wms-fr__t { text-decoration: line-through; text-decoration-thickness: 1px; }
.wms-fr__s { font-size: .9375rem; line-height: 1.5; font-weight: 500; }
.wms-fr__s .wms-flag { margin-right: .35rem; vertical-align: -.1em; }
.wms-fr__r { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; }
.wms-fr .wms-dist li { z-index: 1; }   /* 줄 덮개(::before) 위로 — title 말풍선(온전한 거리 이름) */
/* 상태 — 접수중 남색(.wm-st) · 마감임박·추가접수 빨강(wmm.css) · 접수예정 2px 남색 · 접수마감 연회색 칩 · 종료·취소·정보 없음 = 배지 없이 글자 700(wmm-find.css 13장) */
.wms .wm-st--closed, .wms-pn .wm-st--closed { background: var(--wm-chip); color: var(--wm-ink); }
.wms .wm-st--finished, .wms .wm-st--cancelled, .wms .wm-st--unknown, .wms-pn .wm-st--finished, .wms-pn .wm-st--cancelled, .wms-pn .wm-st--unknown {
  background: none; color: var(--wm-ink); box-shadow: none; transform: none; padding: 0; font-size: .8125rem; font-weight: 700; font-style: normal; }
.wms .wm-st--finished > span, .wms .wm-st--cancelled > span, .wms .wm-st--unknown > span, .wms-pn .wm-st--finished > span, .wms-pn .wm-st--cancelled > span, .wms-pn .wm-st--unknown > span { transform: none; }
.wms .wm-word, .wms-pn .wm-word { font-size: .9375rem; font-weight: 900; font-style: italic; white-space: nowrap; color: var(--wm-ink); }   /* = wmm-find.css:557 · 빨강 글자 금지 */

/* 대회 아닌 글 줄 — 날짜 | 꼬리표 + 제목 + 요약(2줄) = 홈 .wm-row 값(wmm.css:299-310) */
.wms-row { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); column-gap: 2rem; align-items: start; padding: 1rem .25rem; border-bottom: 1px solid var(--wm-line); }
.wms-row__d { font-size: .9375rem; line-height: 1.6; font-weight: 900; font-style: italic; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wms-row__t { font-size: 1.0625rem; line-height: 1.35; font-weight: 800; }
.wms-row__t:hover { color: var(--wm-navy); text-decoration: underline; text-underline-offset: 3px; }
.wms-row__s { margin-top: .35rem; font-size: .875rem; line-height: 1.55; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ═══ 5. 사진 카드 = 뉴스 .wmn-c / 홈 .wm-pc 값(사진 16:8 · #f7f9fa · 꼬리표 → 제목 900 기울임 → 한 줄 정보) · 격자 1rem(.cz-grid) ═══ */
.wms-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.wms-c { display: flex; flex-direction: column; min-width: 0; background: var(--wm-page);
  transition: opacity .6s var(--wm-ease), transform .6s var(--wm-ease), background-color .2s ease; transition-delay: var(--d, 0s), var(--d, 0s), 0s; }   /* 등장 + hover 를 한 줄에(뉴스 3장 함정) */
.wms-c:hover { background: var(--wm-nav2); }
.wms-c__f { display: block; }
.wms-c__f img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; background: var(--wm-grey); }
.wms-c__b { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; padding: 1.1rem 1.25rem 1.4rem; }
/* 꼬리표 = .wm-st 꼴(기운 상자 · .75rem 700 기울임) · 연회색 #f2f4f5 + 검정(규칙 3장 «사진 위 카드 꼬리표») */
.wms-c__k { position: relative; isolation: isolate; display: inline-block; padding: .3rem .6rem; font-size: .75rem; line-height: 1; font-weight: 700; font-style: italic; color: var(--wm-ink); white-space: nowrap; }
.wms-c__k::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-smoke); }
.wms-c__t { font-size: 1.25rem; line-height: 1.3; font-weight: 900; font-style: italic; letter-spacing: -.01em; overflow-wrap: anywhere; }
.wms-c__t a { transition: color .2s ease; }
.wms-c__t a:hover { color: var(--wm-navy); }
.wms-c__m { font-size: .8125rem; line-height: 1.45; font-weight: 600; }
.wms-row .wms-c__k { margin-right: .4rem; vertical-align: .1em; }

/* 선수 카드(이름이 «바로 그 사람»이 아닐 때) — 카드 바탕 #f7f9fa · 이름 1.25rem 900 기울임 · 종목 최고 */
.wms-acs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.wms-ac { min-width: 0; padding: 1.1rem 1.25rem 1.3rem; background: var(--wm-page); transition: opacity .6s var(--wm-ease), transform .6s var(--wm-ease), background-color .2s ease; }
.wms-ac:hover { background: var(--wm-nav2); }
.wms-ac__t { font-size: 1.25rem; line-height: 1.3; font-weight: 900; font-style: italic; }
.wms-ac__t a:hover { color: var(--wm-navy); text-decoration: underline; text-underline-offset: 3px; }
.wms-ac__m { margin-top: .4rem; font-size: .8125rem; line-height: 1.5; font-weight: 600; }
.wms-ac__m b { font-weight: 900; color: var(--wm-navy); }
.wms-ac__pb { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .75rem; padding-left: .4rem; }
.wms-ac__pb li { display: inline-flex; align-items: center; gap: .4rem; }

/* «더 보기» — details(JS 없이 열린다) · 요약 줄 = 보조 단추 꼴(2px 남색 테두리 · 남색 글자 · 800 기울임 · v3.5) */
.wms-more { margin-top: 1.5rem; }
.wms-more > summary { display: inline-flex; align-items: center; gap: .5rem; list-style: none; cursor: pointer; padding: .85rem 1.6rem; border: .125rem solid var(--wm-navy); color: var(--wm-navy); font-size: .9375rem; line-height: 1; font-weight: 800; font-style: italic; text-transform: uppercase; transition: transform .2s ease; }
.wms-more > summary::-webkit-details-marker { display: none; }
.wms-more > summary::after { content: "+"; font-style: normal; font-weight: 900; }
.wms-more[open] > summary::after { content: "\2212"; }
.wms-more > summary:hover { transform: translateY(-.2rem); }
.wms-more > .wms-cards, .wms-more > .wms-acs { margin-top: 1.25rem; }

/* 쪽 넘기기 — WP paginate_links 마크업 그대로 + 홈 고르기 칩 값(기운 회색 · 지금 쪽 = 남색 + 흰 글자 · 높이 2.75rem) */
.wms .wms-pg { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; margin-top: 2rem; padding-left: .4rem; }
.wms .wms-pg .page-numbers { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; height: 2.75rem; padding: 0 .9rem; font-size: .9375rem; font-weight: 800; font-style: italic; font-variant-numeric: tabular-nums; color: var(--wm-ink); }
.wms .wms-pg .page-numbers::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skew(-16deg); background: var(--wm-chip); transition: background-color .2s ease; }
.wms .wms-pg a.page-numbers:hover::before { background: var(--wm-nav2); }
.wms .wms-pg .page-numbers.current { color: #fff; }
.wms .wms-pg .page-numbers.current::before { background: var(--wm-navy); }
.wms .wms-pg .page-numbers.dots::before { background: none; }

/* 빈 결과 — 연한 바탕 칸(뉴스 .wmn-empty 값) · 제목 = 작은 구역 머리(.wm-hs) · 갈 곳 단추 */
.wms .wms-empty { padding: 2rem; background: var(--wm-page); }
.wms .wms-empty__t { font-size: 1.6875rem; line-height: 1.22; font-weight: 900; font-style: italic; }
.wms .wms-empty p { margin-top: .75rem; font-size: 1rem; font-weight: 600; }
.wms .wms-empty a { color: var(--wm-navy); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.wms .wms-go { margin-top: 1.5rem; }
.wms .wms-raw li { padding: .85rem .25rem; border-bottom: 1px solid var(--wm-line); }
.wms .wms-raw h2 { font-size: 1.0625rem; font-weight: 800; }

/* ═══ 6. 기록랭킹 선수 보기 (b) — B 「기록랭킹」 구역(.wmb-sec--rank) 맨 앞 · 사장님 「넘 규칙이 없이」 → 검색칸 · 단추 · 패널 · 아래 여백 ═══ */
.wms-rec { padding-bottom: 1rem; margin-bottom: 4rem; }   /* 선수 칸과 아래 「기록랭킹」 h1 사이 = 구역 여백(4rem · .wm-sec 값) — 예전엔 돌아가기 링크가 h1 에 붙어 있었다(사장님 「넘 규칙이 없이」) · 줄로 가르지 않는다(장식 가로줄 금지) */
.wms-rec__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; margin-bottom: 2.5rem; }
.wms-rq { display: flex; align-items: stretch; gap: .5rem; flex: 1 1 26rem; min-width: 0; max-width: 40rem; }   /* min-width 0 + 입력칸 width 0 — 입력칸 고유 폭(20자)이 폼 최소 폭이 되어 390 폭에서 27px 넘쳤다(10-07 흉내 실측) */
.wms-rq__i { flex: 1 1 auto; width: 0; min-width: 0; min-height: 3.25rem; padding: .75rem 1rem; border: .125rem solid var(--wm-field); border-radius: 0; background: #fff; color: var(--wm-ink); font-family: var(--wm-f); font-size: 1.0625rem; font-weight: 700; -webkit-appearance: none; appearance: none; }
.wms-rq__i:focus { outline: none; border-color: var(--wm-navy); box-shadow: 0 0 0 2px var(--wm-navy); }
.wms-rq .wm-btn svg, .wms-form .wm-btn svg { width: 1.1rem; height: 1.1rem; }
.wms-rec__ctl { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
/* (c) 랭킹 표 이름 링크 — 글자 꼴은 그대로(검정 · 굵기 그대로), «누를 수 있음»만 아래 밑줄로 · hover 남색 */
.wms-al { color: inherit; text-decoration: underline; text-decoration-color: var(--wm-silver); text-decoration-thickness: 2px; text-underline-offset: 4px; transition: color .2s ease, text-decoration-color .2s ease; }
.wms-al:hover, .wms-al:focus-visible { color: var(--wm-navy); text-decoration-color: var(--wm-navy); }

/* ═══ 7. 폭별 ═══ */
@media (max-width: 1279px) {
  .wms-cards, .wms-acs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .wms-pn__t { font-size: 2.5rem; }
  .wms-fr { grid-template-columns: 6.5rem minmax(0, 1.75fr) minmax(0, 1fr); }
  .wms-fr__s { grid-column: 2 / -1; grid-row: 2; margin-top: .35rem; }
}
/* 767↓ — 카드 2열 · 대회 줄 2칸 · 표 → 카드(가로 밀기 0) */
@media (max-width: 767px) {
  .wms-best { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wms-best__i { padding: 1rem .9rem 1.1rem; }
  .wms-best__v { font-size: 1.75rem; font-size: min(2.25rem, 21cqi); }   /* = 홈 첫 화면 숫자 폰 값(wmm.css:579)을 넘지 않는 선에서 칸 폭에 맞춘다 */
  .wms-best__v--s { font-size: 1.25rem; font-size: min(1.5rem, 13cqi); }
  .wms-c__b { padding: .9rem .9rem 1.1rem; }
  .wms-c__t, .wms-ac__t { font-size: 1rem; }
  .wms-ac { padding: .9rem .9rem 1rem; }
  .wms-fr { grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .75rem; padding: .7rem 2.25rem .7rem .25rem; }
  .wms-fr__d { grid-column: 1 / -1; grid-row: 1; }
  .wms-fr__d b { font-size: .9375rem; }
  .wms-fr__d em { display: inline; margin: 0 0 0 .4rem; }
  .wms-fr__m { grid-column: 1; grid-row: 2; }
  .wms-fr__r { grid-column: 2; grid-row: 2; justify-content: flex-end; }
  .wms-fr__s { grid-column: 1 / -1; grid-row: 3; margin-top: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; }
  .wms-fr__t { font-size: 1rem; }
  .wms-fr__t::after { top: 1.4rem; }
  .wms-row { grid-template-columns: minmax(0, 1fr); row-gap: .2rem; padding: .75rem .25rem; }
  /* 표 → 카드 : 머리 줄 숨김(화면 읽기용 글은 칸 글자 자체) · 줄마다 연한 칸 · 칸은 격자 자리로 */
  .wms-tw { overflow: visible; }
  .wms-tbl, .wms-tbl tbody { display: block; width: 100%; }
  .wms-tbl thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .wms-tbl tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .75rem; padding: .9rem .25rem; border-bottom: 1px solid var(--wm-line); }
  .wms-tbl tbody tr:first-child { border-top: 2px solid var(--wm-navy); }
  .wms-tbl td { display: block; min-width: 0; padding: 0; border: 0; white-space: normal; }
  .wms-tbl .wms-td-r, .wms-tbl .wms-td-w, .wms-tbl .wms-td-g { min-width: 0; }
  .wms-tbl--win tr { grid-template-areas: "d k" "r r" "e t"; }
  .wms-tbl--rec tr { grid-template-areas: "g k" "r r" "d t"; }
  .wms-tbl--race tr { grid-template-areas: "d e" "m m" "w w"; }
  .wms-tbl .wms-td-d { grid-area: d; font-size: .875rem; }
  .wms-tbl .wms-td-k { grid-area: k; justify-self: end; }
  .wms-tbl .wms-td-r { grid-area: r; font-size: 1rem; }
  .wms-tbl .wms-td-e { grid-area: e; align-self: center; }
  .wms-tbl .wms-td-t { grid-area: t; justify-self: end; align-self: center; }
  .wms-tbl .wms-td-t .wms-tm { font-size: 1.25rem; font-style: italic; font-weight: 900; color: var(--wm-navy); }
  .wms-tbl .wms-td-g { grid-area: g; }
  .wms-tbl--race .wms-td-e { justify-self: end; }
  .wms-tbl--race td:nth-child(3) { grid-area: m; }
  .wms-tbl--race td:nth-child(4) { grid-area: w; }
  .wms-tbl--race td:nth-child(3):not(:empty)::before { content: "\2642"; margin-right: .4rem; font-weight: 900; color: var(--wm-navy); }   /* ♂ 남 · ♀ 여 — 머리 줄이 숨어도 칸 뜻이 보이게(기호라 번역 무관) */
  .wms-tbl--race td:nth-child(4):not(:empty)::before { content: "\2640"; margin-right: .4rem; font-weight: 900; color: var(--wm-navy); }
  .wms-off { margin-left: .4rem; }
  .wms-rec__bar { align-items: stretch; }
  .wms-rq { flex-basis: 100%; }
}
@media (max-width: 479px) {
  .wms-pn__t { font-size: 8vw; }
  .wms .wms-cnt b { font-size: 1.75rem; }
  .wms .wms-form { flex-wrap: wrap; }
  .wms .wms-form__b { flex: 1 1 100%; }
}

/* 움직임 줄이기 — 등장·hover 움직임 끄기(내용은 다 보인다) */
@media (prefers-reduced-motion: reduce) {
  .wms *, .wms *::before, .wms *::after, .wms-pn *, .wms-rec * { transition: none !important; }
  .wms-more > summary:hover { transform: none; }
}

/* ═══ 10-08 사장님 「1행 심진석 선수 라인 전부 클릭되게 하는 게 좋을 거 같은데」 — A ═══
   왜 : 이름 글자(약 40px)만 링크라 누를 자리가 좁았다(「클릭해도 안 먹는다」). 기록랭킹 표의 «선수 이름 링크가 든 줄» 전체를 그 선수 링크로 넓힌다.
   방법 : 펼친 링크 — 줄을 position:relative 로 두고 이름 링크(a.wms-al)의 ::after 가 줄 전체를 덮는다. 줄 안의 다른 링크·단추(대회명 · 공식 결과 보기 등)는
          z-index 로 그 위에 올려 따로 눌리게 한다. 마우스를 올리면 줄 바탕이 옅게 바뀌어 «눌린다»는 것이 보인다. */
.rec-tbl tbody tr:has(a.wms-al) { position: relative; cursor: pointer; }
.rec-tbl tbody tr:has(a.wms-al):hover { background-color: var(--wm-page, #f4f5f7); }
.rec-tbl tbody tr a.wms-al::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.rec-tbl tbody tr:has(a.wms-al) a:not(.wms-al), .rec-tbl tbody tr:has(a.wms-al) button { position: relative; z-index: 2; }
.rec-tbl tbody tr:has(a.wms-al):hover a.wms-al { color: var(--wm-navy, #000075); text-decoration: underline; text-underline-offset: 3px; }
