/* ══════════════════════════════════════════════════════════════════════════════
 * item-modules.css — 이 아이템 시트 «한 장» (2026-08-08 병합 완결)
 * 사용자 확정: 분산 시트(entity·fx·hub·axis·cell) 전면 소거 — 아래에 «적재 순서 그대로»
 * 이어 붙였다. 같은 선택자는 뒤(구획 6·기존 item-modules)가 이긴다 = 병합 전 계단과 동일.
 * 🚫 시트를 다시 쪼개지 마라. 다음 재건축·개명 파이프라인도 이 한 장을 대상으로 한다.
 * ══════════════════════════════════════════════════════════════════════════════ */

/* ══ 병합 구획: tcggrail-entity.css (적재 순서 보존) ══ */
/* ══════════════════════════════════════════════════════════════════════════
   tcggrail-entity.css — 카드 엔티티 시안 전용 스타일 (앱층 + 본문 특화 · 2026-08-02)
   ──────────────────────────────────────────────────────────────────────────
   무엇인가
     시안 `_시안/tcggrail-entity-full.html` 의 «카드 엔티티 전용 장치» 스타일 원문이다.
       1차(앱층)   .app-layer-panel#summary 이하 — 히어로 열 + 수치/행동 열 + 추이 + 마켓 + 빠른 이동
       2차(본문)   본문 특화 15구역 — 이야기 격자(.data-story-grid/.data-story-tile) · 서술+계산 사이드(.body-prose-block/.calculation-basis-aside) ·
                   추이 그림(.price-trend-line-hover-layer/.price-trend-line-legend) · 판본 도해(.print-variant-shine-map-diagram) · 언어판 행(.ranked-thumbnail-list-gap-row) · 순위 행(.badge-bar-row/.bar-row-track) ·
                   같은 그림 대조(.holo-thumb-popup-effect-layer) · 구매처 카드(.marketplace-offer-card/.marketplace-offer-card-visit-button/.marketplace-offer-card-logo) · 작가(.ranked-thumbnail-list-bar-row) · 심층(.deep-dive-panel) ·
                   오늘의 등락(.gainers-losers-board) · 함께 보기(.cross-link-list-column/.cross-link-list-grid/.list-page-bar) · 홀로 팝업 폴백(.holo-thumb-popup-preview__fallback)
     시안 스타일은 시안 마크업과 한 몸이라 표준 모듈 시트로는 재현되지 않는다(통이식 정지 보고).
     그래서 «시안 장치 = 시안용 조각(items/pokemon/modules/) + 이 시트»로 격리한다.

   격리 방법 = 조건 enqueue (loader.php)
     이 시트는 «가상 스포크 컨텍스트»에서만 실린다. 정책·안내 페이지(/about/ 등)에는
     실리지 않으므로 짧은 이름(.attribute-chip-link·.headline-stat-block·.composition-donut-stat-cell)이 다른 페이지를 덧칠할 수 없다.
     ⚠️ 선택자에 `body.spoke-page` 접두를 «붙이지 않는다» — 붙이면 시안 원문과 다른
        선택자가 되어 대조 검증(parity-verify 열쇠 A = 선택자 동일)이 전부 빗나간다.

   담지 않은 것 — 전부 «시안보다 넓게 걸려 남의 구역을 덧칠하는 것»이다
     · 홀로 카드 계약(.holo-thumb-popup-card·.holo-thumb-popup-card__shine·.holo-thumb-popup-card__glare·.holo-thumb-popup-preview 본체) = modules.css 소관(중복 금지)
     · 시안의 맨 태그 광역 표 규칙(table·caption·th·td·tbody tr·*) = 표준 module-table 을
       덧칠하므로 제외. 앱층 안 데이터 표는 시각적으로 숨긴 접근성 표라 영향이 없다.
     · 맨 태그 `a`·`img` = 시안 문서 껍데기(.page-document-wrapper 옆줄)의 문서 전역 규칙. 이 시트는 카드
       페이지 «전체»에 실리므로 옮기면 머리글·광고·표준 모듈의 링크 색까지 바뀐다.
     · 공통 구역(header·toc·faq·sources·disclaimer·공유·브레드크럼)과 테마층(nav·main·page·
       광고 슬롯) = 표준 모듈·테마가 그대로 맡는다(사용자 확정 2026-08-02).

   🚫 이 시트를 손으로 고치지 않는다 — 시안이 정본이다.
      갱신 = 시안 수정 → 분모 재생성 → 이 시트 재추출(도구 = _시안/스크립트/).
   ══════════════════════════════════════════════════════════════════════════ */



/* ── 토큰 ─────────────────────────────────────────────────────────
   시안 :root 라이트 블록(시안 :10-14 @media prefers-color-scheme:light) 전 28개.
   값 발명 0 — 그 줄을 그대로 옮긴다. 골라 빼지 않는다(1차 회차 사고 재발 방지). */
:root {
  --bg:   #F6F7FA;   /* 페이지 바닥 */
  --surf: #FFFFFF;   /* 상자 바닥 */
  --surf2:#EEF1F6;   /* 한 단 낮은 바닥(칩·판) */
  --line: #E2E7EF;   /* 바깥 테두리 */
  --line2:#CFD6E2;   /* 안쪽 테두리(타일) */
  --ink:  #12161F;   /* 본문 글자 */
  --ink2: #3F4859;   /* 보조 글자 */
  /* F39(2026-08-22 눈검수 배치3 — WCAG AA 색대비) — 아래 6개 토큰이 배경 3종(--bg #F6F7FA·
     --surf #FFFFFF·--surf2 #EEF1F6) 위 정상텍스트 기준 4.5:1 미달이었다(대장 실측 --mut 3.63~
     4.11·379회 사용 최대규모 · --up 4.10·--dn 4.35·--warn 4.23·--gold 3.78·--c2 3.38 전부 FAIL
     — 대형텍스트 3:1 은 대부분 PASS라 손대지 않음). 색상(H)·채도(S)는 그대로 두고 명도(L)만
     낮춰 3배경 전부 ≥4.5:1 을 만들었다(node 독립 계산 — sRGB 상대휘도 공식 실측치는 완료
     보고 참조 · 뜻(오름=초록·내림=빨강 등)은 바뀌지 않는다). --fl 은 --mut 을 그대로 물려받아
     별도 수정 불요. */
  --mut:  #636E81;   /* 약한 글자(라벨·단위) — WCAG AA(4.5:1↑) */
  --acc:  #5747E0;   /* 강조 */
  --acc-s:#EEEBFE;   /* 강조 배경(옅은) */
  --acc-i:#3B2DBF;   /* 강조(글자용·짙은) */
  --up:   #0E7E4D;   /* 오름 — WCAG AA(4.5:1↑) */
  --up-s: #E4F6EC;   /* 오름 배경 */
  --dn:   #CE3137;   /* 내림 — WCAG AA(4.5:1↑) */
  --dn-s: #FCE9EA;   /* 내림 배경 */
  /* R37-A(2026-08-20 W3-CSS) 평평(보합) — 폭이 표시 단위 미만이면 방향색 대신 중립을 쓴다.
     app-layer.php:317-321·card-app.php:362-365 의 `stop-color="var(--fl)"` 가 이 토큰을 부른다
     (없으면 그라디언트가 무효색이 된다). 값은 새 색을 발명하지 않고 약한 글자색을 재사용. */
  --fl:   var(--mut); /* 보합(중립) */
  --warn: #93650F;   /* 주의 — WCAG AA(4.5:1↑) */
  --warn-s:#FDF3E0;  /* 주의 배경 */
  --gold: #866A23;   /* 보조 지표선(이동평균·판정 배지) — WCAG AA(4.5:1↑) */
  /* 62호(2026-08-28 사용자 확정) — 마켓 구역 «전용 행동색» 신설. --up/--dn(등락 의미)·
     --acc(브랜드 인디고, 다른 용도 기존 사용 중)·--gold(60호가 이미 쓴 구 상업색, 이번에
     골드 전면 폐기) 어느 것도 재사용하지 않는다 — 승인 시안(where-to-buy-재설계-시안-
     20260827.html)의 --acc:#C13A2E/--acc-ink:#98261C 값을 그대로 옮긴다(발명 0).
     WCAG AA 검산(sRGB 상대휘도) — 흰 글자/화이트 배경 어느 방향이든 5.37:1·8.51:1 로
     둘 다 4.5:1 통과(완료 보고 §계산 참조). */
  --buy:    #C13A2E;   /* 마켓 구역 행동색(구매 CTA·최저가 배지·Affiliate 강조) */
  --buy-ink:#98261C;   /* --buy 옅은 배경 위 글자용(짙은 대비) */
  --low: #0E7C86;   /* 최저 호가선 — R37-D(2026-08-20 W3) · 시세(--acc)·평균(--gold)·등락(--up/--dn/--fl)과 색맹 조건에서도 구분 */
  --c1:   #5B4CE8;   /* 계열색 1 */
  --c2:   #08788E;   /* 계열색 2 — WCAG AA(4.5:1↑) */
  --c3:   #D6800F;
  --c4:   #8B96AA;
  --c5:   #D14B8F;
  --g1:   #12B26D;   /* 계기판 왼쪽(상승) */
  --g2:   #EDA51B;   /* 계기판 가운데(보합) */
  --g3:   #EE4B51;   /* 계기판 오른쪽(하락) */
  --r:    14px;      /* 큰 모서리 */
  --r-s:  9px;       /* 작은 모서리 */
}

/* ══════════════════════════════════════════════════════════════════════════════
   ☀️ 라이트 고정(2026-08-10 · p22 — 사용자 지시 «문제가 없는 방식으로»)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 여기 있던 다크 토큰 블록 2개(p19 신설: prefers-dark 가드 + data-theme=dark)를
     «소거»했다. 이 세계의 다크 지원은 태생부터 반쪽(시안 계보 토큰 일부만)이라
     다크 브라우저에서 «라이트 글자색 × 다크 배경» 겹침이 양판 455곳 실측됐고(짝 census
     p21-census-baseline.txt), 사용자 확정으로 «라이트 단일 팔레트»로 전환했다.
     팔레트가 하나면 이 결함 클래스는 구조적으로 재발 불가능하다.
   ■ 복원 = _백업/gc세계-회차백업-20260810/20260810-p22/ 원본. 다크를 되살리려면
     블록 복원이 아니라 «전면 완성»(짝 census 회귀 0)이 조건이다.
   🔒 위 라이트 :root(전 28개)가 유일한 토큰 정의가 된다 — 시트 말미의
      «라이트 고정 중화» 블록과 한 쌍이다(modules.css:14265 다크 분기 중화). */


/* ── 이음새 ───────────────────────────────────────────────────── */
.app-layer-split-columns > .module-card-holo { display: contents }


/* ── 글자(시안 실측 · 웹폰트 0건 · 내려받는 바이트 0) ───────────────
   시안 :25-27 body · :2628-2643 구역 제목 · :2650·:2654 좁은 화면 단계 */
body {
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* 구역 제목 = 시안 `.content-section-block>h2`. 라이브 이름은 .module-section__title 이다 —
   시안 원문 선택자를 바꾼 것이 아니라 «같은 자리의 라이브 이름»에 같은 값을 준다. */
.module-section__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
  margin: 70px 0 15px 0;
  padding-left: 15px;
  border-left: 4px solid var(--acc);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line2);
  color: var(--ink);
  text-transform: none;
  text-wrap: balance;
}
@media (max-width:820px) {
  .module-section__title {
    font-size: 21px;
    margin: 50px 0 13px 0;
    padding-left: 12px;
    border-left-width: 3px;
  }
}
@media (max-width:600px) {
  .module-section__title {
    font-size: 19px;
    margin: 40px 0 12px 0;
  }
}


/* ── app-trend ─────────────────────────────────────────────────────── */
.tabular-number {
  font-variant-numeric: tabular-nums;
}
.value-direction-rising {
  color: var(--up);
}
.value-direction-falling {
  color: var(--dn);
}

/* ── warnbox ─────────────────────────────────────────────────────── */
.data-provenance-banner {
  margin: 15px 0 0;
  padding: 11px 14px;
  border-radius: var(--r-s);
  background: var(--warn-s);
  color: var(--warn);
  font-size: 14px;
  font-weight: 600;
  border: 1px solid color-mix(in srgb,var(--warn) 30%,transparent);
}

/* ── app ─────────────────────────────────────────────────────── */
.app-layer-panel {
  position: relative;
  padding: 17px 16px 18px;
  border: 1.5px solid var(--acc);
  border-radius: var(--r);
  background: linear-gradient(180deg,var(--acc-s) 0%,transparent 42%);
}
.app-layer-panel::before {
  content: "Summary — the whole card at a glance";
  position: absolute;
  top: -9px;
  left: 13px;
  font-size: 13px;
  font-weight: 800;
  background: var(--acc);
  color: #fff;
  padding: 2px 10px;
  border-radius: 20px;
}

/* ── app-chips ─────────────────────────────────────────────────────── */
.attribute-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 13px;
}
.attribute-chip-link {
  font-size: 13px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
  background: var(--surf2);
  color: var(--ink2);
  border: 1px solid var(--line2);
}

/* ── app-art ─────────────────────────────────────────────────────── */
.app-layer-split-columns {
  display: flex;
  gap: 26px;
  align-items: stretch;
}
@media (max-width:820px) {
  .app-layer-split-columns {
    flex-direction: column;
    align-items: center;
  }
}

/* ── app-stats ─────────────────────────────────────────────────────── */
.side-content-column {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 11px;
  min-width: 0;
}
.summary-metric-five-column-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr 1.1fr;
  gap: 8px;
}
@media (max-width:1180px) {
  .summary-metric-five-column-grid {
    grid-template-columns: 1.3fr 1fr 1fr;
  }
}
@media (max-width:620px) {
  .summary-metric-five-column-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.composition-donut-stat-cell {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 11px 12px 9px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
}
.mini-trend-key {
  font-size: 13px;
  color: var(--mut);
  font-weight: 700;
  letter-spacing: .03em;
}
.mini-trend-value {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.mini-trend-sparkline {
  display: block;
  width: 100%;
  height: 44px;
  margin: 2px 0 1px;
}
.mini-trend-range {
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
}
.card-title-heading {
  margin: 0;
  font-size: clamp(24px,2.5vw,32px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
}
.card-number-badge {
  font-size: .62em;
  font-weight: 700;
  color: var(--acc-i);
  background: var(--acc-s);
  padding: 2px 8px;
  border-radius: 6px;
  letter-spacing: .02em;
  vertical-align: 3px;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
}
.card-attribute-summary-line {
  margin: 0;
  font-size: 13.5px;
  color: var(--mut);
  line-height: 1.5;
}

/* ── app-art ─────────────────────────────────────────────────────── */
/* 🩹 2026-08-11(p28) ⑨ 히어로 카드가 «정사각으로 잘리던» 결함의 뿌리.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 이 틀의 부모 `.holo-thumb-popup-artwork-column` 은
     `display:flex; flex-direction:column` 이다. 세로 방향 flex 에서 «주축은 높이»이므로
     `flex: 0 0 244px` 의 244px 는 폭이 아니라 «높이»에 앉는다. 그 순간 flex-basis 가
     `height:auto` 와 `aspect-ratio:745/1040` 을 둘 다 무력화해 틀이 244×244 정사각이 되고,
     `overflow:hidden` 이 그 안의 335.5px 짜리 카드를 아래로 91.5px «잘라냈다»(실측 1280px).
     ≤820px 에서만 멀쩡했던 이유도 같다 — 거기서는 `flex:0 0 auto` 라 비율이 살아 있었다.
   ■ 수리 = 244px 를 «축을 맞춰» 놓는다. 주축(높이) 지정은 auto 로 풀고, 폭은 이미 바로 아래
     `width:244px` 이 지고 있다. 그러면 높이는 aspect-ratio 가 정한다(244 → 340.6px).
   🔒 값은 새로 짓지 않았다 — 244 도 745/1040 도 원래 이 규칙에 있던 숫자다.
   ⚠️ 같은 병이 이 시트에 세 군데 있다(:292 · :5171 · :7185) — 셋 다 같은 처방을 했다. */
.holo-thumb-popup-artwork-frame {
  flex: 0 0 auto;
  width: 244px;
  align-self: flex-start;
  height: auto;
  aspect-ratio: 745/1040;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(155deg,#3A2A6B,#6B3A52 45%,#8A5A2A);
  border: 1px solid var(--line2);
  display: grid;
  place-items: center;
  text-align: center;
  filter: drop-shadow(0 14px 26px rgba(0,0,0,.26));
}
.holo-thumb-popup-artwork-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
@media (max-width:820px) {
  .holo-thumb-popup-artwork-frame {
    flex: 0 0 auto;
    align-self: center;
    width: min(330px,78vw);
    height: auto;
  }
}

/* ── app-stats ─────────────────────────────────────────────────────── */
.headline-stat-block {
  padding: 12px 13px;
  border-radius: var(--r-s);
  background: var(--surf);
  border: 1px solid var(--line2);
  display: flex;
  flex-direction: column;
  gap: 2px;
  justify-content: center;
}
.headline-stat-key {
  font-size: 13px;
  color: var(--mut);
  font-weight: 700;
  letter-spacing: .03em;
}
.headline-stat-value {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.05;
}
.headline-stat-note {
  font-size: 13px;
  color: var(--mut);
  line-height: 1.5;
  margin-top: 3px;
}
.headline-stat-delta {
  font-size: 14px;
  font-weight: 800;
}
.headline-stat-delta em {
  font-style: normal;
  font-weight: 600;
  font-size: 13px;
  color: var(--mut);
  margin-left: 2px;
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.visual-block-heading {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink2);
  margin: 0 0 10px;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo {
  display: flex;
  gap: 12px;
  margin-top: 7px;
  font-size: 13px;
  color: var(--mut);
  flex-wrap: wrap;
}

/* ── app-meta6 ─────────────────────────────────────────────────────── */
.meta-tile-grid {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 7px;
  margin-top: 12px;
}
@media (max-width:900px) {
  .meta-tile-grid {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width:520px) {
  .meta-tile-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
.meta-tile {
  padding: 9px 11px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.meta-tile__key {
  font-size: 13px;
  color: var(--mut);
  font-weight: 700;
  letter-spacing: .03em;
}
.meta-tile__value {
  font-size: 13.5px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
a.meta-tile {
  border-color: color-mix(in srgb,var(--acc) 24%,var(--line2));
  transition: border-color .15s,background .15s;
}
a.meta-tile:hover,
a.meta-tile:focus-visible {
  border-color: var(--acc);
  background: var(--acc-s);
}
a.meta-tile .meta-tile__value {
  color: var(--acc-i);
}
a.meta-tile {
  position: relative;
  padding-right: 20px;
}
a.meta-tile::after {
  content: "↓";
  position: absolute;
  top: 8px;
  right: 9px;
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
  opacity: .45;
  transition: opacity .13s,transform .13s,color .13s;
}
a.meta-tile:hover::after,
a.meta-tile:focus-visible::after {
  opacity: 1;
  color: var(--acc-i);
  transform: translateY(2px);
}

/* ── app-qf ─────────────────────────────────────────────────────── */
.quick-fact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));  /* F40(2026-08-22) — 죽은 선언(:7461 기준판이 캐스케이드로 이김) — 값을 맞춰 혼동 방지 */
  gap: 7px;
  margin-top: 12px;
}
@media (max-width:1060px) {
  .quick-fact-grid {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width:560px) {
  .quick-fact-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
.quick-fact-card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  column-gap: 10px;
  row-gap: 1px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  text-decoration: none;
  color: inherit;
  transition: transform .12s,border-color .12s;
}
.quick-fact-card:hover {
  transform: translateY(-1.5px);
  border-color: var(--acc);
}
.quick-fact-card:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}
.quick-fact-icon {
  grid-column: 1;
  grid-row: 1/span 3;
  align-self: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.quick-fact-icon svg {
  width: 21px;
  height: 21px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.quick-fact-icon img {
  width: 21px;
  height: 21px;
  display: block;
}
.quick-fact-icon svg .icon-filled-shape {
  fill: currentColor;
  stroke: none;
}
.quick-fact-icon--down {
  background: color-mix(in srgb,var(--dn) 13%,transparent);
  color: var(--dn);
}
.quick-fact-icon--up {
  background: color-mix(in srgb,var(--up) 14%,transparent);
  color: var(--up);
}
.quick-fact-key {
  grid-column: 2;
  grid-row: 1;
  font-size: 13px;
  color: var(--mut);
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.quick-fact-value {
  grid-column: 2;
  grid-row: 2;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.quick-fact-range {
  grid-column: 2;
  grid-row: 3;
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── deep ─────────────────────────────────────────────────────── */
.deep-dive-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
@media (max-width:1000px) {
  .deep-dive-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:560px) {
  .deep-dive-grid {
    grid-template-columns: 1fr;
  }
}
.deep-dive-panel {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surf2);
}
.deep-dive-panel h3 {
  margin: 0 0 9px;
  font-size: 15px;
}
.deep-dive-panel ol,
.deep-dive-panel ul {
  margin: 0;
  padding-left: 16px;
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.7;
}
.deep-dive-panel li {
  margin-bottom: 4px;
}
.deep-dive-panel .key-value-line {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  padding: 5px 0;
  border-top: 1px solid var(--line);
}
.deep-dive-panel .key-value-line:first-of-type {
  border-top: 0;
}
.deep-dive-panel .key-value-line b {
  font-variant-numeric: tabular-nums;
}

/* ── market ─────────────────────────────────────────────────────── */
.marketplace-offer-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  /* 9px → 15px (2026-08-03 사용자 «카드가 붙어 보인다» — 시안 동반 개정).
     칸 안 여백(padding 12px)보다 칸 «사이»가 좁으면 네 장이 한 덩이로 읽힌다. */
  gap: 15px;
  margin-bottom: 14px;
}
@media (max-width:900px) {
  .marketplace-offer-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:520px) {
  .marketplace-offer-grid {
    grid-template-columns: 1fr;
  }
}
.marketplace-offer-card {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  text-decoration: none;
  color: inherit;
}
.marketplace-offer-card:hover {
  border-color: var(--acc);
}
.marketplace-offer-card--best {
  border-color: var(--acc);
  background: linear-gradient(180deg,var(--acc-s),var(--surf) 65%);
}
.marketplace-offer-card-badge {
  font-size: 8.5px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--acc);
  color: #fff;
  letter-spacing: .04em;
}
.marketplace-offer-card-visit-button {
  font-size: 13px;
  font-weight: 700;
  color: var(--acc-i);
  margin-top: 4px;
}

/* ── app-arow2 ─────────────────────────────────────────────────────── */
.asymmetric-two-column-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1.15fr 1fr;
  margin-top: 12px;
}
@media (max-width:1000px) {
  .asymmetric-two-column-grid {
    grid-template-columns: 1fr;
  }
}
.distribution-bar-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 8px;
}
.distribution-bar-label-row h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink2);
}

/* ── movers ─────────────────────────────────────────────────────── */
.distribution-bar-label-row a {
  font-size: 13px;
  color: var(--acc-i);
  text-decoration: none;
  font-weight: 700;
}

/* ── app-arow2 ─────────────────────────────────────────────────────── */
.badge-bar-row-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ── variants ─────────────────────────────────────────────────────── */
.badge-bar-row {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
}

/* ── era ─────────────────────────────────────────────────────── */
.badge-bar-row__arrow {
  display: flex;
  align-items: center;
  gap: 11px;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.badge-bar-row__picture {
  flex: 0 0 56px;
  width: 56px;
  aspect-ratio: 745/1040;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid var(--line2);
  background: var(--surf2);
  display: block;
}
.badge-bar-row__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── same ─────────────────────────────────────────────────────── */
.badge-bar-row__picture--none {
  display: grid;
  place-items: center;
}

/* ── era ─────────────────────────────────────────────────────── */
/* 🏷️ 2026-08-10(r7) 개명 — .bar-row-rank-number → .bar-row-set-number
   담는 값이 순위 숫자가 아니라 «세트 + 카드 번호»다(_body-kit.php core_pk_row 의 $sub).
   실측 근거·부르는 곳 목록은 그 파일 주석에 있다. 선언은 한 줄도 바꾸지 않았다. */
.bar-row-set-number {
  display: inline-block;
  margin-left: 6px;
  font-size: 13px;
  font-weight: 700;
  font-style: normal;
  color: var(--mut);
}
.bar-row-bar-column {
  flex: 0 0 128px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}
.bar-row-track {
  display: block;
  width: 100%;
  height: 10px;
  border-radius: 5px;
  background: var(--line2);
  overflow: hidden;
}
.bar-row-track i {
  display: block;
  height: 100%;
  border-radius: 5px;
  background: var(--acc);
}

/* ── same ─────────────────────────────────────────────────────── */
.badge-bar-row--current .bar-row-track i {
  background: var(--acc-i);
}
.badge-bar-row--current {
  border-color: var(--acc);
  /* 📐 2026-08-02 5차 — «이 카드» 행만 좌측 기준선이 12px 오른쪽으로 밀려 있었다(#era·#same 둘 다).
     실측(캐스케이드 접기): 여백을 «누가 지는가»가 두 행에서 갈려 있었다.
       일반 행 li.badge-bar-row.badge-bar-row--link  → padding 0          (.badge-bar-row--link :5403 이 넘긴다)  + .badge-bar-row__arrow 12px = 12px
       이 카드 li.badge-bar-row.badge-bar-row--current → padding 10px 12px  (.badge-bar-row :684 가 그대로 남는다) + .badge-bar-row__arrow 12px = 24px
     즉 이 카드 행만 «li 와 안쪽 링크가 여백을 두 번» 진다. 차이 = 정확히 12px.
     🚫 a↔span 태그 차이는 원인이 «아니다» — .badge-bar-row__arrow(:3907)가 두 경우 모두 display:flex·
        padding:10px 12px·width:100% 로 같은 상자를 만든다(실측 확인). 그래서 태그를 바꾸지
        않는다: 클릭되지 않는 자기 행을 링크로 만드는 것은 거짓 신호다.
     🔒 강조는 손대지 않는다 — 위 border-color(--acc)가 그대로 남는다. 맞추는 것은 정렬뿐이다.
     🔧 2026-08-09 조사 결과 — 이 줄은 «그대로 둔다». 전제(「링크가 12px 을 진다」)가 깨져 있던 것은
        맞지만, 고칠 자리는 여백을 넘기는 세 규칙(:772·:5711·:5837)이 아니라 «넘겨받을 상자를 없애던»
        :10660 한 줄이었다. 그 줄을 고치면 이 줄의 원래 전제가 되살아나 계산이 그대로 맞는다.
        📐 재검산(수리 후): --link·--current 모두 li 0 + 링크 12px = 12px → 차 0(정렬 유지). */
  padding: 0;
}
.bar-denominator-legend {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--mut);
}
.bar-denominator-legend b {
  color: var(--ink2);
  font-weight: 800;
}

/* ── era ─────────────────────────────────────────────────────── */
/* 🔧 68호(2026-08-28 사용자 확정) — 이 wrap 이 «썸네일이 제 줄로 밀려나 오른쪽이
   비는» 결함의 직접 원인이었다(썸네일 56px+본문이 한 줄에 못 들어가면 통째로
   다음 줄로 넘어갔다). 이제 본문 자신이 내부에서 2단(이름줄/막대줄)을 지므로
   바깥 줄은 모바일에서도 «썸네일+본문 한 줄»을 유지해야 한다(사용자 확정 —
   모바일도 데스크톱과 같은 문법). .bar-row-bar-column 관련 모바일 규칙은
   마크업에서 그 칸 자체를 걷어냈으므로(더는 안 쓰는 클래스) 여기서도 함께 뺀다. */
@media (max-width:560px) {
  .badge-bar-row__arrow {
    flex-wrap: nowrap;
  }
}

/* ── variants ─────────────────────────────────────────────────────── */
.row-key-badge {
  flex: none;
  font-size: 13px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 5px;
  background: var(--surf2);
  color: var(--ink2);
  border: 1px solid var(--line2);
  min-width: 60px;
  text-align: center;
}

/* ── app-arow2 ─────────────────────────────────────────────────────── */
.row-key-badge--current {
  background: var(--acc-s);
  color: var(--acc-i);
  border-color: transparent;
}

/* ── variants ─────────────────────────────────────────────────────── */
/* 🔧 68호(2026-08-28 사용자 확정) — 이 칸이 이제 «이름줄 + 막대줄» 2단을 세로로 쌓는
   그릇이 된다(예전엔 이름만 담고, 가격+막대는 옆 칸 .bar-row-bar-column 이 별도로
   졌다 — 그 옆 칸이 좁은 화면에서 통째로 다음 줄로 밀리며 썸네일 옆이 비었다). */
.bar-row-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
/* 1줄 — 이름·세트번호·가격을 «왼쪽부터 이어 붙인다»(우측 끝에 띄우지 않음 — 정보량이
   적어 그렇게 하면 가운데가 빈다는 사용자 판단). */
.bar-row-line1 {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px 8px;
}
.bar-row-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
}
.bar-row-note {
  display: block;
  font-size: 13px;
  color: var(--mut);
  margin-top: 1px;
}
.bar-row-value {
  flex: none;
  font-size: 15px;
  font-weight: 800;
  text-align: right;
}
/* 1줄 안에서는 우측 정렬 대신 이름 바로 뒤에 자연스럽게 붙는다(위 기본값은 다른
   소비처 .ranked-thumbnail-list-rank-row .bar-row-value 등을 위해 그대로 둔다 —
   전수 사용처 그대로 보존, 이 자리만 좁혀서 덮는다). */
.bar-row-line1 .bar-row-value {
  text-align: left;
}

/* ── app-arow2 ─────────────────────────────────────────────────────── */
.bar-row-value small {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
}

/* ── variants ─────────────────────────────────────────────────────── */
.print-variant-shine-map-diagram {
  margin: 12px 0 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surf2);
}
.print-variant-shine-map-diagram>figcaption {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink2);
  margin-bottom: 10px;
}
.print-variant-shine-map-diagram__row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.print-variant-shine-map-diagram__content {
  flex: 1 1 150px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  text-align: center;
}
.print-variant-shine-map-diagram__content svg {
  width: 66px;
  height: 93px;
  display: block;
  margin: 0 auto 8px;
}
.print-variant-shine-map-diagram__content.state-not-issued {
  opacity: .55;
}
.print-variant-shine-map-diagram__key {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 0 3px;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
}
.print-variant-shine-map-diagram__key span {
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--surf2);
}
.print-variant-shine-map-diagram__key span.value-direction-rising {
  color: var(--acc-i);
  background: var(--acc-s);
}
.print-variant-shine-map-diagram__name {
  margin: 0;
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.5;
}
.print-variant-shine-map-diagram__footnote {
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  color: var(--ink2);
  line-height: 1.65;
}

/* ── app-arow2 ─────────────────────────────────────────────────────── */
.block-followup-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  color: var(--mut);
}
.block-followup-note a {
  color: var(--acc-i);
  font-weight: 700;
  text-decoration: none;
}

/* ── app-osc ─────────────────────────────────────────────────────── */
/* 🔄 시안 갱신 사항(2026-08-02) — 시안 :248 은 flex 2열이다. 여기만 2행 격자로 바꾼다.
   사유·근거는 app-layer.php 의 .rank-dial-panel 주석에 적었다(「상자 크기 = 내용 동적」 위반 해소).
   윗행 = [배지][제목] 두 칸이 키를 맞추고, 아랫행 = 설명이 두 칸을 가로질러 전폭을 쓴다. */
.rank-dial-panel {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  column-gap: 12px;
  row-gap: 8px;
  align-items: center;
  padding: 12px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
}
.rank-dial-ring {
  flex: none;
  width: 66px;
  padding: 9px 4px;
  border-radius: 10px;
  text-align: center;
  background: var(--acc-s);
  border: 1px solid color-mix(in srgb,var(--acc) 34%,transparent);
}
.rank-dial-value {
  display: block;
  font-size: 20px;
  font-weight: 800;
  color: var(--acc-i);
  letter-spacing: -.03em;
}
.rank-dial-denominator {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
  margin-top: 1px;
}
/* 제목 — 전에는 설명 문단 안의 <b> 였다. 윗행 배지 옆에서 제 자리를 갖는다. */
.osh {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
  color: var(--ink);
  min-width: 0;
}
.rank-dial-explanation {
  margin: 0;
  grid-column: 1/-1;      /* 아랫행 전폭 — 설명이 좁은 칸에 갇혀 세로로 길어지지 않게 */
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink2);
}
.rank-dial-explanation b {
  color: var(--ink);
}

/* ── app-bento ─────────────────────────────────────────────────────── */
.stat-tile-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 7px;
  margin-top: 12px;
}
/* 🩹 2026-08-11(p28) ⑩ — display:block → grid. 뿌리 설명은 :7644(기준판) 주석 참조.
   이 규칙은 :7644 에 가려 실제로는 안 먹지만, 같은 선택자에 같은 오류가 남아 있으면
   시트를 다시 합치는 날 순서가 뒤집혀 결함이 되돌아온다 — 같이 고쳐 함정을 없앤다. */
.versus-compare-panel {
  display: grid;
  text-decoration: none;
  color: inherit;
  padding: 11px 12px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
}
.versus-compare-panel:hover {
  border-color: var(--acc);
}
.stat-tile-key {
  display: block;
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
  margin-bottom: 3px;
}
.stat-tile-value {
  display: block;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.stat-tile-subtitle {
  display: block;
  font-size: 13px;
  color: var(--mut);
  margin-top: 3px;
}
/* 🩹 R2/R3/R39(2026-08-18 W2) — 「Where it ranks」 곁 순위 타일 글자 넘침·겹침 수리
   ─────────────────────────────────────────────────────────────────────
   ■ 뿌리 = «.versus-compare-panel» 한 이름이 두 뜻을 진다(:8814 부근 .data-story-tile__bars 와
     같은 병 — 이름표 규율 §6814 참조). 진짜 VS 비교판(spec-app.php:437 peak·hub-battle.php:114·
     cell-dex-duo.php:83)은 두 카드를 나란히 맞세우는 3열 격자(기준판 :7750
     display:grid;grid-template-columns:minmax(180px,1fr)auto minmax(180px,1fr)).
     이 스탯 타일(card-app.php:600·spec-app.php:423-424)은 같은 클래스를 anchor 로 빌려 쓰지만
     안에는 .stat-tile-key/.stat-tile-value/.stat-tile-subtitle 세 줄이 «위아래로 쌓이는»
     단일 칸이다 — VS 대조가 아니다.
   ■ 실측 증거 — :1052-1054 주석이 이미 이 충돌을 기록해 두었다: 이 스탯 타일 쪽 규칙은
     원래 display:block 이었는데 2026-08-11(p28) 에 기준판과 «표기만 맞추려고» display:grid 로
     바뀌면서, 기준판의 3열 grid-template-columns 가 좁은 .stat-tile-grid(2열) 칸 안에서
     자식마다 최소 180px 를 요구해 글자가 타일 밖으로 밀려나고 세 줄이 한 행에서 겹쳤다.
   ■ 수리 = PHP 를 건드리지 않고(범위 고정) 부모 .stat-tile-grid 로 스탯 타일 인스턴스만 골라
     display 를 block 으로 되돌린다 — 안쪽 세 span 은 이미 각각 display:block 이라 정상적으로
     위아래로 쌓인다. 진짜 VS 비교판(.stat-tile-grid 밖)은 이 선택자에 닿지 않아 그대로다. */
.stat-tile-grid .versus-compare-panel {
  display: block;
}

/* ── app-actrow ─────────────────────────────────────────────────────── */
.primary-action-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-decoration: none;
  padding: 12px;
  border-radius: var(--r-s);
  background: var(--acc);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  margin-top: 12px;
}
.purchase-action-row {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(clamp(132px,15vw,168px),1fr));
  gap: 8px;
  margin-top: 12px;
}
.purchase-action-row>* {
  min-width: 0;
}
.purchase-action-row .primary-action-button {
  margin: 0;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 11px 12px;
  font-size: 14px;
  white-space: nowrap;
}
.purchase-action-row .primary-action-button b {
  font-weight: 800;
  letter-spacing: -.01em;
}
.purchase-action-caveat {
  margin: 7px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.55;
}
.primary-action-button--question {
  background: var(--surf);
  color: var(--ink);
  border: 1px solid var(--line2);
}
.outline-action-button {
  background: var(--surf);
  color: var(--ink2);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  font-family: inherit;
  /* 🔧 67호 추가관찰(2026-08-28 사용자 호버 실측) — 이 단추는 <a> 인데 형제 클래스
     .primary-action-button(:7857 잣줄)와 달리 text-decoration:none 리셋이 없었다.
     브라우저 기본 밑줄이 라벨·em 부제 두 줄에 각각 그어져(스크린샷 확인) 호버로 글자색이
     진해지며 도드라진 게 사용자가 본 「선」이다 — 의도된 장치 아님(잔재), 형제 클래스와
     맞춘다. */
  text-decoration: none;
  padding: 10px 8px;
}
.outline-action-button:hover {
  border-color: var(--acc);
  color: var(--ink);
}
.outline-action-button:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}
/* 🩹 W2c(2026-08-18) — 구매 단추 안 marketplace-logo 원본 크기 제약
   (card-app.php:281-286 방금 <span class="marketplace-logo"><img …></span> 를 단추 라벨 앞에 추가)
   ─────────────────────────────────────────────────────────────────────
   ■ 뿌리 — 이 맥락(actions 데이터)은 store 약어가 없어(PHP 주석 :278-280) `marketplace-logo--{slug}`
     변형 클래스가 안 붙는다. 크기는 오직 변형 클래스(--ebay/--tcgplayer/--cardmarket/--fanatics-collect)
     쪽 img 규칙(:10593-10595 기준판)이 지는데, 변형이 없으니 그 규칙이 하나도 안 걸리고 바닥 규칙
     `.marketplace-logo img{display:block}`(:10579 기준판)만 남는다 — width/height 미지정이라
     원본 그림 크기(eBay 1000×400 · TCGplayer 801×337)가 그대로 나가 단추 줄이 깨진다.
   ■ 수리 = 이 두 단추 맥락(.primary-action-button·.outline-action-button) 안의 marketplace-logo
     img 만 작게 제약한다. 값 18px = 이 단추의 라벨 글자(font-size 13\14px)와 한 줄에 나란히
     서는 아이콘 높이(다른 곳 값을 베끼지 않고 이 자리 글자 크기에 맞춘 새 스코프값 — 발명이
     아니라 이 자리 전용 사이즈 결정, offers 목록의 56px/32px 는 그쪽 폭 전용값이라 그대로 둔다).
   🔒 회귀 0 — 선택자를 이 두 단추 클래스로 좁혀서 offers 목록(denominator-labelled-row__legend
      .marketplace-logo)·marketplace-offer-card-logo 등 기존 --변형 크기(72×46 등)는 안 건드린다. */
.primary-action-button .marketplace-logo img,
.outline-action-button .marketplace-logo img {
  height: 18px;
  width: auto;
  vertical-align: middle;
}

/* ── app-insight ─────────────────────────────────────────────────────── */
.section-takeaway-block {
  margin-top: 12px;
  padding: 13px 15px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
}
.section-takeaway-block__title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  color: var(--acc-i);
  text-transform: uppercase;
}
.section-takeaway-block ul {
  margin: 0;
  padding-left: 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.section-takeaway-block li {
  font-size: 16px;
  color: var(--ink2);
  line-height: 1.7;
}
.section-takeaway-block b {
  color: var(--ink);
  font-weight: 700;
  margin-right: 3px;
}

/* ── lenshub ─────────────────────────────────────────────────────── */
.lens-entry-panel {
  margin-top: 18px;
  padding: 15px 17px;
  background: var(--surf2);
  border: 1px solid var(--line);
  border-radius: var(--r);
}
.lens-entry-panel__title {
  margin: 0 0 11px;
  font-size: 13px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--mut);
  font-weight: 700;
}

/* ── lenshub-story ─────────────────────────────────────────────────────── */
.data-story-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 9px;
}
@media (max-width:1060px) {
  .data-story-grid {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width:800px) {
  .data-story-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:520px) {
  .data-story-grid {
    grid-template-columns: 1fr;
  }
}
.data-story-tile {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 12px 12px 11px;
  border: 1px solid var(--line2);
  justify-content: flex-start;
  border-radius: var(--r-s);
  background: var(--surf);
  text-decoration: none;
  color: inherit;
  transition: transform .12s,border-color .12s;
}
.data-story-tile:hover {
  transform: translateY(-2px);
  border-color: var(--acc);
}
.data-story-tile:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}
.data-story-tile__question {
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
  letter-spacing: .01em;
  line-height: 1.4;
  min-height: 29px;
}
.data-story-tile__value {
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.data-story-tile__value em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  letter-spacing: 0;
}
.data-story-tile__content {
  display: block;
  width: 100%;
  height: 40px;
}

/* 미니 막대 세트 — 이야기 칸의 «격차» 시각 (2026-08-03 16차 · 점 산포에서 교체)
   ─────────────────────────────────────────────────────────────────────────
   왜 있나 — 점 산포는 값 차이를 28px 높이 안의 «높낮이»로만 말해서, 눈이 「몇 개
     있다」까지만 읽고 격차를 못 읽었다(사용자 지적). 격차는 «길이»라야 읽힌다.
   자리 — 높이 40px 은 위 .data-story-tile__content 와 «같은 값»이다. 이 칸만 키우면 4열 격자에서 같은
     줄의 형제 칸까지 함께 늘어나므로, 시각을 바꾸되 자리는 바꾸지 않는다.
   막대 문법 = 페이지가 이미 쓰는 .bar-row-track(트랙 + 안쪽 i)의 축소판이다(신규 발명 최소).
   글자 — 이 세트에는 글자가 없다. 판본명·값은 title/aria-label 로만 진다(요약 칸이
     본문 #era 의 목록을 글자로 되풀이하지 않는다). */
/* R76(2026-08-20 W3) A-3 정리 — 여기 있던 `.data-story-tile__bars{display:flex;flex-direction:column;
   justify-content:space-between;height:40px}` 을 지운다. 네 선언이 «전부» :9680 기준판에 다시 있고
   그쪽이 뒤라서 이기므로(특히 height 는 40px↔58px 로 값이 갈려 40px 은 한 번도 그려진 적이 없다)
   이 블록은 죽은 선언이었다. 남기면 다음 사람이 «40px 이 실효값»이라 오독한다 — R65 가 그렇게 났다.
   SSOT = :9680 한 곳. */
/* 🩹 R2/R3(2026-08-18 W2) — 「How far apart are the prints?」 이야기 칸 상하 겹침 수리
   ─────────────────────────────────────────────────────────────────────
   ■ 뿌리 = «.data-story-tile__bars» 도 한 이름이 두 뜻을 진다(:6814 지휘 판정 기록 그대로).
     이름 없는 막대 세트(<span>.proportion-bar-track 여러 줄)만 겨눈 위 height:40px 고정은
     40px 안에 막대 몇 줄을 채우는 원래 설계(§1279-1287 주석)에는 맞지만, 2026-08-08 부터
     lens-story.php:186-205 가 «이름표 있는 막대» 변형(<div>.data-story-tile__bars>
     <ul class="attribute-distribution-list">…</ul></div>, 판본마다 라벨행+트랙행 2줄)을 같은
     클래스로 얹었다. 그 변형은 판본 수만큼 실제 높이가 늘어나는데도 부모가 여전히 40px 로
     못박혀 있어, 넘친 목록이 40px 상자 밖으로 그대로 흘러 바로 아래 형제(.data-story-tile__meta
     "N prints carry this name…")와 세로로 겹쳤다.
   ■ 수리 = «이름표 있는» 변형(.attribute-distribution-list 를 자식으로 가진 경우)만 자연
     높이로 되돌린다 — 이름 없는 원래 변형은 이 조건에 걸리지 않아 40px 고정을 그대로
     유지한다(격자 줄 높이 불변·회귀 0). :has() 는 이 시트가 이미 여러 곳에서 쓰는 문법이다. */
.data-story-tile__bars:has(.attribute-distribution-list) {
  height: auto;
  /* 🩹 D2(2026-08-18 · 사용자 「테두리는 지웠는데 왼쪽 여백이 그대로」) — 부모 .data-story-tile__bars(:9447)는
     flex-direction:column + align-items:flex-end 라, 교차축(가로)에서 자식을 오른쪽으로 민다. 라벨 목록<ul>은
     이 칸의 유일한 자식인데 폭 지정이 없어 콘텐츠 폭으로 줄어 오른쪽에 붙고 왼쪽에 빈 자리를 남긴다. 이전엔
     ul 에 테두리+배경 박스가 있어 「좁은 박스가 오른쪽에 있는 것」으로 보였으나(:1361 에서 그 박스를 지움),
     정렬은 그대로라 벌거벗은 목록이 오른쪽에 남고 좌여백만 설명 없이 드러났다. 라벨 목록일 때만 전폭 정렬로
     되돌려 같은 타일의 「Where can you buy it」(compact-value-bar-row)과 좌측선을 맞춘다.
     ⚠️ 정정(Defect A·2026-08-18) — 이 주석은 원래 「비라벨 proportion-bar-track 변형은 이 :has()에
     걸리지 않아 오른쪽 정렬 그대로(회귀 0)」라 적었으나 «틀렸다». 그 변형도 «똑같이» 폭 없이
     찌그러져 막대가 세로 점 5개로 나왔다(사용자: 「Print variant 막대가 세로 점」). 아래 별도 :has()
     로 그 변형도 편다 — 표본(라벨 변형)만 고치고 클래스(전 막대 변형)를 놓친 실수의 교정이다. */
  align-items: stretch;
}
/* 🩹 Defect A(2026-08-18) — D2와 «같은 뿌리»의 비라벨 변형. 이름 없는 막대 세트
   (<span>.proportion-bar-track 여러 줄)도 부모 align-items:flex-end 를 상속해, 폭이 정해지지 않은
   막대가 min-width:3px 「점」으로 찌그러진다(교차축이 세로라 5개가 세로 점으로 늘어선다).
   같은 stretch 를 이 변형에도 준다.
   ⚠️ 정정(R76·2026-08-20 W3) — 이 주석 끝에 있던 「height 무접촉 — 비라벨은 58px 고정 +
      space-between 이 설계다」는 «막대 다섯 줄»을 전제한 말이었다. 실측은 6~7 줄이다(아래). */
/* 🩹 R76(2026-08-20 W3) 허브 12분류 카드 막대 «가는 선» — 두께가 아니라 «세로 여유»가 뿌리다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 실측(허브 렌더 · 트랙 보유 타일 5칸) — 칸당 막대 [6,6,7,7,6] 개.
     상자 = height:58px · padding-bottom:18px(「+N more」 라벨 자리) · gap:5px · box-sizing:border-box
     → 막대가 나눠 쓸 «내용 높이»는 40px 뿐이다.
   ■ 왜 가늘었나 — 트랙은 세로 flex 항목이라 기본 flex-shrink:1 이다. 선언된 6px 가 40px 안에
     들어가려고 눌린다: 6개면 (40−25)/6 = 2.50px · 7개면 (40−30)/7 = 1.43px. 「가는 선」의 정체다.
   ■ 왜 flex:1 + min-height 로는 못 고치나 — 6px×7 + 5px×6 = 72px 라 40px 상자에 «물리적으로»
     안 들어간다. 강제하면 21~32px 이 넘쳐 「+N more」 자리를 먹고 타일 밖으로 밀린다
     (:9676 주석이 기록한 R2/R3 결함의 재발). 그래서 상자를 내용에 맞춘다.
   ■ 처방(A안 · 지휘자 승인) — 이 맥락에서만 상자를 자연 높이로 열고(min-height 로 종전 58px 를
     바닥값으로 지킨다) 트랙은 안 눌리게 못박는다. 개수가 몇이든 넘침이 «수학적으로» 불가능하다
     (상자가 내용을 따라가므로). 두께 9px = 형제 막대 표준(.attribute-distribution-track·
     .distribution-bar-track 이 쓰는 값)과 같은 수라 나란히 놓아도 결이 맞는다.
   🔒 스코프 = :has(.proportion-bar-track) 아래뿐이다. 기준판(:7802 height:6px)도, 이 맥락 «밖»의
      다른 사용처도 이 규칙을 만나지 못한다 — 조상 조건이 안 맞으면 선택자가 발화하지 않는다.
   🔒 padding-bottom:18px·gap:5px·space-between·>i 의 min-width:3px·opacity 체계는 전부 무접촉. */
.data-story-tile__bars:has(.proportion-bar-track) {
  align-items: stretch;
  height: auto;
  min-height: 58px;
}
.data-story-tile__bars:has(.proportion-bar-track) .proportion-bar-track {
  flex: none;
  height: 9px;
}
/* 🩹 W2c(2026-08-18) — 「How far apart are the prints?」 판본 목록의 불필요한 이중 테두리 제거
   (사용자 지적: 「목록을 감싸는 테두리가 불필요」)
   ─────────────────────────────────────────────────────────────────────
   ■ 무엇이 겹치나 — 이 칸을 감싸는 .data-story-tile(:9770 기준판)가 이미 카드 테두리
     (border:1px solid var(--line2))를 지고 있는데, 위 :has() 블록이 겨누는 «이름표 있는»
     변형은 그 안에 .attribute-distribution-list(:9741 기준판 · border:1px solid var(--line))를
     또 두른다. 카드 테두리 안에 목록 테두리 — R24 원칙(이중/불필요 테두리 제거) 위반.
   ■ 수리 = 테두리만 지운다. 배경(var(--surf2))·여백(15px)은 남겨 데이터/여백으로 구분한다
     (R24 원칙 「제거 → 옅은 배경+여백으로 구분」 그대로).
   🔒 다른 맥락(#market 배송비 비교 offer-dist.php · 밴드 목록 pk-band-list.php)의
      .attribute-distribution-list 테두리는 건드리지 않는다 — 자식결합자로 이 칸에만
      스코프한다(특정성 0,2,0 > 기준판 0,1,0 이라 캐스케이드 순서 무관하게 이긴다 · 회귀 0). */
.data-story-tile__bars > .attribute-distribution-list {
  border: 0;
  background: none;   /* R24 후속 — border만 아니라 배경 박스(surf2)·패딩·라운드까지 제거해야 «Where to buy»(compact-value-bar-row, 배경박스 없음)와 시각 일치 */
  padding: 0;
  border-radius: 0;
}
/* R76(2026-08-20 W3) A-3 정리 — 여기 있던 `.proportion-bar-track{display:block;height:6px;
   border-radius:3px;background:var(--line2);overflow:hidden}` 을 지운다. :7806 기준판과 «다섯 값이
   글자까지 동일»한 순수 복제라 지워도 렌더가 한 픽셀도 안 바뀐다. SSOT = :7806 한 곳.
   ⚠️ 이 이름의 «두께 문제»(R76 본안)는 여기가 아니라 부모 칸의 세로 여유가 뿌리다 — 보고 참조. */
.proportion-bar-track > i {
  display: block;
  width: var(--w);
  /* 아주 싼 판본은 비율이 1% 아래라 막대가 «반 픽셀»이 되어 사라진다 — 있는 값을 없는 것처럼
     보이게 하지 않도록 최소 길이를 준다(값 0 인 줄은 애초에 막대를 만들지 않는다). */
  min-width: 3px;
  height: 100%;
  border-radius: 3px;
  background: var(--acc);
  opacity: .38;
}
/* 이 카드 = 강조색 계열. 등락이 아니라 «자기 위치»이므로 방향색(--up/--dn)을 쓰지 않는다 */
.proportion-bar-track--current > i {
  background: var(--acc-i);
  opacity: 1;
}
.proportion-bar-track__more {
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  color: var(--mut);
  text-align: right;
}
.data-story-tile__meta {
  font-size: 13px;
  color: var(--mut);
  line-height: 1.45;
  min-height: 28px;
}

/* ── related ─────────────────────────────────────────────────────── */
.cross-link-list-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
@media (max-width:1000px) {
  .cross-link-list-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:560px) {
  .cross-link-list-grid {
    grid-template-columns: 1fr;
  }
}
.cross-link-list-column {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surf2);
}
.cross-link-list-column h3 {
  margin: 0 0 4px;
  font-size: 15px;
}
.cross-link-list-column .cross-link-list-scope {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--mut);
}
.cross-link-list-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cross-link-list-column li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  padding: 6px 8px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: 7px;
}
.cross-link-list-column a {
  color: var(--ink2);
  text-decoration: none;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cross-link-list-column a:hover {
  color: var(--acc-i);
}
.cross-link-list-column b {
  font-variant-numeric: tabular-nums;
  flex: none;
}
.cross-link-list-column .cross-link-list-more-link {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: var(--acc-i);
  text-decoration: none;
  font-weight: 700;
}

/* ── hist ─────────────────────────────────────────────────────── */
.content-section-block {
  padding: 26px 0 6px;
  border-top: 1px solid var(--line);
  margin-top: 22px;
}
.content-section-block>.section-lead-paragraph {
  margin: 0 0 15px;
  color: var(--ink2);
  font-size: 16px;
  line-height: 1.7;
}
.summary-return-anchor {
  display: inline-block;
  margin: 14px 0 0;
  font-size: 13px;
  color: var(--mut);
  text-decoration: none;
}

/* ── market ─────────────────────────────────────────────────────── */
.visual-block-box {
  margin: 0 0 14px;
}

/* ── prose ─────────────────────────────────────────────────────── */
.body-prose-block {
  display: grid;
  grid-template-columns: minmax(0,1fr) 288px;
  column-gap: 26px;
  align-items: start;
}
.body-prose-block>p {
  grid-column: 1;
  margin: 0 0 13px;
  color: var(--ink2);
  font-size: 16px;
  line-height: 1.78;
}
.body-prose-block>p:last-of-type {
  margin: 0;
}
.body-prose-block strong {
  color: var(--ink);
}
.calculation-basis-aside {
  grid-column: 2;
  grid-row: 1/span 99;
  align-self: start;
  padding: 13px 15px 14px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  position: sticky;
  top: calc(var(--chrome-h, 96px) + 16px);
  max-height: calc(100vh - var(--chrome-h, 96px) - 32px);
  overflow: auto;
}
.calculation-basis-entry__title {
  margin: 0 0 9px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  color: var(--mut);
}
.calculation-basis-entry__label {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.calculation-basis-entry__label li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
}
.calculation-basis-entry__label li:last-child {
  border-bottom: 0;
}
.calculation-basis-entry__label li b {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -.02em;
}
.calculation-basis-entry__name {
  margin: 9px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--mut);
}
@media (max-width:920px) {
  .body-prose-block {
    grid-template-columns: 1fr;
    row-gap: 14px;
  }
}
@media (max-width:920px) {
  .body-prose-block>p,
  .calculation-basis-aside {
    grid-column: 1;
  }
}
@media (max-width:920px) {
  .calculation-basis-aside {
    grid-row: auto;
    position: static;
  }
}

/* ── hist ─────────────────────────────────────────────────────── */
.price-trend-line-titled-box {
  padding: 15px;
  background: var(--surf2);
  border: 1px solid var(--line);
  border-radius: var(--r);
}
.price-trend-line-titled-box figcaption {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink2);
}
.price-trend-line-titled-box svg {
  display: block;
  width: 100%;
  height: 170px;
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.price-trend-line-hover-layer {
  position: relative;
}
.price-trend-line-hover-layer__hitarea {
  position: absolute;
  inset: 0;
  display: flex;
}
.price-trend-line-hover-layer__hitarea>button {
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  position: relative;
  border-radius: 3px;
}
.price-trend-line-hover-layer__hitarea>button:hover,
.price-trend-line-hover-layer__hitarea>button:focus-visible {
  background: color-mix(in srgb,var(--acc) 9%,transparent);
  outline: 0;
}
.price-trend-line-hover-layer__hitarea>button::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--acc);
  opacity: 0;
  transition: opacity .12s;
}
.price-trend-line-tooltip {
  position: absolute;
  left: 50%;
  padding: 9px 12px 10px;
  border-radius: 9px;
  min-width: 172px;
  /* 🚨 2026-08-27 54호 2차 수리 — 아래 __points>button 구획의 clamp 가 "말풍선 절반폭=86px"
     (172px 의 절반)를 상수로 가정했는데, 실측 결과 내용(heading·rank·footnote 텍스트 길이)에
     따라 실제 렌더 폭이 172~278px 로 변했다(예: "Inferno X — 90 damage for 2 Energy (this
     card)"). transform:translate(-50%) 는 그 실제 폭 기준으로 정확히 절반을 밀기 때문에
     가운데 정렬(비-클램프 구간)은 항상 맞았지만, 클램프 상수는 172px 가정이라 폭이 그보다
     넓어지면 다시 넘쳤다(실측 me2-125 x=100 지점: 예상보다 111.5px 더 밀림). 폭 상한을 못
     박아 clamp 상수(아래 163px = 150 절반+13 버튼오프셋)가 항상 유효하도록 만든다. */
  max-width: 300px;
  background: var(--ink);
  color: var(--surf);
  z-index: 6;
  box-shadow: 0 10px 24px rgba(0,0,0,.3);
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .13s ease,transform .13s ease;
}
.price-trend-line-hover-layer__hitarea>button>.price-trend-line-tooltip {
  top: calc(var(--yp)*1%);
  /* 🚨 2026-08-07 라이브 결함 수리 — 「모바일에서 화면이 좌우로 흔들린다」(사용자 실기기)
     ─────────────────────────────────────────────────────────────────────────────
     ■ 무엇이 틀렸나 (헤드리스 390px 실측 · /en/pokemon/set/sv4pt5/)
       말풍선은 짚은 «단추»를 기준으로 가운데 정렬돼 있었다(left:50% + translate(-50%)).
       단추는 점 개수만큼 잘게 나뉘는데(13점 = 한 칸 26.9px) 말풍선은 172px 로 고정이라,
       가장자리 쪽 단추에서는 말풍선이 그림 상자를 그대로 뚫고 나간다.
       실측: 13개 중 왼쪽으로 2개(가장 왼쪽 -26px)·오른쪽으로 2개가 나갔고,
             그중 하나가 화면 오른끝을 26px 넘겼다 → 문서 폭 390 → 416.
       말풍선은 숨어 있어도(visibility:hidden) «자리»는 차지한다. 그래서 아무도 짚지
       않은 평상시에도 문서가 26px 넓어지고, 브라우저가 그만큼 판을 줄이거나 좌우로
       흔들린다. 사용자가 본 것이 이것이다.
     ■ 왜 전에는 안 났나
       첫 칸(:first-child)과 끝 칸(:last-child)만 안쪽으로 붙이는 규칙이 아래에 있다.
       점이 3~4개면 그 둘만 고쳐도 나머지가 안 넘쳤다. 점이 13개가 되면서 둘째·셋째,
       뒤에서 둘째·셋째 칸이 새로 넘치기 시작했다 — 규칙이 «개수에 기대고» 있었다.
     ■ 어떻게 고치나 — 개수에 기대지 않는다
       단추가 «몇째(--i)»이고 «모두 몇(--n)»인지 생성기가 싣는다(price-chart.php ·
       app-layer.php). 여기서는 말풍선의 왼끝을 [상자 왼끝, 상자 오른끝-172px] 안으로
       가둔다. 백분율은 단추 폭 기준이라 (--i+.5)*100% = 이 단추의 «중심»,
       --n*100% = 상자 전체 폭이 된다. 즉 상자 폭을 px 로 몰라도 계산이 선다.
       가로 자리를 left 가 정확히 잡으므로 transform 의 가로 이동(-50%)은 뗀다.
     🔒 172px = .price-trend-line-tooltip 의 min-width(위 구획). 둘을 함께 고쳐야 한다.
     🔒 --i·--n 이 없으면 clamp 의 상한이 하한보다 작아져 0 = 단추 왼끝에 붙는다
        (= 옛 :first-child 자리). 값이 안 실려도 화면이 깨지지 않는다. */
  left: calc(clamp(0px, (var(--i,0) + .5) * 100% - 86px, var(--n,1) * 100% - 172px)
             - (var(--i,0) + .5) * 100% + 50%);
  transform: translate(0,calc(-100% - 16px));
}
.price-trend-line-tooltip__heading {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.01em;
  padding-bottom: 5px;
  border-bottom: 1px solid color-mix(in srgb,var(--surf) 22%,transparent);
  margin-bottom: 2px;
}
.price-trend-line-tooltip__rank {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.price-trend-line-tooltip__rank>i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.price-trend-line-tooltip__rank>span {
  opacity: .78;
}
.price-trend-line-tooltip__rank>b {
  margin-left: auto;
  font-weight: 800;
  letter-spacing: -.02em;
}
.price-trend-line-tooltip__footnote {
  margin-top: 4px;
  padding-top: 5px;
  font-size: 13px;
  font-weight: 600;
  opacity: .8;
  white-space: nowrap;
  border-top: 1px solid color-mix(in srgb,var(--surf) 18%,transparent);
}
.price-trend-line-tooltip__arrow,
.price-trend-line-tooltip .price-trend-line-delta-arrow {
  font-style: normal;
  font-weight: 800;
  margin: 0 2px 0 1px;
}
.price-trend-line-tooltip .price-trend-line-delta-arrow.value-direction-rising {
  color: #6EE7A8;
}
.price-trend-line-tooltip .price-trend-line-delta-arrow.value-direction-falling {
  color: #FF9C8F;
}
/* 🔗 `.entity-link-lit` = 「목록 쪽에서 이 점을 짚었다」 (2026-08-13 p28-g W6 · 사용자 확정)
   양방향은 «완전 대칭»이어야 한다 — 목록 줄에 손을 얹으면 그 점이 «점에 직접 손을 얹었을 때와
   똑같이» 서야 한다(강조 + 말풍선까지). 그래서 여는 조건에 이 클래스를 :hover 와 «나란히» 단다.
   나란히 두는 것이 핵심이다: 새 규칙을 따로 쓰면 두 벌이 되어 한쪽만 고쳐지는 날이 온다. */
.price-trend-line-hover-layer button:hover>.price-trend-line-tooltip,
.price-trend-line-hover-layer button:focus-visible>.price-trend-line-tooltip,
.price-trend-line-hover-layer button.entity-link-lit>.price-trend-line-tooltip {
  opacity: 1;
  visibility: visible;
}
.price-trend-line-hover-layer__hitarea>button:hover>.price-trend-line-tooltip,
.price-trend-line-hover-layer__hitarea>button:focus-visible>.price-trend-line-tooltip {
  /* 가로 자리는 위 clamp 가 left 로 잡는다 — 여기서 -50% 를 다시 걸면 짚는 순간에만
     말풍선이 왼쪽으로 튀어 도로 상자 밖으로 나간다(2026-08-07 수리 짝 규칙). */
  transform: translate(0,calc(-100% - 12px));
}
.price-trend-line-hover-layer__hitarea>button:hover::before,
.price-trend-line-hover-layer__hitarea>button:focus-visible::before {
  opacity: 1;
}
.price-trend-line-hover-layer__hitarea>button:first-child>.price-trend-line-tooltip {
  left: 0;
  transform: translate(0,calc(-100% - 16px));
}
.price-trend-line-hover-layer__hitarea>button:first-child:hover>.price-trend-line-tooltip,
.price-trend-line-hover-layer__hitarea>button:first-child:focus-visible>.price-trend-line-tooltip {
  transform: translate(0,calc(-100% - 12px));
}
.price-trend-line-hover-layer__hitarea>button:last-child>.price-trend-line-tooltip {
  left: auto;
  right: 0;
  transform: translate(0,calc(-100% - 16px));
}
.price-trend-line-hover-layer__hitarea>button:last-child:hover>.price-trend-line-tooltip,
.price-trend-line-hover-layer__hitarea>button:last-child:focus-visible>.price-trend-line-tooltip {
  transform: translate(0,calc(-100% - 12px));
}
@media (prefers-reduced-motion:reduce) {
  .price-trend-line-tooltip {
    transition: none;
  }
}

/* ── hist ─────────────────────────────────────────────────────── */
.price-trend-line-legend {
  display: flex;
  gap: 14px;
  margin-top: 9px;
  font-size: 13px;
  color: var(--mut);
  flex-wrap: wrap;
}
.price-trend-line-legend i {
  display: inline-block;
  width: 11px;
  height: 3px;
  border-radius: 2px;
  margin-right: 5px;
  vertical-align: 3px;
}

/* ── market ─────────────────────────────────────────────────────── */
.visual-box-table-scroll {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surf2);
}
.bar-segment-emphasis {
  background: var(--acc-s);
}

/* ── app-stats ─────────────────────────────────────────────────────── */
.position-spread-gauge-dial {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 9px 11px 10px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  text-align: center;
}
.position-spread-gauge-dial svg {
  width: 100%;
  max-width: 104px;
  height: auto;
  margin: 2px 0 -4px;
}
.position-spread-gauge-inline-tick-text {
  font-size: 12px;
  font-weight: 700;
  fill: var(--mut);
}
.position-spread-gauge-value {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
}
.position-spread-gauge-question {
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
  letter-spacing: .03em;
}
.position-spread-gauge-dial .position-spread-gauge-question {
  align-self: stretch;
  text-align: left;
}
.position-spread-gauge-explanation {
  font-size: 13px;
  color: var(--mut);
  line-height: 1.45;
  margin-top: 2px;
}

/* ── related·app-arow2·movers·hist·deep ─────────────────────────────────────────────────────── */
.page-contents-outline a,
.cross-link-list-column a,
.footer-link-grid a,
.block-followup-note a,
.distribution-bar-label-row a,
.summary-return-anchor,
.deep-dive-panel a {
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  text-decoration-color: color-mix(in srgb,currentColor 55%,transparent);
}
.page-contents-outline a:hover,
.page-contents-outline a:focus-visible,
.cross-link-list-column a:hover,
.cross-link-list-column a:focus-visible,
.footer-link-grid a:hover,
.footer-link-grid a:focus-visible,
.block-followup-note a:hover,
.block-followup-note a:focus-visible,
.distribution-bar-label-row a:hover,
.distribution-bar-label-row a:focus-visible,
.summary-return-anchor:hover,
.summary-return-anchor:focus-visible,
.deep-dive-panel a:hover,
.deep-dive-panel a:focus-visible {
  text-decoration: underline;
}

/* ── related ─────────────────────────────────────────────────────── */
.page-contents-outline a:hover,
.cross-link-list-column a:hover,
.footer-link-grid a:hover {
  color: var(--acc-i);
}

/* ── hist ─────────────────────────────────────────────────────── */
.next-step-link-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 16px 0 0;
  padding-top: 13px;
}
/* R24(2026-08-17): 점선 구분선 제거 — 패딩은 유지(회귀 0) */
.next-step-link-row__key {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--mut);
  margin-right: 2px;
}

/* ── variants ─────────────────────────────────────────────────────── */
.next-step-link-row a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--line2);
  background: var(--surf);
  color: var(--ink2);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .13s,background .13s,color .13s;
}
.next-step-link-row a::after {
  content: "→";
  opacity: .5;
  font-weight: 800;
}
.next-step-link-row a:hover,
.next-step-link-row a:focus-visible {
  border-color: var(--acc);
  background: var(--acc-s);
  color: var(--acc-i);
  text-decoration: underline;
}
.next-step-link-row a:hover::after,
.next-step-link-row a:focus-visible::after {
  opacity: 1;
}

/* ── lenshub-story ─────────────────────────────────────────────────────── */
/* W4-R10(2026-08-20) A-3 정리 — 여기 있던 `.data-story-tile__rows{display:flex;flex-direction:column;
   gap:3px}` 을 지운다. 세 선언이 «전부» :10221 기준판에 다시 있고 그쪽이 뒤라 이기므로 이 블록은
   한 번도 그려진 적이 없다. 특히 gap 은 3px↔5px 로 값이 갈려, 남겨 두면 grep 으로 3px 을 먼저
   만난 사람이 «실효값이 3px» 이라 오독한다(R65 가 그렇게 난 사고다). SSOT = :10221 한 곳. */
.compact-value-bar-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 3.5px 7px;
  border-radius: 4px;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.25;
}
/* R65(2026-08-18 W2) — .compact-value-bar-row>i 중복 정의 제거(SSOT). 이 자리에 있던 규칙은
   :9786(기준판)이 이미 상위집합으로 포함(position/left/top/bottom/width/background/opacity/border-radius
   전부 동일값)한다 — 그쪽이 파일 뒤쪽이라 캐스케이드에서 어차피 항상 이겼으므로(회귀 0),
   여기 남겨 두면 「같은 선택자가 두 곳」이라는 SSOT 위반만 남는다. 유일 정의 = :9786. */
.compact-value-bar-row code {
  position: relative;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: 13px;
  font-weight: 800;
  color: var(--acc-i);
  letter-spacing: .02em;
  flex: 0 0 auto;
}
.compact-value-bar-row b {
  position: relative;
  font-weight: 700;
  color: var(--ink2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.compact-value-bar-row em {
  position: relative;
  margin-left: auto;
  font-style: normal;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--ink);
  flex: 0 0 auto;
}
.compact-value-bar-row--current>i {
  background: var(--dn);
  opacity: .19;
}
.compact-value-bar-row--current b {
  color: var(--ink);
  font-weight: 800;
}
.compact-value-bar-row--current code {
  color: var(--dn);
}
.data-story-tile {
  position: relative;
}
.data-story-tile::after {
  content: "→";
  position: absolute;
  top: 10px;
  right: 11px;
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
  opacity: .5;
  transition: opacity .13s ease,transform .13s ease,color .13s ease;
}
.data-story-tile:hover::after,
.data-story-tile:focus-visible::after {
  opacity: 1;
  color: var(--acc-i);
  transform: translateX(2px);
}
.data-story-tile__question {
  padding-right: 18px;
}

/* ── app-qf ─────────────────────────────────────────────────────── */
.quick-fact-card {
  position: relative;
}
.quick-fact-key {
  padding-right: 16px;
}

/* ── lenshub-story·app-qf ─────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce) {
  .data-story-tile::after {
    transition: none;
  }
}

/* ── lenshub-story ─────────────────────────────────────────────────────── */
.data-story-tile {
  padding-bottom: 9px;
}
.data-story-tile::after {
  content: none;
}
.data-story-tile__go {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  margin-top: auto;
  padding-top: 8px;
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
  letter-spacing: -.01em;
  transition: color .13s ease;
}
.data-story-tile__go::after {
  content: "↓";
  font-weight: 800;
  transition: transform .13s ease;
}
.data-story-tile:hover .data-story-tile__go,
.data-story-tile:focus-visible .data-story-tile__go {
  color: var(--acc-i);
}
/* W-B5-3(2026-08-21) — :hover transform 갈래 제거(같은 선택자 :9679 W-B5-2 수리의 앞 갈래 — transform 은 통째 대체 속성이라 :10256 기준판 rotate(45deg)를 호버가 지웠다. 4시반 고정·색상만 전환). */
.data-story-tile__question {
  padding-right: 0;
}
@media (prefers-reduced-motion:reduce) {
  .data-story-tile__go,
  .data-story-tile__go::after {
    transition: none;
  }
}
.data-story-tile__go::after {
  display: inline-grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: var(--acc-s);
  color: var(--acc-i);
  font-size: 13px;
  line-height: 1;
  transition: transform .13s ease,background .13s ease,color .13s ease;
}
.data-story-tile:hover .data-story-tile__go::after,
.data-story-tile:focus-visible .data-story-tile__go::after {
  background: var(--acc);
  color: #fff;
}

/* ── app-qf·app-meta6 ─────────────────────────────────────────────────────── */
a.meta-tile::after {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--acc-s);
  color: var(--acc-i);
  opacity: .9;
  font-size: 13px;
  line-height: 1;
  top: 9px;
  right: 9px;
}
a.meta-tile:hover::after,
a.meta-tile:focus-visible::after {
  background: var(--acc);
  color: #fff;
  opacity: 1;
}

/* ── variants ─────────────────────────────────────────────────────── */
.next-step-link-row a::after {
  opacity: .75;
  font-weight: 800;
}

/* ── era ─────────────────────────────────────────────────────── */
.versus-compare-panel-compact {
  display: grid;
  grid-template-columns: minmax(150px,1fr) auto minmax(150px,1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  margin-bottom: 12px;
}
@media (max-width:760px) {
  .versus-compare-panel-compact {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.versus-compare-side {
  text-align: center;
  perspective: 700px;
  min-width: 0;
}
.versus-compare-side__picture {
  display: block;
  width: 132px;
  aspect-ratio: 745/1040;
  margin: 0 auto;
  border-radius: 8px;
  border: 1px solid var(--line2);
  overflow: hidden;
  background: var(--surf2);
}
.versus-compare-side__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.versus-compare-side__rank {
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  margin-bottom: 15px;
}
.versus-compare-side--current .versus-compare-side__rank {
  color: var(--acc-i);
}
.versus-compare-side--opponent .versus-compare-side__rank {
  color: var(--gold,var(--mut));
}
.versus-compare-side__name {
  display: block;
  font-size: 14px;
  font-weight: 800;
  margin-top: 6px;
}
.versus-compare-side__meta {
  display: block;
  font-size: 13px;
  color: var(--mut);
  margin-top: 2px;
}
.versus-compare-side__value {
  display: block;
  font-size: 23px;
  font-weight: 800;
  margin-top: 4px;
  letter-spacing: -.02em;
}
/* 🔧 2026-08-08 min-width 0 → 170px — 0 은 시안의 @media(max-width:760px) 값이었다.
   시안 최상위는 「이름 칸이 170px 밑으로는 안 줄어든다」는 넓은 화면 계약이고, 그것이
   빠져 있어서 맞대결 두 칸이 글자 길이대로 들쭉날쭉했다(_값차이-전수.php Ⓜ 로 검출).
   🔒 좁은 화면 해제(min-width:0)는 item-modules.css 끝에 760px 껍질로 다시 씌웠다.
      그 껍질이 없으면 560~760px 구간에서 세 칸이 각각 170px 을 요구해 판이 가로로 넘친다. */
.versus-compare-middle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  min-width: 170px;
  padding: 0 6px;
}
.versus-compare-middle__versus {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--mut);
  border: 2px solid var(--line2);
  background: var(--surf2);
}
@media (max-width:760px) {
  .versus-compare-middle__versus {
    width: 44px;
    height: 44px;
    font-size: 15px;
  }
}
.versus-compare-middle__title {
  font-size: 19px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -.02em;
  text-align: center;
}
.versus-compare-middle__subtitle {
  font-size: 15px;
  color: var(--ink2);
  text-align: center;
  line-height: 1.55;
}
.versus-compare-middle__subtitle b {
  font-size: 23px;
  font-weight: 800;
  display: inline-block;
  margin-top: 2px;
}

/* ── variants ─────────────────────────────────────────────────────── */
.holo-thumb-popup-effect-layer {
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
}
.holo-thumb-popup-effect-layer__heading {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
}
.holo-thumb-popup-effect-layer__row {
  display: grid;
  grid-template-areas: "holo rev";
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(10px,2.2vw,22px);
  align-items: start;
}
@media (max-width:600px) {
  .holo-thumb-popup-effect-layer__row {
    grid-template-areas: "holo" "rev";
    grid-template-columns: minmax(0,1fr);
    row-gap: 16px;
  }
}
.holo-thumb-popup-effect-layer__single-panel {
  min-width: 0;
  padding: 5% 9%;
}
.holo-thumb-popup-effect-layer__single-panel--holo {
  grid-area: holo;
}
.holo-thumb-popup-effect-layer__single-panel--reverse-holo {
  grid-area: rev;
}
.holo-thumb-popup-effect-layer__caption {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin: 0 0 8px;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.45;
}
.holo-thumb-popup-effect-layer__tag {
  font-size: 13px;
  font-weight: 700;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--surf2);
  border: 1px solid var(--line2);
  color: var(--mut);
}
.holo-thumb-popup-effect-layer__tag--active {
  background: var(--acc-s);
  border-color: var(--acc);
  color: var(--acc-i);
}
.holo-thumb-popup-effect-layer__hero {
  width: 100%;
  margin: 0 auto;
  perspective: 900px;
}
.holo-thumb-popup-effect-layer__single-panel--holo .holo-thumb-popup-effect-layer__hero,
.holo-thumb-popup-effect-layer__single-panel--reverse-holo .holo-thumb-popup-effect-layer__hero {
  max-width: clamp(132px,26vw,286px);
}
@media (max-width:600px) {
  .holo-thumb-popup-effect-layer__single-panel--holo .holo-thumb-popup-effect-layer__hero,
  .holo-thumb-popup-effect-layer__single-panel--reverse-holo .holo-thumb-popup-effect-layer__hero {
    max-width: min(330px,78vw);
  }
}
@media (max-width:600px) {
  .holo-thumb-popup-effect-layer__single-panel {
    padding: 0 0 6%;
  }
}
.holo-thumb-popup-effect-layer__shine-note {
  display: inline-block;
  margin-top: 8px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  color: var(--acc-i);
  background: var(--acc-s);
  border: 1px solid var(--acc);
}
.holo-thumb-popup-effect-layer__description {
  margin: 6px 0 0;
  font-size: 13.5px;
  color: var(--ink2);
  line-height: 1.55;
}
.holo-thumb-popup-effect-layer__source-note {
  display: block;
  margin: 5px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.5;
}
.holo-thumb-popup-effect-layer__source-note a {
  color: var(--acc-i);
  font-weight: 700;
}
.holo-thumb-popup-effect-layer__name {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.55;
}
.holo-thumb-popup-effect-layer__single-panel,
.vfxcmp__c {
  display: grid;
  grid-template-rows: auto auto auto;
  row-gap: 8px;
  align-content: start;
}
.holo-thumb-popup-effect-layer__single-panel>*,
.vfxcmp__c>* {
  min-width: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.holo-thumb-popup-effect-layer__hero,
.vfxcmp__w {
  padding: 4% 0;
}

/* ── artist ─────────────────────────────────────────────────────── */
/* 🔄 2026-08-02 반응형 다열(발주 §2-b) — 한 열 목록에서 auto-fit 격자로 바꾼다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 왜 — 칸 하나가 세로비 745/1040 썸네일 + 두세 줄 글이라 실제로 필요한 폭은 340px 안팎이다.
     그런데 한 열이면 데스크톱(내용 폭 1300px)에서 한 칸이 1300px 로 늘어나, 정보량 대비
     가로가 네 배 남는다(오른쪽 여백 과다 = 사용자 적발의 뿌리).
   ■ 최소 궤도폭 340px 의 근거(발명 0) — 시안 칸이 «내용으로» 요구하는 폭이다:
       썸네일 최대 88 + 열 간격 16 + 정보 열 236(이름 15px·세트명 13px 이 두 줄 안에 드는 폭)
     = 340px. 이 값이 요구 배치와도 정확히 맞는다(gap 20px · 내용 폭 = 시안 .page-document-wrapper 1340−40):
       내용 1300 → floor((1300+20)/(340+20)) = 3열     (1300px 3열 ✔)
       태블릿 780 → floor(( 780+20)/360) = 2열          (2열 ✔)
       폰   350 → floor(( 350+20)/360) = 1열            (1열 ✔)
   🔒 고정 열수 미디어쿼리를 쓰지 않는다 — 칸 폭을 재는 것은 브라우저가 하고, 우리는
      「한 칸이 몇 px 아래로는 못 내려간다」만 적는다(가변 개수 목록 규칙과 정합). */
.ranked-thumbnail-list-bar-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 20px;
  margin-top: 12px;
}
/* 340px 궤도가 «담기지 않는» 좁은 화면에서는 minmax 의 최소가 넘침을 만든다 —
   그 구간만 1fr 로 풀어 준다(열 수를 정하는 것이 아니라 넘침을 막는 것이다). */
@media (max-width:380px) {
  .ranked-thumbnail-list-bar-row {
    grid-template-columns: minmax(0,1fr);
  }
}
.ranked-thumbnail-list-bar-row__content {
  display: grid;
  /* 🔄 시안 갱신 사항(2026-08-02) — 시안값 clamp(96px,13vw,132px) 에서 낮춘다.
     사유 = 확정 조항 「상자 크기 = 내용 동적」. 이 칸의 그림은 세로비 745/1040 이라
     폭 96~132px 이면 높이가 134~184px 가 된다. 그런데 오른쪽 정보 열이 실제로 차지하는
     높이는 이름 20 + 세트·번호 19 + 순위 18 + 막대 6 + 행간 18 ≈ 81~101px 다(실측 계산).
     즉 셀 높이를 «그림»이 정하고 정보 옆에 빈 세로가 남는다 — 사용자 지적 「우측 여백 과다」의
     뿌리가 여기다. 그림을 정보 높이에 맞추면(폭 64~88px → 높이 89~123px) 둘이 균형을 이룬다.
     🔒 시안 자체가 세로로 큰 쪽이라 시안값을 그대로 두면 조항 위반이 남는다 — 그래서 갱신이다. */
  grid-template-columns: clamp(64px,8.5vw,88px) minmax(0,1fr);
  column-gap: clamp(12px,1.6vw,16px);
  align-items: center;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.ranked-thumbnail-list-bar-row__picture {
  display: block;
  width: 100%;
  aspect-ratio: 745/1040;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--line2);
  background: var(--surf2);
  container-type: inline-size;
}
.ranked-thumbnail-list-bar-row__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ranked-thumbnail-list-bar-row__picture .card-image-fallback {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border: 0;
  border-radius: 8px;
}

/* ── same ─────────────────────────────────────────────────────── */
.badge-bar-row__picture--none {
  display: block;
  overflow: hidden;
}
.badge-bar-row__picture--none .card-image-fallback {
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border: 1px solid var(--line2);
  border-radius: 6px;
  background: var(--surf2);
  padding: 3px 4px;
  gap: 1px;
  text-align: center;
  overflow: hidden;
}
.badge-bar-row__picture--none .card-image-fallback__header {
  display: block;
  min-width: 0;
}
.badge-bar-row__picture--none .card-image-fallback__name {
  display: block;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--ink2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}
.badge-bar-row__picture--none .card-image-fallback__artwork {
  display: grid;
  place-items: center;
  min-height: 0;
}
.badge-bar-row__picture--none .card-image-fallback__meta {
  font-size: 8px;
  font-style: normal;
  line-height: 1.1;
  color: var(--mut);
}
.badge-bar-row__picture--none .card-image-fallback__footer {
  display: flex;
  justify-content: space-between;
  gap: 2px;
  min-width: 0;
}
.badge-bar-row__picture--none .card-image-fallback__set {
  font-size: 8px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--mut);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 64%;
}
.badge-bar-row__picture--none .card-image-fallback__content {
  font-size: 8px;
  font-style: normal;
  line-height: 1.1;
  color: var(--mut);
}

/* ── variants · 반짝임 대조(.holo-thumb-popup-effect-layer) ───────────────────────────────────
   시안 출처 = `_시안/tcggrail-entity-full.html` :663-717 · :733-737 · :803 · :806
   2026-08-02 이식 — 이 구역이 라이브에 «통째로» 없었다(미이식 구역 census 로 적발).
   값은 시안 원문 그대로다(발명 0). 시안이 같은 선택자를 두 벌 적은 것(.holo-thumb-popup-effect-layer__single-panel·.holo-thumb-popup-effect-layer__hero)은
   «마지막 벌이 이긴다»로 여기서 한 벌로 합쳤다 — 화면에 그려지는 결과가 같다. */
.holo-thumb-popup-effect-layer {
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
}
.holo-thumb-popup-effect-layer__heading {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
}
/* 자리를 «이름»으로 고정한다 — 절대배치·띄움 조립 0.
   견주는 쌍은 «같은 크기»여야 비교가 성립한다(시안 :666-669 사용자 확정 조항). */
.holo-thumb-popup-effect-layer__row {
  display: grid;
  grid-template-areas: "holo rev";
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(10px,2.2vw,22px);
  align-items: start;
}
@media (max-width:600px) {
  .holo-thumb-popup-effect-layer__row {
    grid-template-areas: "holo" "rev";
    grid-template-columns: minmax(0,1fr);
    row-gap: 16px;
  }
}
/* 3단 배치(그림 행·글자 행이 각자 자리) + 기울기 여유를 안쪽 여백으로 잡는다 */
.holo-thumb-popup-effect-layer__single-panel {
  min-width: 0;
  padding: 5% 9%;
  display: grid;
  grid-template-rows: auto auto auto;
  row-gap: 8px;
  align-content: start;
}
.holo-thumb-popup-effect-layer__single-panel > * {
  min-width: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.holo-thumb-popup-effect-layer__single-panel--holo { grid-area: holo; }
.holo-thumb-popup-effect-layer__single-panel--reverse-holo  { grid-area: rev; }
.holo-thumb-popup-effect-layer__caption {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin: 0 0 8px;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.45;
}
.holo-thumb-popup-effect-layer__tag {
  font-size: 13px;
  font-weight: 700;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--surf2);
  border: 1px solid var(--line2);
  color: var(--mut);
}
.holo-thumb-popup-effect-layer__tag--active {
  background: var(--acc-s);
  border-color: var(--acc);
  color: var(--acc-i);
}
/* 카드 한 벌 = 상단 히어로와 «같은» 엔진 클래스(구현 이원화 금지) */
.holo-thumb-popup-effect-layer__hero {
  width: 100%;
  margin: 0 auto;
  perspective: 900px;
  padding: 4% 0;
}
.holo-thumb-popup-effect-layer__single-panel--holo .holo-thumb-popup-effect-layer__hero,
.holo-thumb-popup-effect-layer__single-panel--reverse-holo .holo-thumb-popup-effect-layer__hero {
  max-width: clamp(132px,26vw,286px);
}
@media (max-width:600px) {
  .holo-thumb-popup-effect-layer__single-panel--holo .holo-thumb-popup-effect-layer__hero,
  .holo-thumb-popup-effect-layer__single-panel--reverse-holo .holo-thumb-popup-effect-layer__hero {
    max-width: min(330px,78vw);
  }
  .holo-thumb-popup-effect-layer__single-panel { padding: 0 0 6%; }
}
.holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card {
  width: 100%;
  --card-radius: 12px;
}
.holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__front {
  border-radius: var(--card-radius);
  overflow: hidden;
}
.holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__front img {
  width: 100%;
  height: auto;
  display: block;
}
/* 그린 상자 = 잡은 자리가 되게 «튀어나옴»만 끈다(기울기·빛은 정보라 남긴다) */
.holo-thumb-popup-effect-layer .holo-thumb-popup-card__translater { --translate-z: 0.01px; }
/* 반짝이는 «자리»를 글로 짚는다 — 사진을 자르지 않고 말로 가리킨다.
   inline-block 이다: 문장을 담는 상자에 flex 를 쓰면 낱말 사이가 벌어져 문장이 아니게 된다. */
.holo-thumb-popup-effect-layer__shine-note {
  display: inline-block;
  margin-top: 8px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  color: var(--acc-i);
  background: var(--acc-s);
  border: 1px solid var(--acc);
}
.holo-thumb-popup-effect-layer__description {
  margin: 6px 0 0;
  font-size: 13.5px;
  color: var(--ink2);
  line-height: 1.55;
}
.holo-thumb-popup-effect-layer__source-note {
  display: block;
  margin: 5px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.5;
}
.holo-thumb-popup-effect-layer__source-note a {
  color: var(--acc-i);
  font-weight: 700;
}
.holo-thumb-popup-effect-layer__name {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.55;
}
.holo-thumb-popup-effect-layer__bar { min-width: 0; }
/* 움직임을 줄여 달라는 설정 — 기울기만 멈춘다(빛은 정보라 남긴다) */
@media (prefers-reduced-motion:reduce) {
  .holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__rotator,
  .holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__translater {
    transform: none !important;
  }
}

/* ── artist ─────────────────────────────────────────────────────── */
.ranked-thumbnail-list-bar-row__body {
  display: grid;
  row-gap: 6px;
  align-content: center;
  min-width: 0;
}
.ranked-thumbnail-list-bar-row__name {
  display: block;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--ink2);
  overflow-wrap: anywhere;
}
.ranked-thumbnail-list-bar-row__current {
  display: inline-block;
  margin-left: 7px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
  vertical-align: middle;
  background: var(--acc);
  color: #fff;
}
.ranked-thumbnail-list-bar-row__meta {
  display: block;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
/* 🔢 순번(2026-08-02) — 이 격자는 «값 내림차순»을 스스로 주장한다. 주장하는 순서가 있으면
   숫자를 찍어야 읽는 사람이 그것을 확인할 수 있다(순서를 주장하지 않는 격자에는 안 나온다).
   자리 = 그림 왼쪽 위 모서리. 그림 «위»에 얹지 않는다 — 얹으면 카드 그림을 가린다. */
.ranked-thumbnail-list-bar-row__content {
  position: relative;
}
.ranked-thumbnail-list-bar-row__ordinal {
  position: absolute;
  top: -7px;
  left: -7px;
  z-index: 2;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--ink2);
  color: var(--surf);
  font-size: 12px;
  font-weight: 800;
  line-height: 22px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* ── 줄의 순번 — «순서가 곧 뜻인» 줄에서만 선다 (2026-08-02 7차 · 진화 계보) ────────
   값 순으로 세운 줄은 막대 길이가 순서를 말하므로 번호가 없다. 계보는 진화 «차례»라
   막대가 그 뜻을 못 지므로 그 구역에서만 차례를 숫자로 적는다(마크업도 그때만 나온다).
   🔒 새 모양을 만들지 않는다 — 바로 위 .ranked-thumbnail-list-bar-row__ordinal(작가 결합 격자의 순번)와 «같은 값»이다.
      다른 것은 앉는 방식뿐이다: 격자에서는 칸 모서리에 얹히지만(절대 배치), 줄에서는
      그림 왼쪽에 «자리를 차지하고» 서야 줄이 겹치지 않는다. */
.badge-bar-row__ordinal {
  flex: 0 0 auto;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--ink2);
  color: var(--surf);
  font-size: 13px;
  font-weight: 800;
  line-height: 22px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
/* R6-G(2026-08-02) — 순위 줄 + 그 자리를 그리는 막대.
   막대 문법은 이 시트가 이미 쓰는 것을 그대로 쓴다(.bar-row-track/.bar-row-track i — 새 문법을 만들지 않는다).
   높이만 6px 로 낮춘다: 순위 줄의 곁 신호라 본문 순위 막대(10px)와 무게가 같으면 안 된다.
   🔄 2026-08-02 — 이 두 줄은 이제 «칸마다»가 아니라 구역에 «한 번» 쓰인다(.ranked-thumbnail-list-bar-row__self).
      칸마다 두면 다른 작품의 서열을 12번 되풀이하게 되고, 그것이 중복 나열의 한 벌이었다. */
.ranked-thumbnail-list-bar-row__rank {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mut);
  line-height: 1.4;
}
.ranked-thumbnail-list-bar-row__bar {
  display: block;
  width: 100%;
  /* 📏 폭 상한(2026-08-02 · 발주 §3) — 막대가 컨테이너 전폭으로 늘어나면 「값이 그만큼
     길다」는 거짓 신호가 된다(막대 길이 = 값). 시안이 같은 성격의 막대에 준 폭을 상한으로
     쓴다: 시안 .attribute-distribution-track(격차 막대)은 .attribute-distribution-list 안에서 살고, .attribute-distribution-list 는 본문 폭이 아니라 «상자» 폭이다.
     실측 기준 = 시안 .page-document-wrapper 내용 폭 1300px 에서 이 계열 막대가 서던 폭 ≈ 420px(3열 칸 폭). */
  max-width: 420px;
  /* 🔄 2026-08-02 5차(사용자: 「오른쪽 정보 영역에 있던 막대 차트가 없어졌다」)
     ──────────────────────────────────────────────────────────────────────────
     실측하면 막대는 «사라지지 않았다» — 마크업도 CSS 도 살아 있고 렌더도 된다.
     사라진 것은 «차트로 읽히는 성질»이다: 6px 짜리 민무늬 띠 한 줄은 눈금이 없어
     길이를 견줄 자가 없고, 이 카드는 1위라 폭이 100% 라서 «꽉 찬 회색 줄»로만 보였다.
     그래서 되살리는 것은 장치가 아니라 «읽는 자»다.
     ① 굵기·모서리를 이 페이지가 이미 쓰는 자리 막대와 같은 자로 맞춘다(.bar-row-track :743 = 10px/5px).
        새 문법을 만들지 않는다 — 시안에는 이 장치가 아예 없으므로(census 0) 지시대로
        페이지 안 동종 장치의 문법을 그대로 빌린다.
     ② 눈금을 넣는다 — 4등분(25%) 자를 막대 «위»에 얹어 채운 길이를 견줄 수 있게 한다.
        🔒 눈금은 ::after 로 얹는다. 바탕에 그리면 채움(i)이 그 위를 덮어 눈금이 사라진다.
        🔒 눈금은 «비율 자»다 — 값을 만들지 않으므로 원자와 어긋날 것이 없다.
     🚫 최고/최저 경계값을 막대의 «양 끝»에 붙이지 않았다: 이 막대의 축은 값이 아니라
        순위(1위가 가장 김)다. 값 경계를 축 끝에 붙이면 「왼쪽이 최고가」라는 거짓 축이 된다.
        경계값은 아래 .ranked-thumbnail-list-bar-row__self-l 이 곁에서 그대로 말한다(원자 high·low). */
  height: 10px;
  border-radius: 5px;
  background: var(--line2);
  overflow: hidden;
  position: relative;
}
.ranked-thumbnail-list-bar-row__bar i {
  display: block;
  height: 100%;
  border-radius: 5px;
  background: var(--acc);
}
.ranked-thumbnail-list-bar-row__bar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(to right,
    transparent 0 calc(25% - 1px),
    color-mix(in srgb,var(--surf) 82%,transparent) calc(25% - 1px) 25%);
}
.ranked-thumbnail-list-bar-row__content[href]:hover .ranked-thumbnail-list-bar-row__picture {
  border-color: var(--acc);
}
/* 전체 보기 — 담은 12칸보다 실제로 더 있을 때만 나온다(마크업 자체가 조건부).
   화살표는 SVG 획이다 — 글자 「→」는 굵기가 안 먹어 링크 신호로서 무게를 못 진다. */
.ranked-thumbnail-list-bar-row__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 9px 15px;
  border-radius: 999px;
  border: 1px solid var(--acc);
  background: var(--acc-s);
  color: var(--acc-i);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}
.ranked-thumbnail-list-bar-row__all:hover,
.ranked-thumbnail-list-bar-row__all:focus-visible {
  background: var(--acc);
  color: #fff;
}
.ranked-thumbnail-list-bar-row__all-a {
  display: inline-flex;
  align-items: center;
}
.ranked-thumbnail-list-bar-row__all-a svg {
  display: block;
}
/* 이 카드의 자리 — 칸마다 흩어져 있던 순위 막대가 «한 줄»로 모인 자리(발주 §2-e).
   여기가 답하는 것은 「다른 작품이 어떻게 서는가」가 아니라 「이 카드가 어디 앉는가」다. */
.ranked-thumbnail-list-bar-row__self {
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surf2);
}
.ranked-thumbnail-list-bar-row__self-t {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink2);
  line-height: 1.4;
}
.ranked-thumbnail-list-bar-row__self-l {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
}
.ranked-thumbnail-list-bar-row__self-l li {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: 13px;
  color: var(--mut);
}
.ranked-thumbnail-list-bar-row__self-l b {
  font-size: 15px;
  font-weight: 800;
  color: var(--ink2);
  font-variant-numeric: tabular-nums;
}
.ranked-thumbnail-list-bar-row__self-n {
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--mut);
  line-height: 1.55;
}
.ranked-thumbnail-list-bar-row__note {
  display: block;
  margin-top: 20px;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.6;
}
.ranked-thumbnail-list-bar-row__note b {
  font-weight: 800;
  color: var(--ink2);
}

/* ── app-bento ─────────────────────────────────────────────────────── */
.versus-compare-panel {
  position: relative;
  padding-right: 30px;
}
/* R52(2026-08-20 W3-CSS) 화살표를 «링크일 때만» — 아래 세 자리 전부에 `a` 자격을 붙인다.
   ■ 결함 ─ `.versus-compare-panel` 은 두 가지로 쓰인다: card-app.php:607 은 <a>(진짜 링크),
     hub-battle.php:114 는 <div>(자식 카드만 각각 링크인 «묶음 상자»). 화살표 규칙이 이름만 보고
     붙어서 비링크 묶음 상자에도 「여기를 누르면 간다」는 거짓 신호가 떴다.
   ■ 왜 세 자리 «전부» 인가 ─ 이 가상요소는 :2932(↓ 모양·상자 속성) · :3023(→ 로 글자 갈아끼움) ·
     :8624(기준판 전량) 세 곳에 정의돼 있다(A-3). 마지막 한 곳만 한정하면 앞 두 곳이 남아
     비링크 상자에 화살표가 그대로 뜬다 — 한쪽만 고치는 전형적 재발 자리다.
   🔒 문법은 이 사이트 관행을 그대로 쓴다 ─ `a.stat-tile-metric__content::after`(#11 판례)와
      `.module-link-grid__pill[href^="/"]::after`(R13/R43 판례)가 이미 «태그·속성 자격»으로 한정한다.
      :has() 는 이 시트에 링크 판정 용례가 없어 쓰지 않는다(새 문법 도입 0).
   📌 남겨 둔 판단거리 ─ 화살표 자리를 비워 두던 `padding-right:30px`(:2930·기준판)은 그대로 두었다.
      비링크 상자에서 30px 가 «빈 자리»로 남지만, 3열 격자라 안쪽 정렬은 대칭을 유지한다.
      링크 전용으로 가를지는 지휘자 판단 항목으로 올린다(이 회차 무편집). */
a.versus-compare-panel::after {
  content: "↓";
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--acc-s);
  color: var(--acc-i);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: transform .13s ease,background .13s ease,color .13s ease;
}
a.versus-compare-panel:hover::after,
a.versus-compare-panel:focus-visible::after {  /* R52(2026-08-20 W3-CSS) */
  background: var(--acc);
  color: #fff;
  transform: translateY(2px);
}
.versus-compare-panel:hover,
.versus-compare-panel:focus-visible {
  border-color: var(--acc);
}

/* ── related ─────────────────────────────────────────────────────── */
.cross-link-list-column .cross-link-list-more-link {
  display: flex;
  align-items: center;
  gap: 5px;
}
.cross-link-list-column .cross-link-list-more-link::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--acc-s);
  color: var(--acc-i);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: transform .13s ease,background .13s ease,color .13s ease;
}
.cross-link-list-column .cross-link-list-more-link:hover::after,
.cross-link-list-column .cross-link-list-more-link:focus-visible::after {
  background: var(--acc);
  color: #fff;
  transform: translateX(2px);
}

/* ── hist ─────────────────────────────────────────────────────── */
.summary-return-anchor {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
}
.summary-return-anchor::before {
  content: "↑";
  display: inline-grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--surf2);
  border: 1px solid var(--line2);
  color: var(--mut);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: transform .13s ease,background .13s ease,color .13s ease;
}
.summary-return-anchor:hover::before,
.summary-return-anchor:focus-visible::before {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
  transform: translateY(-2px);
}
.summary-return-anchor:hover,
.summary-return-anchor:focus-visible {
  color: var(--acc-i);
}

/* ── app-qf·app-meta6·app-bento ─────────────────────────────────────────────────────── */
a.meta-tile::after,
a.versus-compare-panel::after {  /* R52(2026-08-20 W3-CSS) */
  content: "→";
}
a.meta-tile:hover::after,
a.meta-tile:focus-visible::after,
a.versus-compare-panel:hover::after,
a.versus-compare-panel:focus-visible::after {  /* R52(2026-08-20 W3-CSS) */
  transform: translateX(2px);
}

/* ── lenshub-story ─────────────────────────────────────────────────────── */
.data-story-tile__go::after {
  content: "→";
}
/* W-B5-3(2026-08-21) — :hover transform 갈래 제거(lenshub-story 갈래 · 위 :2122 자리와 동일 수리). */
.compact-value-bar-row--gap {
  justify-content: center;
  padding: 1px 0;
  color: var(--mut);
  font-size: 13px;
  font-weight: 700;
  opacity: .6;
}
.compact-value-bar-row--gap::before,
.compact-value-bar-row--gap::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line2);
  margin: 0 7px;
}

/* ── deep ─────────────────────────────────────────────────────── */
.deep-dive-panel .key-value-line--current {
  background: color-mix(in srgb,var(--dn) 8%,transparent);
  border-radius: 4px;
  padding-left: 5px;
  padding-right: 5px;
  margin: 0 -5px;
}

/* ── lenshub-story ─────────────────────────────────────────────────────── */
.compact-value-bar-row {
  border-left: 3px solid transparent;
  padding-left: 8px;
}
.compact-value-bar-row[style*="--bar"] {
  border-left-color: var(--bar);
}

/* ── app-stats ─────────────────────────────────────────────────────── */
.card-set-name {
  display: block;
  margin-top: 3px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink2);
  letter-spacing: -.01em;
  line-height: 1.35;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.offer-compare-panel {
  margin-top: 12px;
  padding: 14px 15px 12px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
}
.denominator-labelled-row__heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.denominator-labelled-row__heading .visual-block-heading {
  margin: 0;
}
.denominator-labelled-row__reading-hint {
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
}
.denominator-labelled-row__label {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.denominator-labelled-row {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) 108px 104px 72px minmax(0,1.4fr) 104px;
  gap: 11px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: var(--r-s);
  background: var(--surf2);
}
.denominator-labelled-row--low {
  /* 2026-08-28 62호(사용자 확정) — 60호가 --up→--gold 로 옮겼던 것을 다시 --gold→--buy 로
     («마켓 비교표» 골드 전면 소거·전용 행동색). --up/--dn 재사용 금지 원칙은 그대로 유지. */
  border-color: var(--buy);
  background: color-mix(in srgb,var(--buy) 9%,var(--surf2));
}
.denominator-labelled-row__meta {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.denominator-labelled-row__legend {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: var(--acc-s);
  color: var(--acc-i);
  font-size: 13px;
  font-weight: 800;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
}
.denominator-labelled-row__market-name {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
}
.denominator-labelled-row__market-name em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.denominator-labelled-row__picture,
.denominator-labelled-row__title {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.denominator-labelled-row__picture b,
.denominator-labelled-row__title b {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.denominator-labelled-row__title b {
  color: var(--ink);
}
.denominator-labelled-row__picture em,
.denominator-labelled-row__title em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
}
.denominator-labelled-row__badge {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  /* 2026-08-28 62호(사용자 확정) — --gold→--buy(마켓 비교표 골드 전면 소거) */
  background: var(--buy);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.denominator-labelled-row__diff {
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
}
.denominator-labelled-row__name {
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
  line-height: 1.45;
}
.denominator-labelled-row__button {
  display: grid;
  place-items: center;
  padding: 9px 10px;
  border-radius: 8px;
  background: var(--surf);
  border: 1px solid var(--line2);
  color: var(--ink2);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background .13s,border-color .13s,color .13s;
}
.denominator-labelled-row--low .denominator-labelled-row__button {
  /* 2026-08-28 62호(사용자 확정) — --gold→--buy */
  background: var(--buy);
  border-color: var(--buy);
  color: #fff;
}
.denominator-labelled-row__button:hover,
.denominator-labelled-row__button:focus-visible {
  border-color: var(--acc);
  background: var(--acc);
  color: #fff;
}
.denominator-labelled-row__footnote {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.6;
}
@media (max-width:1080px) {
  .denominator-labelled-row {
    grid-template-columns: minmax(0,1.4fr) 104px 100px 68px 104px;
  }
}
@media (max-width:1080px) {
  .denominator-labelled-row__name {
    display: none;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row {
    grid-template-columns: 1fr auto;
    gap: 7px 10px;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__meta {
    grid-column: 1/-1;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__picture,
  .denominator-labelled-row__title {
    flex-direction: row;
    align-items: baseline;
    gap: 6px;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__description {
    justify-self: end;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__button {
    grid-column: 1/-1;
  }
}

/* ── app-art ─────────────────────────────────────────────────────── */
.holo-thumb-popup-artwork-frame {
  background: none;
  border: 0;
  padding: 0;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,.34));
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.price-trend-line-band {
  margin-top: 14px;
  padding: 14px 15px 12px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
}
.price-trend-line-band>input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.price-trend-line-chart__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 9px;
}
.price-trend-line-chart__heading .visual-block-heading {
  margin: 0;
}
.price-trend-line-period-switch {
  display: inline-flex;
  gap: 3px;
  padding: 3px;
  border-radius: 8px;
  background: var(--surf2);
  border: 1px solid var(--line);
}
.price-trend-line-period-switch label {
  padding: 5px 11px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
  cursor: pointer;
  transition: background .13s,color .13s;
}
.price-trend-line-period-switch label:hover {
  color: var(--ink2);
}
.price-trend-line-chart__content {
  position: relative;
  height: 120px;
}
.price-trend-line-chart__picture {
  display: none;
  position: relative;
  height: 120px;
}
.price-trend-line-chart__graphic {
  display: block;
  width: 100%;
  height: 120px;
}
.price-trend-line-chart__footnote {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--mut);
  font-weight: 600;
  line-height: 1.5;
}
.price-trend-line-chart__name {
  display: none;
}
.price-trend-line-chart__name b {
  font-weight: 800;
  margin-left: 3px;
}
#tp-d7:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--days-7,
#tp-d30:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--days-30,
#tp-d90:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--days-90,
#tp-y1:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--year-1 {
  display: block;
}
#tp-d7:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--days-7,
#tp-d30:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--days-30,
#tp-d90:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--days-90,
#tp-y1:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--year-1 {
  display: inline;
}
#tp-d7:checked~.price-trend-line-chart__heading label[for="tp-d7"],
#tp-d30:checked~.price-trend-line-chart__heading label[for="tp-d30"],
#tp-d90:checked~.price-trend-line-chart__heading label[for="tp-d90"],
#tp-y1:checked~.price-trend-line-chart__heading label[for="tp-y1"] {
  background: var(--acc);
  color: #fff;
}
.price-trend-line-band>input:focus-visible~.price-trend-line-chart__heading .price-trend-line-period-switch {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.offer-compare-panel {
  background: var(--surf2);
  border-color: var(--acc);
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--acc) 12%,transparent);
}
.denominator-labelled-row {
  background: var(--surf);
  border-color: var(--line2);
}
/* 2026-08-28 62호(사용자 확정) — 이하 블록 전부 --gold→--buy(마켓 비교표 골드 전면 소거) */
.denominator-labelled-row--low {
  border-color: var(--buy);
  border-width: 2px;
  padding: 8px 10px;
  background: color-mix(in srgb,var(--buy) 14%,var(--surf));
  box-shadow: 0 2px 12px color-mix(in srgb,var(--buy) 22%,transparent);
}
.denominator-labelled-row--low .denominator-labelled-row__legend {
  background: var(--buy);
  color: #fff;
}
.denominator-labelled-row--low .denominator-labelled-row__title b {
  color: var(--buy);
}
.denominator-labelled-row__badge {
  box-shadow: 0 2px 8px color-mix(in srgb,var(--buy) 40%,transparent);
}
.denominator-labelled-row__button {
  background: var(--surf2);
  color: var(--ink);
  border-color: var(--line2);
}
.denominator-labelled-row--low .denominator-labelled-row__button {
  /* 2026-08-28 62호(사용자 확정) — --gold→--buy */
  box-shadow: 0 2px 10px color-mix(in srgb,var(--buy) 38%,transparent);
}
.denominator-labelled-row__group {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 2px 0 7px;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink2);
  letter-spacing: -.01em;
}
.denominator-labelled-row__group span {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--surf);
  border: 1px solid var(--line2);
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
}
.denominator-labelled-row__group--reference {
  margin-top: 12px;
  padding-top: 11px;
  color: var(--mut);
}
/* R24(2026-08-17): 점선 구분선 제거 — 패딩은 유지(회귀 0) */
/* 2026-08-28 62호(사용자 확정) — 이하 블록 전부 --gold→--buy(마켓 비교표 골드 전면 소거) */
.denominator-labelled-row--low {
  border-color: var(--buy);
  border-width: 2px;
  background: color-mix(in srgb,var(--buy) 12%,var(--surf));
  box-shadow: 0 2px 12px color-mix(in srgb,var(--buy) 26%,transparent);
}
.denominator-labelled-row--low .denominator-labelled-row__legend {
  background: var(--buy);
  color: #fff;
}
.denominator-labelled-row--low .denominator-labelled-row__title b {
  color: var(--ink);
}
.denominator-labelled-row__badge {
  background: var(--buy);
  color: #fff;
  box-shadow: 0 2px 8px color-mix(in srgb,var(--buy) 45%,transparent);
}
.denominator-labelled-row--low .denominator-labelled-row__button {
  background: var(--buy);
  border-color: var(--buy);
  color: #fff;
  box-shadow: 0 2px 10px color-mix(in srgb,var(--buy) 40%,transparent);
}
.denominator-labelled-row--low .denominator-labelled-row__button:hover,
.denominator-labelled-row--low .denominator-labelled-row__button:focus-visible {
  background: var(--acc);
  border-color: var(--acc);
}
/* 2026-08-28 62호(사용자 확정) — 이하 블록 전부 --gold→--buy */
.denominator-labelled-row--low {
  border: 1px solid var(--line2);
  border-left: 4px solid var(--buy);
  border-width: 1px 1px 1px 4px;
  background: color-mix(in srgb,var(--buy) 7%,var(--surf));
  box-shadow: 0 1px 8px color-mix(in srgb,var(--buy) 14%,transparent);
}
.denominator-labelled-row--low .denominator-labelled-row__title b {
  color: var(--buy);
  font-size: 17px;
}
.denominator-labelled-row--low .denominator-labelled-row__legend {
  background: var(--buy);
  color: #fff;
}

/* ── app-stats ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .side-content-column {
    gap: 10px;
  }
}

/* ── app-actrow ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .side-content-column .purchase-action-row {
    order: 1;
    margin-top: 2px;
  }
}
@media (max-width:820px) {
  .side-content-column .purchase-action-caveat {
    order: 2;
    margin-top: 0;
  }
}

/* ── app-stats ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .side-content-column .summary-metric-five-column-grid {
    order: 3;
    margin-top: 4px;
  }
}

/* ── app-meta6 ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .side-content-column .meta-tile-grid {
    order: 4;
    margin-top: 0;
  }
}

/* ── app-actrow ─────────────────────────────────────────────────────── */
/* 🔧 67호 재개(2026-08-28 사용자 DOM 실측) — 대상은 buy-cards 가 아니라 이 행동 줄이었다.
   ─────────────────────────────────────────────────────────────────────────
   뿌리: 820px 대(1fr 1fr)에서 «첫 자식만» grid-column:1/-1 을 받아 TCGplayer 만 전폭이고
   eBay·Cardmarket 은 남은 두 칸에 나란히(각 1fr = 대칭 · 문제 없음). 그런데 520px 대에서
   `.primary-action-button` «전부»(첫째 아니어도)에 grid-column:1/-1 이 걸리면서 eBay 도
   전폭이 되어 버려, 2열 트랙엔 Cardmarket(.outline-action-button) 혼자 남는다 — 짝 없는
   칸이라 «절반 폭»으로 실측됐다(390px 실측: TCGplayer 346px·eBay 346px·Cardmarket 169px).
   고침: 열 자체를 1개로 줄인다(1fr 1fr → 1fr) — 그러면 그리드 기본 stretch 로 «전 자식이
   항상 전폭»이라 클래스별 grid-column 예외 자체가 필요 없어진다(아래 개별 span 규칙들은
   1열 그리드에서 무해한 공식(no-op)이 되어 그대로 둔다 — 최소 diff). 데스크톱(>820px)은
   이 미디어쿼리 밖이라 무변경. */
@media (max-width:820px) {
  .purchase-action-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
@media (max-width:820px) {
  .purchase-action-row .primary-action-button {
    padding: 13px 12px;
    font-size: 14px;
  }
}
@media (max-width:820px) {
  .purchase-action-row .outline-action-button {
    padding: 12px 10px;
  }
}
@media (max-width:820px) {
  .purchase-action-row .primary-action-button:first-child {
    grid-column: 1/-1;
  }
}
@media (max-width:520px) {
  .purchase-action-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width:520px) {
  .purchase-action-row .primary-action-button {
    grid-column: 1/-1;
  }
}

/* ── market ─────────────────────────────────────────────────────── */
.marketplace-offer-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  text-decoration: none;
  color: inherit;
  transition: transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.marketplace-offer-card:hover,
.marketplace-offer-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--acc);
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
.marketplace-offer-card-header {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 12px 10px;
  border-bottom: 1px solid var(--line);
  background: var(--surf2);
}
.marketplace-offer-card-logo {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--acc-s);
  color: var(--acc-i);
  font-size: 13px;
  font-weight: 800;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
}
.marketplace-offer-card-name {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
}
.marketplace-offer-card-name em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.marketplace-offer-card-badge {
  margin-left: auto;
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: 999px;
  /* 2026-08-28 62호(사용자 확정) — --gold→--buy */
  background: var(--buy);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 2px 8px color-mix(in srgb,var(--buy) 42%,transparent);
}
.marketplace-offer-card-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 12px 10px;
}
.marketplace-offer-card-price b {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
  color: var(--ink);
}
.marketplace-offer-card-price em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
}
.marketplace-offer-card-total {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0 12px;
  padding: 8px 10px;
  border-radius: 7px;
  background: var(--surf2);
  border: 1px solid var(--line);
}
.marketplace-offer-card-total span {
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
}
.marketplace-offer-card-total b {
  margin-left: auto;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--ink);
}
.marketplace-offer-card-total i {
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
}
/* 2026-08-28 62호(사용자 확정) — 이하 블록 전부 --gold→--buy(마켓 비교표 골드 전면 소거) */
.marketplace-offer-card--best {
  border-color: var(--buy);
  border-left-width: 4px;
  background: color-mix(in srgb,var(--buy) 5%,var(--surf));
}
.marketplace-offer-card--best .marketplace-offer-card-logo {
  background: var(--buy);
  color: #fff;
}
.marketplace-offer-card--best .marketplace-offer-card-total {
  background: color-mix(in srgb,var(--buy) 11%,var(--surf));
  border-color: var(--buy);
}
.marketplace-offer-card--best .marketplace-offer-card-total b {
  color: var(--buy);
  font-size: 16px;
}
.marketplace-offer-card-visit-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 10px 12px 12px;
  padding: 10px;
  border-radius: 8px;
  background: var(--surf2);
  border: 1px solid var(--line2);
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  transition: background .13s,border-color .13s,color .13s;
}
.marketplace-offer-card-visit-button::after {
  content: "→";
  font-weight: 800;
}
.marketplace-offer-card--best .marketplace-offer-card-visit-button {
  /* 2026-08-28 62호(사용자 확정) — --gold→--buy */
  background: var(--buy);
  border-color: var(--buy);
  color: #fff;
  box-shadow: 0 3px 12px color-mix(in srgb,var(--buy) 38%,transparent);
}
.marketplace-offer-card:hover .marketplace-offer-card-visit-button,
.marketplace-offer-card:focus-visible .marketplace-offer-card-visit-button {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
}
.table-inline-purchase-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border-radius: 7px;
  background: var(--surf2);
  border: 1px solid var(--line2);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background .13s,border-color .13s,color .13s;
}
.table-inline-purchase-button::after {
  content: "→";
  font-weight: 800;
}
.table-inline-purchase-button--best {
  /* 2026-08-28 62호(사용자 확정) — --gold→--buy */
  background: var(--buy);
  border-color: var(--buy);
  color: #fff;
  box-shadow: 0 2px 9px color-mix(in srgb,var(--buy) 34%,transparent);
}
.table-inline-purchase-button:hover,
.table-inline-purchase-button:focus-visible {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
}

/* ── §3 · 표 「Go」 열 단추 — «글자색 계약» (2026-08-02 5차 · 사용자 실기기) ──────────
   지적: 빨강 배경에 파랑 글자, 손을 올리면 보라 배경에 파랑 글자 — 읽을 수 없었다.
   실측한 원인은 «색을 잘못 골랐다»가 아니라 «고른 색이 지고 있었다»다.
     modules.css:463   .module-table a                          → color #3b82f6  (명시도 0,1,1)
     modules.css:3581  .module-table a:not(.module-table__link) → color var(--color-primary)
                                                                  hover var(--color-primary-dark)
                                                                  (명시도 0,2,1)
     이 시트   :3488   .table-inline-purchase-button                                    → color var(--ink)   (명시도 0,1,0)
   0,2,1 이 0,1,0 을 이긴다. 그래서 배경만 이 시트 것이 칠해지고 «글자는 표의 링크색»이
   되어 빨강+파랑이 됐다. 방문 뒤 보라도 같은 뿌리다(테마 a:visited 가 0,1,1 로 역시 이긴다).
   🔒 그러므로 값을 바꾸지 않는다 — .table-inline-purchase-button 의 색은 «이미» 시안 마켓 카드(.denominator-labelled-row__button)와 같다:
        평상 surf2 바닥 + ink 글자 + line2 테두리     = .denominator-labelled-row__button(:3164)
        강조 dn 바닥 + 흰 글자                        = .denominator-labelled-row--low .denominator-labelled-row__button(:3215)
        호버 acc 바닥 + 흰 글자                       = .denominator-labelled-row__button:hover(:2981)
      바꾸는 것은 «이 값이 이기게 하는 것»뿐이다. 네 상태를 전부 명시하고(:link·:visited·
      :hover·:active·:focus-visible) 표 문맥 안에서 명시도를 0,3,1 로 올려 못 박는다.
   🚫 :visited 를 비워 두지 않는다 — 비우면 그 자리에 테마 보라가 다시 들어온다. */
.module-table a.table-inline-purchase-button:link,
.module-table a.table-inline-purchase-button:visited,
a.table-inline-purchase-button:link,
a.table-inline-purchase-button:visited {
  color: var(--ink);
  text-decoration: none;
}
.module-table a.table-inline-purchase-button--best:link,
.module-table a.table-inline-purchase-button--best:visited,
a.table-inline-purchase-button--best:link,
a.table-inline-purchase-button--best:visited {
  color: #fff;
}
/* F24(2026-08-23 눈검수 재지적) — 호버 글자 흰색이 안 먹던 이유 = 이 고정(0,3,1)이 테마
   `.module-table a:not(.module-table__link):hover{color:primary-dark}`(0,3,1)와 «동률»이라
   캐스케이드 순서로 테마가 이겼다(어두운 배경+어두운 글자=판독 불가). :not(.module-table__link)
   를 더해 0,4,1 로 올려 순서 무관하게 이기게 한다(값=기존 #fff 그대로·특이성만 상향). */
.module-table a.table-inline-purchase-button:not(.module-table__link):hover,
.module-table a.table-inline-purchase-button:not(.module-table__link):focus-visible,
.module-table a.table-inline-purchase-button:not(.module-table__link):active,
a.table-inline-purchase-button:hover,
a.table-inline-purchase-button:focus-visible,
a.table-inline-purchase-button:active {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
  text-decoration: none;
}

/* ── app-chips ─────────────────────────────────────────────────────── */
.attribute-chip-row {
  gap: 6px;
}
.attribute-chip-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 5px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.3;
  background: var(--surf2);
  color: var(--ink2);
  border: 1px solid var(--line2);
  transition: transform .13s ease,box-shadow .13s ease;
}
.attribute-chip-link:hover {
  transform: translateY(-1px);
}
.attribute-chip-link--rare {
  background: color-mix(in srgb,var(--c5) 20%,var(--surf));
  color: var(--c5);
  border-color: color-mix(in srgb,var(--c5) 42%,transparent);
  box-shadow: 0 2px 9px color-mix(in srgb,var(--c5) 22%,transparent);
}
.attribute-chip-link--mechanic {
  background: color-mix(in srgb,var(--c1) 20%,var(--surf));
  color: var(--c1);
  border-color: color-mix(in srgb,var(--c1) 42%,transparent);
  box-shadow: 0 2px 9px color-mix(in srgb,var(--c1) 22%,transparent);
}
.attribute-chip-link--holo {
  background: color-mix(in srgb,var(--c2) 20%,var(--surf));
  color: var(--c2);
  border-color: color-mix(in srgb,var(--c2) 42%,transparent);
}
.attribute-chip-link--regulation {
  background: color-mix(in srgb,var(--c3) 22%,var(--surf));
  color: var(--c3);
  border-color: color-mix(in srgb,var(--c3) 46%,transparent);
  box-shadow: 0 2px 9px color-mix(in srgb,var(--c3) 24%,transparent);
}
.attribute-chip-link--language,
.attribute-chip-link--pokedex {
  background: var(--surf2);
  color: var(--ink2);
  border-color: var(--line2);
}
.attribute-chip-link--holo {
  position: relative;
  overflow: hidden;
}
.attribute-chip-link--holo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .3;
  background: repeating-linear-gradient(112deg,
      rgba(255,90,90,.5) 0 5px, rgba(255,205,70,.5) 5px 10px, rgba(90,235,150,.5) 10px 15px,
      rgba(80,190,255,.5) 15px 20px, rgba(195,110,255,.5) 20px 25px);
  mix-blend-mode: color-dodge;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend,
.marketplace-offer-card-logo {
  width: 52px;
  height: 30px;
  border-radius: 6px;
  background: #fff;
  padding: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.06);
}
.denominator-labelled-row--low .denominator-labelled-row__legend,
.marketplace-offer-card--best .marketplace-offer-card-logo {
  background: #fff;
  color: inherit;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-family: Verdana,Geneva,sans-serif;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
}
.marketplace-logo--ebay {
  font-size: 15px;
}
.marketplace-logo--tcgplayer {
  font-size: 13px;
  color: #122B44;
  align-items: center;
  gap: 2px;
}
.marketplace-logo--cardmarket {
  font-size: 13px;
  color: #1F3B5B;
  font-family: Arial,Helvetica,sans-serif;
  font-weight: 600;
}
.marketplace-logo--fanatics-collect {
  font-size: 13px;
  color: #111;
  font-family: Arial,Helvetica,sans-serif;
  font-weight: 800;
  letter-spacing: -.06em;
}
.denominator-labelled-row {
  grid-template-columns: minmax(0,1.6fr) 108px 104px 72px minmax(0,1.3fr) 104px;
}
@media (max-width:1080px) {
  .denominator-labelled-row {
    grid-template-columns: minmax(0,1.5fr) 104px 100px 68px 104px;
  }
}

/* ── app-chips ─────────────────────────────────────────────────────── */
.attribute-chip-link {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.35;
}
.attribute-chip-link:hover {
  transform: none;
}

/* ── app ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .app-layer-panel {
    padding: 0;
    border: 0;
    background: none;
    border-radius: 0;
  }
}
@media (max-width:820px) {
  .app-layer-panel::before {
    position: static;
    display: inline-block;
    margin: 0 0 10px;
  }
}

/* ── app-offers·app-trend ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .offer-compare-panel,
  .price-trend-line-band {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ── app-qf ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .quick-fact-card {
    padding: 10px;
  }
}

/* ── hist ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .content-section-block {
    padding-top: 22px;
  }
}

/* ── app-offers·app-trend ─────────────────────────────────────────────────────── */
@media (max-width:520px) {
  .offer-compare-panel,
  .price-trend-line-band {
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 10px;
  }
}

/* ── app ─────────────────────────────────────────────────────── */
.app-layer-panel {
  padding: 0;
  border: 0;
  background: none;
  border-radius: 0;
}
.app-layer-panel::before {
  content: none;
}

/* ── lenshub ─────────────────────────────────────────────────────── */
.lens-entry-panel {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  margin-top: 20px;
}
.lens-entry-panel__title {
  margin-bottom: 10px;
  text-transform: none;
  letter-spacing: -.01em;
  font-size: 15px;
  font-weight: 800;
  color: var(--ink2);
}

/* ── app ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .app-layer-panel {
    padding: 0;
  }
}

/* ── hist·market·deep·related ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .price-trend-line-titled-box,
  .visual-block-box.visual-box-table-scroll,
  .deep-dive-panel,
  .footnote-block,
  .cross-link-list-column {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ── hist ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .content-section-block {
    margin-top: 18px;
    padding-top: 20px;
  }
}
/* 71호(2026-08-28) — 기준판존(:11587 인근)과 동일 근거·동일 값(펴짐존 동기화 관행). */
@media (max-width:820px) {
  .content-section-block:first-of-type {
    margin-top: 0;
    padding-top: 0;
  }
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.app-layer-panel>*+* {
  margin-top: 30px;
}

/* ── lenshub ─────────────────────────────────────────────────────── */
.lens-entry-panel {
  margin-top: 34px;
}

/* ── app-trend ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .app-layer-panel>*+* {
    margin-top: 24px;
  }
}

/* ── lenshub ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .lens-entry-panel {
    margin-top: 28px;
  }
}

/* ── deep ─────────────────────────────────────────────────────── */
.deep-dive-panel .key-value-line a,
.deep-dive-panel li a {
  color: var(--acc-i);
  text-decoration: none;
  font-weight: 700;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
.deep-dive-panel .key-value-line a:hover,
.deep-dive-panel .key-value-line a:focus-visible,
.deep-dive-panel li a:hover,
.deep-dive-panel li a:focus-visible {
  text-decoration: underline;
}

/* ── movers ─────────────────────────────────────────────────────── */
.gainers-losers-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width:820px) {
  .gainers-losers-board {
    grid-template-columns: 1fr;
  }
}
.gainers-losers-board__content {
  padding: 13px 14px;
  background: var(--surf);
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
}
.gainers-losers-board__label {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
/* 🖼️ 2026-08-06(40차) 그림 칸 한 열 추가 — 사용자 지적 「등락 목록에 카드 그림을 넣어 달라」.
   ─────────────────────────────────────────────────────────────────────────────
   34px 인 이유 — 그림 칸은 카드 비율(745/1040)을 지므로 폭이 곧 높이를 정한다(34 → 47px).
   순위 줄(.badge-bar-row__picture)의 56px 를 그대로 쓰면 줄 높이가 78px 가 되어 여섯 줄짜리 두 칸이
   화면을 한 판 가득 먹는다. 이 목록에서 그림이 하는 일은 «어느 카드인지 알아보는 것»이지
   «들여다보는 것»이 아니다 — 들여다보는 일은 호버 팝업이 맡는다(그래서 작아도 잃는 것이 없다).
   🔒 부품(.badge-bar-row__picture)의 값을 고치지 않고 «이 목록 안에서만» 폭을 준다 — 순위 줄은 그대로 56px. */
.gainers-losers-board__label li {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) 64px 72px;
  gap: 9px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  transition: background .13s;
}
/* 🔧 2026-08-09 «줄 오른쪽이 통째로 비어 보이던 것» 원천 수리 (사용자 지적)
   ■ 실측 (확인판 1280px · 같은 클래스인데 두 사용처가 다른 수의 칸을 낸다)
       축  axis-v1 : cols=31px 401px 64px 72px · 자식 3개 [__image | span | __value]
                     → 넷째 칸(72px)이 «예약만 되고 비어» 오른쪽 여백 81px(72 + 간격 9)
       카드 card-v2 : cols=31px 409px 64px 72px · 자식 4개 [__title | __key | 수 | 수]  ← 정상
     위 격자는 «그림 | 이름 | 값 | 등락» 네 칸을 전제로 짜였는데, 축 사용처(cell-dex-movers)는
     등락 칸을 내지 않는다. 그 값은 그 구역 본문이 이미 말하고 있어 줄에서 두 번 말하지 않는 것이다.
   ■ 고치는 법 — «칸을 채우는» 것이 아니라 «예약을 걷는다»
     넷째 칸에 억지로 무언가를 넣으면 본문과 같은 말을 두 번 하게 된다. 안 쓰는 자리를 비워 두는
     쪽이 결함이므로 자리 자체를 없앤다.
   🔒 조건을 «클래스 이름»이 아니라 «실제 칸 수»로 건다 — :not(:has(> :nth-child(4))) 는
      「넷째 칸이 실재하지 않으면 넷째 열을 만들지 않는다」는 뜻이다. 새 이름을 만들지 않으므로
      조각을 고칠 필요가 없고, 앞으로 넷째 칸을 내는 사용처가 생기면 «저절로» 네 칸으로 돌아온다.
   🔒 카드판 회귀 0 — 카드 줄은 자식이 4개라 이 규칙에 걸리지 않는다(위 실측). 재조립 후 재확인한다.
   🔒 앞 세 칸의 수(34px · 1fr · 64px)는 한 자도 바꾸지 않는다 — 지우는 것은 넷째 칸뿐이다. */
.gainers-losers-board__label li:not(:has(> :nth-child(4))) {
  grid-template-columns: 34px minmax(0,1fr) 64px;
}
.gainers-losers-board__label .badge-bar-row__picture {
  flex: none;
  width: 34px;
}
/* 그림 칸 자체는 «글자 칸»이 아니다 — 아래 `.gainers-losers-board__label span` 이 값 칸을 위해 거는
   오른쪽 정렬·굵기·자간이 대체 카드(.card-image-fallback) 안까지 흘러들지 않게 여기서 끊는다.
   (글자 크기는 .badge-bar-row__picture--none .noimg__* 가 더 좁은 선택자라 이미 제 값을 지킨다.) */
.gainers-losers-board__label .gainers-losers-board__title,
.gainers-losers-board__label .gainers-losers-board__title span {
  text-align: initial;
  letter-spacing: normal;
  font-weight: inherit;
}
.gainers-losers-board__label .gainers-losers-board__title {
  display: block;
  min-width: 0;
}
/* 이름 칸 — 주소가 «있든 없든» 같은 모양이어야 한다.
   전에는 이름 칸이 링크일 때만 세로 두 줄이었고(.gainers-losers-board__label a), 주소 없는 줄은 맨 span 이라
   아래 `.gainers-losers-board__label span` 의 오른쪽 정렬·굵기를 뒤집어쓴 채 이름과 세트가 한 줄로 붙었다.
   40차에 그 자리에 이름표(.gainers-losers-board__key)를 달면서 둘을 같은 규칙으로 묶는다 — 한 목록 안에서
   줄마다 생김새가 달라지지 않게. */
.gainers-losers-board__label .gainers-losers-board__key {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  text-align: initial;
  font-weight: inherit;
  font-size: inherit;
  letter-spacing: normal;
}
.gainers-losers-board__label li:last-child {
  border-bottom: 0;
}
.gainers-losers-board__label a {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.gainers-losers-board__label b {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gainers-losers-board__label em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
}
.gainers-losers-board__label a:hover b {
  color: var(--acc-i);
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* 줄 배경 호버 — 클릭 장치는 호버 신호를 진다(확정 규칙 31호) · 2026-08-03 16차
   ─────────────────────────────────────────────────────────────────────────
   왜 없었나 — 이 줄은 글자색·밑줄만 바뀌어서, 카드 이름 몇 글자 위에 정확히 얹기
     전까지는 «누를 수 있는 줄»인지 알 수 없었다(사용자 지적).
   왜 li:hover 가 아닌가 — 줄에서 실제로 눌리는 곳은 이름 칸(a)뿐이고 변동률·값 칸은
     링크가 아니다. li:hover 로 칠하면 못 누르는 칸 위에서도 배경이 켜져 «눌릴 것처럼»
     보인다. 그래서 «안의 링크가 호버될 때» 줄 전체를 칠한다 — 신호가 켜지는 순간과
     클릭이 먹는 순간이 어긋나지 않는다.
   비클릭 줄 오적용 0 — 주소 없는 줄은 movers-board.php:39 가 <a> 대신 <span> 을 내므로
     :has(a...) 가 애초에 걸리지 않는다.
   이중 테두리 0 — 테두리를 더하지 않는다. 줄 구분선(border-bottom)은 그대로 두고
     배경만 바꾼다. 키보드도 같은 신호를 받도록 focus-visible 을 함께 건다. */
.gainers-losers-board__label li:has(a:hover),
.gainers-losers-board__label li:has(a:focus-visible) {
  background: var(--acc-s);
}
.gainers-losers-board__label span {
  font-size: 14px;
  font-weight: 800;
  text-align: right;
  letter-spacing: -.02em;
}
/* 충돌 차단(2026-08-09) — 위 규칙은 «어느 span이든» 잡는다(원래 뜻은 오른쪽 값 칸).
   그런데 2026-08-09 새로 붙인 row-entrance-arrow-badge(이름 칸 <b> 안의 화살표 배지)도
   span 이라 같이 걸려 14px·우측정렬·자간까지 뒤집어썼다(부품 원 정의는 13px·중립).
   부품(:7888)은 무수정 — 이 문맥에서만 원래 값으로 되돌린다(승격이 아니라 복원 ·
   .gainers-losers-board__label(:9248 사본 포함) 보다 클래스 두 겹이라 자동으로 이긴다). */
.gainers-losers-board__label .row-entrance-arrow-badge {
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  letter-spacing: normal;
}
.gainers-losers-board__price {
  color: var(--ink2);
}
.gainers-losers-board__footnote {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.6;
}

/* ── app-actrow ─────────────────────────────────────────────────────── */
.purchase-action-row .outline-action-button {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 6px;
  row-gap: 1px;
  line-height: 1.25;
}
.purchase-action-row .outline-action-button em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  flex-basis: 100%;
  text-align: center;
}

/* ── app-chips ─────────────────────────────────────────────────────── */
.attribute-chip-link--format {
  background: color-mix(in srgb,var(--c2) 20%,var(--surf));
  color: var(--c2);
  border-color: color-mix(in srgb,var(--c2) 44%,transparent);
}

/* ── prose ─────────────────────────────────────────────────────── */
.calculation-basis-entry__name code,
.body-prose-block code {
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: .92em;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--surf2);
  border: 1px solid var(--line2);
}

/* ── era ─────────────────────────────────────────────────────── */
.badge-bar-row__arrow {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 10px 12px;
  color: inherit;
  text-decoration: none;
}
.badge-bar-row__arrow:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: -2px;
  border-radius: var(--r-s);
}

/* ── app-offers ─────────────────────────────────────────────────────── */
@media (max-width:720px) {
  .denominator-labelled-row {
    grid-template-columns: minmax(0,1fr) auto;
    gap: 8px 10px;
    padding: 11px;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__meta {
    grid-column: 1/-1;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__picture {
    grid-column: 1;
    flex-direction: row;
    align-items: baseline;
    gap: 7px;
    flex-wrap: wrap;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__title {
    grid-column: 2;
    align-items: flex-end;
    text-align: right;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__title b {
    font-size: 16px;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__description {
    grid-column: 1/-1;
    justify-self: start;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__name {
    display: none;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__button {
    grid-column: 1/-1;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 10px;
    font-size: 14px;
  }
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
@media (max-width:720px) {
  .denominator-labelled-row__legend,
  .marketplace-offer-card-logo {
    width: 46px;
    height: 28px;
  }
}

/* ── app-offers ─────────────────────────────────────────────────────── */
@media (max-width:720px) {
  .offer-compare-panel {
    padding: 12px 11px;
  }
}
@media (max-width:720px) {
  .denominator-labelled-row__heading {
    gap: 4px;
  }
}
@media (max-width:400px) {
  .denominator-labelled-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width:400px) {
  .denominator-labelled-row__picture,
  .denominator-labelled-row__title {
    grid-column: 1;
    align-items: flex-start;
    text-align: left;
  }
}
@media (max-width:400px) {
  .denominator-labelled-row__title {
    flex-direction: row;
    gap: 7px;
  }
}

/* ── market ─────────────────────────────────────────────────────── */
.visual-box-table-scroll {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  background: linear-gradient(to right, var(--surf2) 30%, transparent) left / 28px 100% no-repeat,
      linear-gradient(to left, var(--surf2) 30%, transparent) right / 28px 100% no-repeat,
      radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.22), transparent) left / 12px 100% no-repeat,
      radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.22), transparent) right / 12px 100% no-repeat,
      var(--surf2);
  background-attachment: local,local,scroll,scroll,local;
}
.visual-box-table-scroll::-webkit-scrollbar {
  height: 8px;
}
.visual-box-table-scroll::-webkit-scrollbar-thumb {
  background: var(--line2);
  border-radius: 99px;
}
.visual-box-table-scroll::-webkit-scrollbar-track {
  background: transparent;
}

/* ── spec·market ─────────────────────────────────────────────────────── */
.visual-box-table-scroll th:first-child,
.visual-box-table-scroll td:first-child {
  scroll-snap-align: start;
}

/* ── lang ─────────────────────────────────────────────────────── */
.denominator-labelled-bar-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
/* 🌐 2026-08-03(34차) — 맨 앞 «두 글자 약호» 칸(44px)을 걷어냈다.
   EN·DE·FR 이 국가 코드로 읽혀 「이 표가 언어 기준인가 국가 기준인가」를 되묻게 만들었다
   (사용자 지적 · 확정 조항 33 「언어를 국가로 표시하지 않는다」와 같은 축).
   🔒 칸을 «비우지» 않고 아예 없앤다 — 44px 를 빈 채로 두면 모든 줄이 그만큼 안으로 밀려
      들여쓰기처럼 보이고, 그 빈자리가 무엇인지 아무도 모른다. 열 수를 5→4 로 줄이고
      남은 폭은 언어 이름 칸이 가져간다(이름이 길어도 안 잘린다).
   짝 파일 = items/pokemon/modules/lang-rows.php (약호 span 을 내지 않는다) */
.ranked-thumbnail-list-gap-row {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(90px,1.6fr) 92px minmax(0,1fr);
  gap: 11px;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
}
.ranked-thumbnail-list-gap-row__value-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.ranked-thumbnail-list-gap-row__value-text b {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
}
.ranked-thumbnail-list-gap-row__value-text em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ranked-thumbnail-list-gap-row__bar {
  height: 9px;
  border-radius: 99px;
  background: var(--surf2);
  overflow: hidden;
}
.ranked-thumbnail-list-gap-row__bar i {
  display: block;
  height: 100%;
  width: var(--w);
  background: var(--c1);
  opacity: .75;
  border-radius: 99px;
}
.ranked-thumbnail-list-gap-row__bar--none {
  background: repeating-linear-gradient(115deg,var(--surf2) 0 5px,transparent 5px 10px);
  border: 1px dashed var(--line2);
  box-sizing: border-box;
}
.ranked-thumbnail-list-gap-row__picture {
  font-size: 15px;
  font-weight: 800;
  text-align: right;
  letter-spacing: -.02em;
  color: var(--ink);
}
.ranked-thumbnail-list-gap-row__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
}
/* 상태 신호 = «줄»이 진다. 약호 칸을 걷어냈어도 어느 줄이 무엇인지 그대로 읽힌다 —
   이 페이지의 판은 테두리+바탕색(.ranked-thumbnail-list-gap-row--current), 다른 카드인 일본판은 굵은 윗줄(.ranked-thumbnail-list-gap-row--separator).
   (약호 칸을 칠하던 .ranked-thumbnail-list-gap-row--current .ranked-thumbnail-list-gap-row__content / .ranked-thumbnail-list-gap-row--separator .ranked-thumbnail-list-gap-row__content 두 규칙은 짝이 사라져 함께 뺐다.) */
.ranked-thumbnail-list-gap-row--current {
  border-color: var(--c1);
  background: color-mix(in srgb,var(--c1) 8%,var(--surf));
}
.ranked-thumbnail-list-gap-row--separator {
  border-top-width: 3px;
  border-top-color: var(--c5);
}
.ranked-thumbnail-list-gap-row--not-available {
  opacity: .62;
}
.denominator-labelled-bar-list__footnote {
  margin: 9px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.6;
}
/* 좁은 화면도 약호 칸(40px)을 함께 뺀다 — 열이 3→2 가 된다(이름 | 값).
   🔒 막대의 자리도 같이 고쳐야 한다. 전에는 «2번 열부터 끝까지»로 적혀 있었는데,
      그 2번 열이 약호 다음의 «이름» 칸이었다. 열을 하나 뺀 지금 그대로 두면 막대가
      맨 오른쪽 값 칸(78px) 안에만 갇혀 손톱만 하게 그려진다. 줄 전체로 편다. */
@media (max-width:820px) {
  .ranked-thumbnail-list-gap-row {
    grid-template-columns: minmax(0,1fr) 78px;
    gap: 8px 10px;
    row-gap: 6px;
  }
}
@media (max-width:820px) {
  .ranked-thumbnail-list-gap-row__bar {
    grid-column: 1/-1;
    order: 3;
  }
}
@media (max-width:820px) {
  .ranked-thumbnail-list-gap-row__name {
    grid-column: 1/-1;
    order: 4;
  }
}

/* ── market ─────────────────────────────────────────────────────── */
/* 🔒 스크롤 안내의 «표시(display)» 규칙은 이 시트에 두지 않는다 — SSOT = modules.css :4341 블록.
   이 시트는 스포크·홈에만 실리고(loader.php :239) modules.css 는 전 페이지에 실리므로,
   표시의 참·거짓을 나눠 가지면 «이 시트가 안 실리는 페이지»에서 규칙이 반쪽만 선다.
   여기 있던 display 3종(기본 숨김 · 활성 표시 · ≥821px 숨김)은 2026-08-13 p28-f-7 에 제거했다.
   전부 modules.css 의 !important 짝에 이미 지고 있어 «렌더 변화 0»(전후 census 로 확인).
   👉 남기는 것은 이 아이템 고유의 «생김새»(여백)뿐이다. */
.module-table__scroll-hint {
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--acc-i);
  line-height: 1.4;
  padding: 2px 0;
  margin: 6px 0 0;
}
.module-table__scroll-hint--top {
  margin: 0 0 7px;
}

/* ── variants ─────────────────────────────────────────────────────── */
.next-step-link-row a,
.next-step-link-row a:hover,
.next-step-link-row a:focus-visible {
  text-decoration: none;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend,
.marketplace-offer-card-logo {
  width: 36px;
  height: 36px;
  aspect-ratio: 1;
  border-radius: 9px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,.22);
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: Verdana,Geneva,sans-serif;
  font-weight: 800;
  letter-spacing: -.04em;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend:has(.marketplace-logo--ebay),
.marketplace-offer-card-logo:has(.marketplace-logo--ebay) {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.07);
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo--ebay {
  font-size: 13px;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend:has(.marketplace-logo--tcgplayer),
.marketplace-offer-card-logo:has(.marketplace-logo--tcgplayer) {
  background: #122B44;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo--tcgplayer {
  font-size: 13px;
  color: #fff;
  gap: 2px;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend:has(.marketplace-logo--cardmarket),
.marketplace-offer-card-logo:has(.marketplace-logo--cardmarket) {
  background: #1F3B5B;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo--cardmarket {
  font-size: 14px;
  color: #fff;
  font-family: Arial,Helvetica,sans-serif;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend:has(.marketplace-logo--fanatics-collect),
.marketplace-offer-card-logo:has(.marketplace-logo--fanatics-collect) {
  background: #111;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo--fanatics-collect {
  font-size: 14px;
  color: #fff;
  font-family: Arial,Helvetica,sans-serif;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row--low .denominator-labelled-row__legend,
.marketplace-offer-card--best .marketplace-offer-card-logo {
  background: inherit;
}
.denominator-labelled-row--low .denominator-labelled-row__legend:has(.marketplace-logo--ebay),
.marketplace-offer-card--best .marketplace-offer-card-logo:has(.marketplace-logo--ebay) {
  background: #fff;
}
@media (max-width:720px) {
  .denominator-labelled-row__legend,
  .marketplace-offer-card-logo {
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }
}

/* ── market ─────────────────────────────────────────────────────── */
.module-table__scroll-hint {
  margin: 7px 0 16px;
}
.module-table__scroll-hint--top {
  margin: 0 0 8px;
}
.module-table__scroll-hint+.body-prose-block,
.module-table__scroll-hint+.visual-block-box {
  margin-top: 2px;
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.cross-axis-summary-link {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding: 10px 13px;
  border: 1px solid var(--line2);
  border-left: 4px solid var(--c2);
  border-radius: var(--r-s);
  background: var(--surf2);
  text-decoration: none;
  color: inherit;
  transition: border-color .13s,background .13s;
}
.cross-axis-summary-link:hover,
.cross-axis-summary-link:focus-visible {
  border-color: var(--c2);
  background: color-mix(in srgb,var(--c2) 9%,var(--surf2));
}
.cross-axis-summary-link__key {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  color: var(--c2);
  letter-spacing: -.01em;
}
.cross-axis-summary-link__value {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
  font-size: 14px;
}
.cross-axis-summary-link__value b {
  font-weight: 800;
  color: var(--ink);
}
.cross-axis-summary-link__value i {
  font-style: normal;
  font-weight: 600;
  color: var(--ink2);
}
.cross-axis-summary-link__value>*+*::before {
  content: "·";
  margin-right: 8px;
  color: var(--mut);
  font-weight: 400;
}
.cross-axis-summary-link__group {
  margin-left: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
}
.cross-axis-summary-link__group::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: color-mix(in srgb,var(--c2) 18%,transparent);
  color: var(--c2);
  font-size: 13px;
  transition: background .13s,color .13s,transform .13s;
}
.cross-axis-summary-link:hover .cross-axis-summary-link__group {
  color: var(--c2);
}
.cross-axis-summary-link:hover .cross-axis-summary-link__group::after {
  background: var(--c2);
  color: #fff;
  transform: translateX(2px);
}
@media (max-width:820px) {
  .cross-axis-summary-link {
    gap: 8px;
  }
}
@media (max-width:820px) {
  .cross-axis-summary-link__group {
    margin-left: 0;
    width: 100%;
  }
}

/* ── js-생성 ─────────────────────────────────────────────────────── */
button.holo-thumb-popup-card__rotator {
  border: none;
  background: transparent;
  padding: 0;
  appearance: none;
}

/* ── related·era·app-offers·variants·js-생성 ─────────────────────────────────────────────────────── */
.holo-thumb-popup-grid-cell,
.holo-thumb-popup-grid-cell__image,
.holo-thumb-popup-grid-cell__picture,
.card-image-tile,
.card-image-tile__name,
.card-image-tile__rank,
.card-image-tile__value,
.three-card-arc-display,
.three-card-arc-display__picture,
.holo-thumb-popup-thumb__image,
.holo-thumb-popup-thumb__title,
.holo-thumb-popup-thumb__name,
.evolution-chain-diagram-link__content,
.evolution-chain-diagram-link__picture,
.versus-compare-side,
.versus-compare-side__picture,
.sibling-axis-link-card__image,
.ranked-thumbnail-list-artist-row__width,
.marketplace-logo,
.rail__p {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* ── market·deep·related ─────────────────────────────────────────────────────── */
@media (max-width:640px) {
  /* R24-b(2026-08-20 W3): 이 묶음에서 .visual-block-box 를 뺐다 — 그 이름은 이제 안여백이 0 이라
     여기서 6px 을 주면 «좁은 화면에서만» 상자가 되살아난다. 나머지 셋은 제 상자를 그대로 진다. */
  .deep-dive-panel,
  .footnote-block,
  .cross-link-list-column {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* ── related ─────────────────────────────────────────────────────── */
@media (max-width:640px) {
  .holo-thumb-popup-thumb__grid {
    grid-template-columns: repeat(auto-fill,minmax(84px,1fr));
    gap: 8px;
  }
}

/* ── market·deep·related ─────────────────────────────────────────────────────── */
@media (max-width:400px) {
  /* R24-b(2026-08-20 W3): 위 :4830 과 같은 사유로 .visual-block-box 를 이 묶음에서 뺐다. */
  .deep-dive-panel,
  .footnote-block,
  .cross-link-list-column {
    padding-left: 4px;
    padding-right: 4px;
  }
}

/* ── related ─────────────────────────────────────────────────────── */
.holo-thumb-popup-thumb {
  margin: 14px 0 0;
}
.holo-thumb-popup-thumb__grid {
  display: grid;
  grid-template-columns: repeat(10,1fr);
  gap: 12px;
}
@media (max-width:1100px) {
  .holo-thumb-popup-thumb__grid {
    grid-template-columns: repeat(auto-fill,minmax(96px,1fr));
  }
}
/* 🔧 2026-08-02 9차 — 이 칸에서 `cursor:pointer` 를 걷어냈다(확정 규칙 31호).
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 잘못됐나 — 카드 그림 칸 자신은 언제나 <span> 이고, 누르는 일은 그것을 감싼
     줄(li.badge-bar-row--link > a.badge-bar-row__arrow)이나 <a> 가 한다. 그런데 칸이 «자기 힘으로» 손가락을 띄우고
     있어서, 감싼 것이 없는 칸에서도 손가락이 떴다 — 눌러도 갈 곳이 없는 거짓 신호다.
     실측(2026-08-02) = 누를 수 있는 조상이 «없는» .holo-thumb-popup-thumb__image 5개
       #same  .badge-bar-row__picture @li.badge-bar-row--current 1 · #era .badge-bar-row__picture @li.badge-bar-row--current 1 · #grp .badge-bar-row__picture @li.badge-bar-row--current 1
       #era   .versus-compare-side__picture @.versus-compare-side--opponent 1 · .versus-compare-side__picture @.versus-compare-side--current 1
   ■ 왜 «지우는 것»이 맞는 수리인가 — cursor 는 상속되는 성질이다. 누를 수 있는 칸은
     감싼 것이 이미 손가락을 지고 있어(li.badge-bar-row--link:cursor:pointer · <a> 는 브라우저 기본)
     칸이 그것을 그대로 물려받는다. 즉 지우면 «누를 수 있는 곳만» 손가락이 남는다.
     예외 목록을 새로 쓰지 않는 이유도 그것이다 — 목록은 새 줄이 생길 때마다 어긋난다. */
.holo-thumb-popup-thumb__image {
  position: relative;
  display: block;
  border-radius: 9px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surf2);
  aspect-ratio: 745/1040;
}
.holo-thumb-popup-thumb__image {
  background-size: cover;
  background-position: center;
}
.holo-thumb-popup-thumb__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 3px 5px;
  font-size: 11px;
  font-weight: 700;
  background: linear-gradient(transparent,rgba(0,0,0,.78));
  color: #fff;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.holo-thumb-popup-thumb__image:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 3px;
}
.holo-thumb-popup-thumb__name {
  position: absolute;
  left: 5px;
  top: 5px;
  padding: 1px 6px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 800;
  background: rgba(0,0,0,.62);
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.holo-thumb-popup-thumb__more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 14px 0 0;
  padding: 13px;
  border-radius: var(--r-s);
  border: 1px solid var(--line2);
  background: var(--surf2);
  font-size: 15px;
  font-weight: 800;
  color: var(--acc-i);
  text-decoration: none;
}
.holo-thumb-popup-thumb__more:hover {
  border-color: var(--acc);
}
.list-page-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 13px;
  flex-wrap: wrap;
}
.list-page-bar .list-scope-caption {
  font-size: 13.4px;
  color: var(--mut);
}
.page-number-list {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.page-number-list a {
  min-width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  font-size: 13.4px;
  font-weight: 700;
  border: 1px solid var(--line2);
  background: var(--surf);
  color: var(--ink2);
  text-decoration: none;
}
.page-number-list a.state-current-active {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
}
.page-number-list a:hover {
  border-color: var(--acc);
}
.section-footnote-line {
  font-size: 13.2px;
  color: var(--mut);
  margin: 8px 0 0;
}
.holo-thumb-popup-thumb__caption {
  margin: 0 0 10px;
  font-size: 14px;
  color: var(--ink2);
}
.touch-only-hint {
  display: none;
}
@media (hover:none) {
  .pointer-only-hint {
    display: none;
  }
}
@media (hover:none) {
  .touch-only-hint {
    display: inline;
  }
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.tilt-btn:disabled {
  opacity: .6;
}

/* ── market ─────────────────────────────────────────────────────── */
/* 2026-08-28 62호(사용자 확정 — «껍데기만 교체», 마크업 변경 0) — 감싸는 골드 테두리·과잉
   패딩·배경을 전부 벗긴다(상자 속 상자 해소). 이 래퍼는 이제 시각적으로 «없다» — 행(각
   .print-variant-offer-row)이 각자 흰 카드가 되고, 카드 사이 12px 여백은 이 래퍼의
   flex column + gap 으로 만든다(마크업은 그대로 — 행 순서·개수 불변).
   🔧 62-b(2026-08-28 사용자 확정) — 아래 ::before(Affiliate 알약)를 «폐기»한다. 이 래퍼는
   card-cardq.php(Where to buy)·buy-cards.php(마켓 비교 카드) 둘이 공유하는 클래스라 이
   알약 하나가 양쪽에 동시에 얹혔다 — card-cardq 쪽은 위치(top:-9px)가 패딩 0 이 된
   래퍼 상단에서 부모 overflow 에 잘려 «일부만 보이는» 클리핑 결함이 실측됐고,
   buy-cards 쪽은 신설 스택-위 범례(모듈 자체 markup — 아래 buy-cards.php 참조)와
   내용이 중복된다. 두 소비처 다 이미 다른 수단으로 제휴 사실을 명시한다(card-cardq =
   기존 하단 disclosure 문장이 전부터 있었다 · buy-cards = 신설 상단 범례) — 그래서
   이 공유 ::before 는 «양쪽 다에 대해» 안전하게 제거 가능(census: 사용처 이 둘뿐 확인). */
.sponsored-offer-box {
  position: relative;
  margin-top: 11px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── app-actrow ─────────────────────────────────────────────────────── */
.sponsored-disclosure-note {
  margin: 9px 0 0;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.55;
}

/* ── market · 총액 격차 막대 ─────────────────────────────────────────────
   원본 = _시안/tcggrail-entity-full.html :468-475 (값 발명 0 · 그대로 옮긴다)
   🔧 F3(2026-08-22 눈검수 루프3) — 아래 인용문의 .attribute-distribution-track 트랙 배경은
      원본 시안이 실제로 var(--surf)(흰색)였다(그대로 옮긴 값 · 발명 아님). 그런데 그 값이
      카드 바닥과 같은 흰색이라 트랙이 안 보이는 회귀였음이 실측 확인돼(F3 본문 판정) 아래
      라이브 규칙 2곳(5102·10172 부근)을 var(--surf2)로 고쳤다. 이 주석 블록은 «주석이라
      렌더에 영향 0»이지만, 인용값이 옛 값 그대로 남아 있으면 사람이 읽을 때 "아직 안
      고쳐졌나" 혼동을 준다 — 그래서 인용값도 라이브 값과 동기화한다(원본 그대로 옮기는
      역할은 위 두 줄 텍스트 설명으로 유지 · 코드는 현재값 반영).
     .attribute-distribution-list{list-style:none;margin:0;padding:15px;background:var(--surf2);border:1px solid var(--line);
       border-radius:var(--r);display:flex;flex-direction:column;gap:10px}
     .attribute-distribution-label-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}
     .attribute-distribution-label{color:var(--ink2);font-weight:600}  .group-value-ladder-list{font-weight:800;font-variant-numeric:tabular-nums}
     .attribute-distribution-track{height:9px;border-radius:5px;background:var(--surf2);overflow:hidden;border:1px solid var(--line)}
     .attribute-distribution-bar-fill{display:block;height:100%;border-radius:5px;background:var(--acc)}
   🔒 이 막대의 길이는 «값»이 아니라 «가장 싼 총액과의 격차»다 — 그래서 100% 짜리 줄이
      「제일 비싸다」가 아니라 「가장 많이 더 낸다」로 읽혀야 한다(모듈 꼬리글이 그 말을 한다).
   📏 폭 상한(2026-08-02 · 발주 §3) — 시안은 이 상자를 본문 폭(1300px)에 그대로 뒀지만,
      줄이 셋뿐인 막대가 1300px 로 늘면 1.5% 짜리 막대가 20px 이 되어 «보이지 않는다».
      상한을 두면 짧은 막대도 형태를 유지한다. 값 = 시안 .attribute-distribution-list 가 실제로 서던 폭
      (시안 마크업에서 .attribute-distribution-list 는 .body-prose-block 계열과 같은 글 폭 안에 산다 · 680px). */
/* 🔧 2026-08-02 — 상한 해제(사용자 지적 «100% 를 안 쓰는 이유가 있나»).
   680px 는 «항목 3개 이하 막대의 전폭 금지» 규칙을 이 목록에도 적용해 둔 값이었으나,
   이 목록은 가격대 여섯 밴드를 «서로 견주는» 장치다 — 막대가 길수록 비율 차가 읽힌다.
   3항목 규칙의 대상은 격차 막대(.attribute-distribution-track) 쪽이고 이 목록은 아니다. 상한을 걷는다. */
.attribute-distribution-list {
  list-style: none;
  margin: 0;
  padding: 15px;
  background: var(--surf2);
  border: 1px solid var(--line);
  border-radius: var(--r);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.attribute-distribution-label-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  margin-bottom: 4px;
}
/* R46(2026-08-20 W3-CSS) — 이 자리에 있던 `.attribute-distribution-label{color;font-weight}` 중복
   정의를 지운다. 같은 값이 :7971 기준판에 이미 있고(캐스케이드상 뒤가 이김) 그쪽이 min-width:0 까지
   들고 있어 이 블록은 «죽은 선언»이었다. R46 처방(display:flex 외)은 SSOT 1곳(:7971)에만 둔다. */
.group-value-ladder-list {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.attribute-distribution-track {
  height: 9px;
  border-radius: 5px;
  background: var(--surf2);  /* F3(2026-08-21 눈검수) — 트랙 배경 회귀 복원(흰 트랙→흰 카드 바닥 위 미식별). 죽은 선언(:10159 기준판이 캐스케이드로 이김) — 값을 맞춰 혼동 방지 */
  overflow: hidden;
  border: 1px solid var(--line);
}
.attribute-distribution-bar-fill {
  display: block;
  height: 100%;
  border-radius: 5px;
  background: var(--acc);
}
@media (max-width:560px) {
  /* 좁은 폭에서 라벨과 값이 한 줄에 못 들면 «값이 잘리는» 대신 줄을 바꾼다(글자를 지우지 않는다) */
  .attribute-distribution-label-row {
    flex-direction: column;
    gap: 2px;
  }
  .group-value-ladder-list {
    white-space: normal;
  }
}

/* ── artist ─────────────────────────────────────────────────────── */
.calculation-basis-entry__label--wide {
  display: flex;
  flex-direction: row;
  gap: 10px;
  flex-wrap: wrap;
  list-style: none;
  margin: 11px 0 0;
  padding: 0;
}
.calculation-basis-entry__label--wide li {
  flex: 1 1 150px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf2);
}
@media (max-width:640px) {
  .calculation-basis-entry__label--wide {
    gap: 7px;
  }
}
@media (max-width:640px) {
  .calculation-basis-entry__label--wide li {
    flex: 1 1 0;
    min-width: 0;
    padding: 9px 8px;
  }
}
.calculation-basis-entry__label--wide span {
  font-size: 13px;
  color: var(--mut);
}
.calculation-basis-entry__label--wide b {
  font-size: 19px;
  font-weight: 800;
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.screen-reader-only-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.price-trend-line-figure {
  margin: 0;
  padding: 0;
  border: 0;
}
.price-trend-line-figure>figcaption {
  margin-top: 8px;
  font-size: 13px;
  color: var(--mut);
  line-height: 1.55;
}
.price-trend-line-figure--flat {
  margin: 0;
}
.price-trend-line-figure--flat>figcaption {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.denominator-labelled-row,
.print-variant-offer-row {
  position: relative;
}
.denominator-labelled-row .denominator-labelled-row__hitarea,
.print-variant-offer-row .denominator-labelled-row__hitarea {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
.denominator-labelled-row > *:not(.denominator-labelled-row__hitarea),
.print-variant-offer-row > *:not(.denominator-labelled-row__hitarea) {
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.denominator-labelled-row a:not(.denominator-labelled-row__hitarea),
.denominator-labelled-row button,
.print-variant-offer-row a:not(.denominator-labelled-row__hitarea),
.print-variant-offer-row button {
  pointer-events: auto;
}
/* 2026-08-27 60호 부속 — #summary 앱층 마켓 목록(.denominator-labelled-row, card-app.php·
   app-layer.php)의 호버는 --gold 유지(이 회차 범위 밖 — 62호는 card-cardq.php 의
   .print-variant-offer-row 「Where to buy」구역 한정, census 확인 완료: 타 사용처는
   cell-artist-gaps/cell-dex-rank/cell-pillar-gaps 의 --current 변형이라 --low·시각과 무관). */
.denominator-labelled-row:hover {
  border-color: var(--gold);
  background: color-mix(in srgb,var(--gold) 6%,transparent);
}
/* 2026-08-28 62호(사용자 확정) — .print-variant-offer-row 는 이제 카드(배경var(--surf)+그림자)
   라 테두리가 없다. 호버는 카드 배경에 옅은 빨강 틴트만 얹는다(테두리색 전환 제거). */
.print-variant-offer-row:hover {
  background: color-mix(in srgb,var(--buy) 6%,var(--surf));
}
.denominator-labelled-row:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.print-variant-offer-row:focus-within {
  outline: 2px solid var(--buy);
  outline-offset: 2px;
}

/* ── market·app-offers ─────────────────────────────────────────────────────── */
.marketplace-offer-card--nolink,
.table-inline-purchase-button--nolink,
.denominator-labelled-row__button--nolink {
  cursor: default;
  opacity: .62;
}

/* ── market ─────────────────────────────────────────────────────── */
.table-inline-purchase-button--nolink::after {
  content: none;
}
.marketplace-offer-card--nolink:hover {
  transform: none;
  border-color: var(--line2);
  background: var(--surf);
}
.table-inline-purchase-button--nolink:hover {
  background: var(--surf2);
  border-color: var(--line2);
  color: var(--ink);
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.denominator-labelled-row__button--nolink:hover {
  background: var(--surf2);
  border-color: var(--line2);
  color: var(--ink);
}
.denominator-labelled-row:not(:has(.denominator-labelled-row__hitarea)):hover {
  border-color: var(--line);
  background: transparent;
}

/* ── related ─────────────────────────────────────────────────────── */
.holo-thumb-popup-thumb__image {
  touch-action: pan-y;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
}

/* ── app-art ─────────────────────────────────────────────────────── */
/* 🩹 2026-08-11(p28) ⑨ — 세로 flex 의 주축은 «높이»다(뿌리 설명은 :291 주석 참조).
   `flex:0 0 244px` 은 244px 를 높이에 앉혀 틀을 정사각으로 만든다. auto 로 풀고 폭만 준다. */
.holo-thumb-popup-artwork-frame {
  --art-w: 244px;
  flex: 0 0 auto;
  width: 244px;
}
/* 🩹 2026-08-02 — 히어로 카드의 «원근»만 다른 폭을 보고 있었다(실측으로 드러난 어긋남).
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 상자의 실제 폭은 244px 다(바로 위 `.holo-thumb-popup-artwork-frame{flex:0 0 244px}` 가 정한다.
     flex 항목이라 flex-basis 가 width 를 이긴다). 그런데 원근 계산은
     `perspective: calc(var(--art-w) * 1.6)`(modules.css:12839) 이고, --art-w 는
     modules.css:12837 `.module-card-holo__stage.holo-thumb-popup-artwork-frame`(명시도 0,2,0)가 min(434px,42vw) 로
     잡고 있었다 — 위 `.holo-thumb-popup-artwork-frame`(0,1,0)는 그보다 약해 무시된다.
     즉 «244 짜리 카드를 434 기준 원근으로» 그려 왔고, 그만큼 기울기 깊이가 시안과 달랐다
     (시안은 244×1.6 이다 · 실측 art_box=244 / --art-w=min(434px,42vw)).
   ■ 수리 = 같은 명시도(0,2,0)로 이 시트에서 다시 잡는다. 이 시트는 loader.php 에서
     modules.css 뒤에 물리므로(의존 'calc-modules') 같은 명시도끼리는 «뒤가» 이긴다.
   🔒 modules.css 는 손대지 않는다 — 그 434 는 스포크 «밖»(랜딩·데모)이 쓰는 계약이라
      그쪽에서는 그대로 살아 있어야 한다. 여기서 덮는 것은 엔티티 페이지 문맥뿐이다. */
.module-card-holo__stage.holo-thumb-popup-artwork-frame {
  --art-w: 244px;
}

/* 🩹 2026-08-11(p28) ⑨-b 홈 히어로 카드가 «두 배 넘게» 컸다 — 그 자리에만 한도가 없었다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 실측(스테이징 vs 라이브 · 1280×800) — 라이브가 기준이다
        라이브 홈  카드 244.40 × 341.16   ← 기준
        스테이징 홈 카드 524.09 × 720.89   (2.15배) · 히어로 구역 780px = 뷰포트의 110.67%
        허브(검수 완주) 카드 244 × 335.50   ← 라이브 홈과 같은 치수
     즉 «홈만» 커진 것이고, 커야 할 이유가 있어서가 아니라 «한도가 걸리지 않아서» 커졌다.
   ■ 뿌리 — 이 상자의 폭을 정하는 규칙이 modules.css 의 `.module-card-holo__stage{width:100%}`
     하나뿐이다(계산 스타일 전량을 떠서 확인: 이 선택자에 걸리는 크기 규칙이 그것 «하나»).
     허브·카드 갈래에서는 상자가 `.holo-thumb-popup-artwork-frame` 을 함께 달아 244px 로
     잡히지만(그 클래스는 card-holo.php 가 «기울기(motion)»가 켜졌을 때만 붙인다), 홈은
     기울기를 끄고 부르므로 그 클래스가 없다 → 한도가 사라진다. 부모 .module-card-holo 는
     display:contents 라 상자가 곧바로 1,205px 짜리 가로 flex 의 칸이 되고, width:100% 는
     그 칸의 몫(524px)을 그대로 받는다.
   ■ 왜 «그림»까지 상하나 — 홈이 물린 파일은 245×337 짜리 축소본(-thumb.webp)이다.
     524px 로 늘리면 2.1배 확대라 그림이 뭉개진다. 244px 로 돌리면 원래 크기로 선다.
   ■ 수리 = 앱층 히어로 «문맥에서만» 한도를 준다(모듈 계약은 안 건드린다 — 그 width:100% 는
     이 부품이 어느 슬롯에도 들어가게 하는 계약이고, 슬롯을 정하는 것은 쓰는 쪽 일이다).
     244px 는 지어낸 수가 아니라 위 :5205 가 이미 쓰는 값이자 라이브·허브 실측치다.
   🔒 허브·카드 갈래도 이 선택자에 걸리지만 값이 «같아서» 화면이 바뀌지 않는다(회귀 0).
      비율·잘림·기울기 관련 값은 한 자도 안 건드린다. */
.app-layer-split-columns .module-card-holo__stage {
  flex: 0 0 auto;
  width: 244px;
  align-self: flex-start;
  /* 카드 비율은 시안 정본 745:1040 이다. 기울기가 켜진 갈래에서는 프레임 부품(:291)이 이 값을
     지고 있는데, 홈은 그 부품이 없어 상자가 «그림 파일의 비율»(245×337 = 0.727)을 따라갔다.
     같은 값을 여기서도 준다 — 홈·허브·카드가 한 비율로 선다. 그림은 object-fit:contain 이라
     0.727 → 0.7163 차이(1.5%)만큼 위아래에 여백이 생길 뿐 «잘리지 않는다». */
  aspect-ratio: 745/1040;
}

/* ── app-meta6 ─────────────────────────────────────────────────────── */
@media (max-width:1080px) and (min-width:521px) {
  .meta-tile-grid {
    grid-template-columns: repeat(3,1fr);
  }
}

/* ── app-stats ─────────────────────────────────────────────────────── */
@media (max-width:960px) {
  .summary-metric-five-column-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── app-art ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .holo-thumb-popup-artwork-frame {
    --art-w: min(330px,78vw);
    flex: 0 0 auto;
    width: var(--art-w);
  }
  /* 데스크톱과 «같은 패턴»으로 이 폭에서도 0,2,0 을 되잡는다(시안 :2602 원문값 그대로).
     값은 modules.css:12844 와 같지만, 여기서도 잡아 두어야 두 시트의 규칙이 한 짝으로 읽힌다. */
  .module-card-holo__stage.holo-thumb-popup-artwork-frame {
    --art-w: min(330px,78vw);
  }
}

/* ── hist ─────────────────────────────────────────────────────── */
.content-section-block {
  border-top: 0;
  margin-top: 0;
  padding: 0;
  margin-bottom: 32px;
}

/* ── hist·lenshub ─────────────────────────────────────────────────────── */
.content-section-block>h2,
h2.lens-entry-panel__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
  margin: 70px 0 15px 0;
  padding-left: 15px;
  border-left: 4px solid var(--acc);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line2);
  color: var(--ink);
  text-transform: none;
  text-wrap: balance;
}

/* ── hist ─────────────────────────────────────────────────────── */
.content-section-block>*+.section-lead-paragraph {
  margin-top: 28px;
}
.content-section-block>h2+.section-lead-paragraph {
  margin-top: 0;
}
@media (max-width:820px) {
  .content-section-block {
    margin-bottom: 24px;
  }
}

/* ── hist·lenshub ─────────────────────────────────────────────────────── */
@media (max-width:820px) {
  .content-section-block>h2,
  h2.lens-entry-panel__title {
    font-size: 21px;
    margin: 50px 0 13px 0;
    padding-left: 12px;
    border-left-width: 3px;
  }
}
@media (max-width:600px) {
  .content-section-block>h2,
  h2.lens-entry-panel__title {
    font-size: 19px;
    margin: 40px 0 12px 0;
  }
}

/* ── app-trend ─────────────────────────────────────────────────────── */
.screen-reader-only-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ── hist ─────────────────────────────────────────────────────── */
figure.price-trend-line-titled-box {
  margin: 0 0 14px;
}

/* ── app-chips ─────────────────────────────────────────────────────── */
a.attribute-chip-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color .12s,color .12s;
}
a.attribute-chip-link:hover,
a.attribute-chip-link:focus-visible {
  border-color: var(--acc);
  color: var(--acc-i);
}
a.attribute-chip-link:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

/* ── related ─────────────────────────────────────────────────────── */
.holo-thumb-popup-thumb__image>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
}
.holo-thumb-popup-thumb__title,
.holo-thumb-popup-thumb__name {
  z-index: 2;
  pointer-events: none;
}

/* ── same ─────────────────────────────────────────────────────── */
.card-image-fallback {
  background: var(--surf2);
}

/* ── related ─────────────────────────────────────────────────────── */
.holo-thumb-popup-thumb__image.card-image-fallback::after {
  content: "No image"; /* 2026-08-27 지휘자 판정식 오류 정정 — 부품 안 라벨은 정당, 정본대로 복원 */
  position: absolute;
  left: 0;
  right: 0;
  top: 36%;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--mut);
}

/* ── app-art ─────────────────────────────────────────────────────── */
.holo-thumb-popup-artwork-frame.card-image-fallback {
  background: var(--surf2);
  border: 1px solid var(--line2);
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 13px 14px;
  place-items: stretch;
}
.holo-thumb-popup-artwork-frame.card-image-fallback::before {
  content: attr(data-nm);
  font-size: 14px;
  font-weight: 800;
  color: var(--ink2);
  line-height: 1.35;
  align-self: start;
}
.holo-thumb-popup-artwork-frame.card-image-fallback::after {
  content: attr(data-no);
  font-size: 12px;
  font-weight: 700;
  color: var(--mut);
  align-self: end;
  text-align: right;
}

/* ── js-생성 ─────────────────────────────────────────────────────── */
.holo-thumb-popup-artwork-frame.card-image-fallback>.card-image-fallback__meta {
  align-self: center;
  text-align: center;
  font-size: 12px;
  line-height: 1.55;
  color: var(--mut);
}

/* ── variants ─────────────────────────────────────────────────────── */
.card-image-fallback .composition-donut-stat-cell__holo,
.card-image-fallback .composition-donut-stat-cell__sheen {
  opacity: 0 !important;
  display: none;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend .marketplace-logo,
.marketplace-offer-card-logo .marketplace-logo {
  margin: 0;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo svg {
  display: block;
  width: 100%;
  height: 100%;
}
.marketplace-logo--ebay,
.marketplace-logo--tcgplayer,
.marketplace-logo--cardmarket {
  padding: 4px 6px;
}
.marketplace-logo--cardmarket svg {
  fill: #012169;
}
.marketplace-logo--cardmarket {
  padding: 3px;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend,
.marketplace-offer-card-logo {
  width: auto;
  height: 32px;
  aspect-ratio: auto;
  min-width: 32px;
  max-width: 92px;
  border-radius: 7px;
  padding: 3px 6px;
  display: grid;
  place-items: center;
}
@media (max-width:720px) {
  .denominator-labelled-row__legend,
  .marketplace-offer-card-logo {
    height: 28px;
    max-width: 80px;
    padding: 2px 5px;
  }
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo {
  width: auto;
  height: 100%;
}
.marketplace-logo svg {
  display: block;
  height: 100%;
  width: auto;
}
.marketplace-logo--ebay svg {
  aspect-ratio: 1000/401;
}
.marketplace-logo--tcgplayer svg {
  aspect-ratio: 801/337;
}
.marketplace-logo--cardmarket svg {
  aspect-ratio: 1;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend:has(.marketplace-logo--fanatics-collect),
.marketplace-offer-card-logo:has(.marketplace-logo--fanatics-collect) {
  background: #111;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo--ebay,
.marketplace-logo--tcgplayer,
.marketplace-logo--cardmarket,
.marketplace-logo--fanatics-collect {
  padding: 0;
}
.marketplace-logo--fanatics-collect img {
  display: block;
  width: auto;
  height: 100%;
}

/* ── app-offers·market ─────────────────────────────────────────────────────── */
.denominator-labelled-row__legend,
.marketplace-offer-card-logo {
  width: 72px;
  height: 46px;
  aspect-ratio: auto;
  min-width: 0;
  max-width: none;
  border-radius: 8px;
  padding: 5px 8px;
  display: grid;
  place-items: center;
  overflow: visible;
  box-shadow: 0 1px 3px rgba(0,0,0,.16),inset 0 0 0 1px rgba(0,0,0,.07);
}
@media (max-width:720px) {
  .denominator-labelled-row__legend,
  .marketplace-offer-card-logo {
    width: 62px;
    height: 40px;
    border-radius: 7px;
    padding: 4px 6px;
  }
}
.denominator-labelled-row__legend:has(.marketplace-logo--ebay),
.marketplace-offer-card-logo:has(.marketplace-logo--ebay),
.denominator-labelled-row__legend:has(.marketplace-logo--tcgplayer),
.marketplace-offer-card-logo:has(.marketplace-logo--tcgplayer),
.denominator-labelled-row__legend:has(.marketplace-logo--cardmarket),
.marketplace-offer-card-logo:has(.marketplace-logo--cardmarket) {
  background: #fff;
}
.denominator-labelled-row__legend:has(.marketplace-logo--fanatics-collect),
.marketplace-offer-card-logo:has(.marketplace-logo--fanatics-collect) {
  background: #111;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.denominator-labelled-row--low .denominator-labelled-row__legend,
.marketplace-offer-card--best .marketplace-offer-card-logo {
  background: inherit;
}

/* ── app-offers ─────────────────────────────────────────────────────── */
.marketplace-logo {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 0;
  width: auto;
  height: auto;
}
.marketplace-logo svg,
.marketplace-logo img {
  display: block;
}
.marketplace-logo--ebay svg {
  width: 56px;
  height: auto;
  aspect-ratio: 1000/401;
}
.marketplace-logo--tcgplayer svg {
  width: 56px;
  height: auto;
  aspect-ratio: 801/337;
}
.marketplace-logo--cardmarket svg {
  height: 32px;
  width: auto;
  aspect-ratio: 1;
  fill: #012169;
}
.marketplace-logo--fanatics-collect img {
  height: 32px;
  width: auto;
}
@media (max-width:720px) {
  .marketplace-logo--ebay svg,
  .marketplace-logo--tcgplayer svg {
    width: 48px;
  }
}
@media (max-width:720px) {
  .marketplace-logo--cardmarket svg,
  .marketplace-logo--fanatics-collect img {
    height: 27px;
  }
}

/* ── 빌림 ─────────────────────────────────────────────────────── */
.quick-fact-icon--accent {
  background: var(--acc-s);
  color: var(--acc-i);
}

/* ══════════════════════════════════════════════════════════════════════════
   증분 (2026-08-03 · 잔여 10항목) — «마지막 벌이 이긴다»라 이 자리가 맞다
   ──────────────────────────────────────────────────────────────────────────
   🔎 왜 손으로 적나 — 이 시트는 app-css-emit.js 가 시안에서 뽑아 쓴다. 그 도구는
      parity-denominator.json 의 «선택자 분모»에 있는 규칙만 옮기므로, 이번 회차에 «새로
      태어난» 선택자(.footer-link-grid·.badge-bar-row--fold·.marketplace-logo img 계열)는 다시 뽑아도 통째로 떨어진다.
      그래서 ① 시안에 먼저 넣고(정본 유지 · _시안/스크립트/apply-잔여10-시안갱신.js)
              ② 같은 규칙을 여기에 이어 적는다.
      분모를 다시 만드는 회차에는 이 블록이 위쪽 생성 구간으로 흡수된다(그때 지우면 된다).
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 항목 5 · 마켓 로고를 «파일»로 부를 때 (app-offers·market) ──────────────
   기존 규칙은 인라인 <svg> 만 겨눈다(.marketplace-logo--ebay svg …). 라이브는 파일 참조라 <img> 다.
   같은 값을 img 에도 준다 — 판 규격(72×46 / 62×40)과 판 색은 위 블록 그대로 쓴다.
   🚨 .marketplace-logo--cardmarket 의 fill 은 img 에 못 건다(CSS 는 <img> 안에 닿지 못한다) —
      공식색 #012169 은 파일 안에 구워 두었다(assets/images/markets/cardmarket.svg). */
.marketplace-logo--ebay img { width: 56px; height: auto; aspect-ratio: 1000/401 }
.marketplace-logo--tcgplayer img { width: 56px; height: auto; aspect-ratio: 801/337 }
.marketplace-logo--cardmarket img { height: 32px; width: auto; aspect-ratio: 1 }
@media (max-width:720px) {
  .marketplace-logo--ebay img, .marketplace-logo--tcgplayer img { width: 48px }
  .marketplace-logo--cardmarket img { height: 27px }
}

/* ── 항목 6 · 순위 줄 사이의 «펼쳐보기» ────────────────────────────────────
   닫혀 있을 때는 앞뒤 줄과 같은 한 줄로 보이고, 열리면 사이 카드가 제 줄로 선다.
   단추임을 «형태»로 알린다 — 테두리 + 손가락 커서(글자만 두면 눌리는 줄 모른다).

   🔄 2026-08-02 5차(사용자 실기기: 「점선 테두리에 위 여백까지 있어 어색」)
   ──────────────────────────────────────────────────────────────────────────
   실측한 어색함의 정체는 «테두리가 두 겹»이었다:
     바깥  li.badge-bar-row--fold  ← .badge-bar-row(:684)가 border 1px solid + background surf + 모서리를 그린다
     안쪽  __toggle      ← 여기서 다시 border 1px dashed 를 그렸다
   한 줄짜리 단추가 실선 상자 안에 점선 상자로 들어앉아 있었다(확정 조항 「이중 테두리 금지」
   위반). 사용자가 「위 여백」이라 부른 것도 두 상자 사이에 생긴 그 틈이다.
   → 바깥 상자를 지우고 «단추 자신»만 한 겹으로 남긴다. 줄 간격은 .badge-bar-row-list 의 gap(6px)이
     그대로 지므로 앞뒤 줄과 같은 자를 쓴다(간격 토큰 통일 = 여백을 새로 만들지 않는다).
   → 점선을 실선으로 바꾸고 바닥을 한 단 채워 «눈에 띄게» 한다(지시 §8).
   🔒 details 문법은 그대로 둔다 — 격자가 아니라 줄이므로 접힘이 허용되는 자리다. */
.badge-bar-row--fold { padding: 0; border: 0; background: none }
.badge-bar-row--fold .module-list-fold { width: 100% }
.badge-bar-row--fold .module-list-fold__toggle {
  display: block; padding: 9px 12px; cursor: pointer; list-style: none;
  font-size: 14px; font-weight: 700; color: var(--acc-i);
  border: 1px solid var(--line2); border-radius: var(--r-s);
  background: var(--surf2);
  transition: background .13s,border-color .13s;
}
.badge-bar-row--fold .module-list-fold__toggle::-webkit-details-marker { display: none }
.badge-bar-row--fold .module-list-fold__toggle:hover,
.badge-bar-row--fold .module-list-fold__toggle:focus-visible {
  border-color: var(--acc);
  background: var(--acc-s);
}
.badge-bar-row--fold .module-list-fold[open] .module-list-fold__toggle { margin-bottom: 8px }
.badge-bar-row-list--fold { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px }

/* ── 항목 2 · 기본 정보 격자 (spec) ────────────────────────────────────────
   시안 #spec 은 맨 태그 표 규칙에 기대는데, 그 광역 규칙은 표준 module-table 을 덧칠해
   이 시트가 «정당 제외»한 것이다(머리 주석 참조). 그래서 같은 모양을 «클래스 안»에서만 만든다 —
   선택자가 이 표 이름 밖으로 새지 않으므로 다른 표는 1픽셀도 바뀌지 않는다.

   🔁 R9 근본 수리(2026-08-20 W3-CSS) — 이름을 `.footer-link-grid` → `.card-fact-table` 로 바꾼다.
      ■ 무엇이 문제였나 ─ 이 표가 쓰던 `.footer-link-grid` 는 사이트 «바닥글 링크 위젯»의 이름과
        같은 글자였다(:8171 `{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}`
        · h3/h4/ul/a 전용 규칙). 소스 순서상 위젯 쪽이 뒤라 이겨서, 이 표를 감싼 div 가 격자가 되고
        <table> 다음의 각주 <p> 가 «둘째 칸»으로 밀려 표 오른쪽에 홀로 떴다 — 그것이 R9 다.
      ■ 앞 회차의 임시 처방 ─ fact-grid.php 가 wrapper 에 style="display:block" 을 박아 격자만
        국소 차단했다. 이름 충돌 자체는 남아 있어 다음 사람이 같은 함정을 다시 밟는다.
      ■ 근본 처방 ─ 표 전용 규칙 세 덩이(여기 · :10711~ · 모바일 :11049~)와 그 짝 마크업의
        이름을 바꾼다. 위젯 쪽(:8171·:8173·:8175·:8177·:8200·:8202·:10737·:11569·:1891 계열)은
        한 글자도 안 건드린다 — 이름이 갈라졌으므로 이제 서로 만나지 않는다.
      🔒 새 이름은 줄임말을 쓰지 않는다(클래스 명명 3규칙) — 이 표가 무엇인지 그대로 적었다. */
.card-fact-table { margin-top: 4px }
.card-fact-table table { width: 100%; border-collapse: collapse; font-size: 15px }
.card-fact-table caption {
  caption-side: top; text-align: left; padding: 0 0 8px;
  font-size: 13px; font-weight: 700; color: var(--mut);
}
.card-fact-table th, .card-fact-table td {
  padding: 9px 12px; border: 1px solid var(--line); vertical-align: top; text-align: left;
}
.card-fact-table th {
  width: 150px; font-size: 13px; font-weight: 700; color: var(--mut);
  background: var(--surf2); white-space: nowrap;
}
.card-fact-table td { color: var(--ink); font-weight: 600 }
.card-fact-table__wide td { font-weight: 500; color: var(--ink2) }
.card-fact-table__source { margin: 8px 0 0; font-size: 13px; color: var(--mut) }
/* 모바일 = 2열 — 네 칸 줄을 «라벨 | 값» 두 열로 접는다(옆으로 밀리는 표를 만들지 않는다) */
@media (max-width:720px) {
  .card-fact-table table, .card-fact-table tbody { display: block }
  .card-fact-table tr { display: grid; grid-template-columns: minmax(92px,36%) minmax(0,1fr) }
  .card-fact-table th, .card-fact-table td { display: block; border-top: 0 }
  .card-fact-table tr:first-child th, .card-fact-table tr:first-child td { border-top: 1px solid var(--line) }
  .card-fact-table th { width: auto; white-space: normal }
}

/* ── 항목 11 · 「배지는 값만」 (app-osc) ────────────────────────────────────
   기제 = 폭이 66px 로 못 박힌 판 «안»에 분모 문구가 들어 있어 다섯 줄로 흘렀다.
   값만 남기면 판은 한 줄이 되고, 분모는 옆 글자 칸에서 옆으로 흐른다(높이를 안 민다).
   판 폭은 «값이 정한다» — No. 5 도 No. 1,203 도 같은 규칙으로 담기게 min-width 만 남긴다. */
.rank-dial-ring { width: auto; min-width: 66px; padding: 9px 12px }
.rank-dial-label-box { min-width: 0; display: flex; flex-direction: column; gap: 2px }
.rank-dial-denominator { margin-top: 0; font-size: 13px; font-weight: 700; color: var(--mut) }

/* ── 항목 5 세부 · 마켓 행 «열 자리» 못 박기 (app-offers) ────────────────────
   ■ 무엇이 어긋났나 (실측)
     시안 한 행 = 여섯 칸이 «언제나» 선다 — of__m | of__p | of__t | of__d | of__n | of__b.
     라이브는 총액 칸(of__t)이 아예 없고(배송비 원자가 없어 총액을 만들 수 없다),
     배지(of__d)·주석(of__n)도 값이 있는 행에만 선다. 격자는 빈 자리를 남기지 않고
     «앞에서부터» 채우므로, 칸이 빠진 행은 남은 칸이 통째로 앞 열로 당겨졌다:
       eBay·Cardmarket 행  of__b(CTA)가 3열(104px 총액 자리)로       → 버튼이 좁아지고 줄이 어긋난다
       TCGplayer 행        of__d→3열 · of__n→4열 · of__b→5열(1.3fr)  → 한 칸씩 밀린다
     즉 «열 폭»은 시안과 한 자리도 다르지 않았고(±0px), 어긋난 것은 «어느 칸이 어느 열에
     앉는가»였다. 폭을 고치면 안 되는 자리다 — 자리를 못 박아야 한다.
   ■ 없는 값을 채우지 않는다 — of__t 를 빈 칸으로 «내는» 대신, 그 열을 비워 둔다.
     배송비 원자가 들어오면 조각이 of__t 를 내기 시작하고, 그때 이 열이 그대로 받는다.
   ■ 720px 이하(모바일 재구성)는 건드리지 않는다 — 거기서는 시안이 이미 자리를 따로 정한다.
     그래서 min-width 로 «위쪽 두 벌»에만 건다(뒤에 오는 이 블록이 모바일을 덮지 않게). */
@media (min-width: 1081px) {
  .denominator-labelled-row__meta { grid-column: 1 } .denominator-labelled-row__picture { grid-column: 2 } .denominator-labelled-row__title { grid-column: 3 }
  .denominator-labelled-row__description { grid-column: 4 } .denominator-labelled-row__name { grid-column: 5 } .denominator-labelled-row__button { grid-column: 6 }
}
@media (min-width: 721px) and (max-width: 1080px) {
  .denominator-labelled-row__meta { grid-column: 1 } .denominator-labelled-row__picture { grid-column: 2 } .denominator-labelled-row__title { grid-column: 3 }
  .denominator-labelled-row__description { grid-column: 4 } .denominator-labelled-row__button { grid-column: 5 }
}

/* ══════════════════════════════════════════════════════════════════════════
   증분 (2026-08-02 · 2차 회차 §4 표 칸 링크 · §5 호버 신호)
   ──────────────────────────────────────────────────────────────────────────
   위 증분 블록(2026-08-03 잔여 10항목)과 같은 사유로 손으로 적는다 — 이 회차에 «새로
   태어난» 선택자(.tlink)와, 시안에는 있으나 분모에서 빠져 옮겨지지 않았던 선택자
   (.badge-bar-row--link 한 벌)다. 시안 정본을 먼저 고치고(§4) 같은 규칙을 여기 잇는다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── §4 · 표 칸 안 «축 이름 링크» (시안 :1334-1337) ─────────────────────────
   시안 원문은 맨 태그 규칙 `table td a,table th a` 다. 그 선택자는 이 사이트의 표준
   module-table 까지 덧칠하므로 이 시트가 머리말에서 «제외»로 못 박아 두었다.
   그래서 선언은 시안 그대로 두고 «걸리는 범위»만 클래스로 좁힌다(시안도 병기 개정).
   📏 글자 크기는 칸을 따른다(표 본문 = 15px) — 13px 하한 위다.

   🔄 2026-08-02 5차 개정(사용자 실기기 지적 · 시안보다 «사용자 지시»가 우선)
   ──────────────────────────────────────────────────────────────────────────
   위의 「표는 훑는 자리라 통 링크가 오히려 방해된다」는 시안 판단이었고, 그에 따라 이
   자리를 «색 + 굵기»만으로 두었다. 실기기에서 사용자가 본 결과는 「여전히 맨 글자」였다.
   두 가지가 겹쳤다:
     ① 색이 지고 있었다 — modules.css:3581 `.module-table a:not(.module-table__link)`
        (명시도 0,2,1)가 `.tlink`(0,1,0)를 이겨 색·밑줄을 표의 링크색으로 되돌렸다.
        즉 «색과 굵기»라는 유일한 신호마저 화면에 닿지 않았다(§3 과 같은 뿌리).
     ② 색만으로는 «누를 수 있음»이 읽히지 않는다 — 형태가 없으면 신호가 아니다.
   → 실제 형태를 준다: 얇은 테두리 1겹 + 미세 바닥 + 여백 + 모서리 + 호버 전환.
   🚫 이중 테두리 금지 — 테두리는 «한 겹»만 그린다(칸 자체는 테두리를 안 그리므로 겹치지 않는다).
   🚫 알약 단추(.module-table__link · 높이 44px)는 여전히 쓰지 않는다 — 표를 훑는 흐름을
      끊지 않도록 «칸에 앉는 작은 단추»로 둔다(높이는 줄 높이 안에서 해결한다).
   📏 13px 하한 준수 — 글자는 칸을 따르되(15px) 아래로 내려가지 않는다.
   🔒 명시도 — 색과 마찬가지로 표 문맥에서 0,3,1 로 못 박는다(안 그러면 ①이 되풀이된다). */
.tlink {
  display: inline-block;
  padding: 3px 9px;
  border: 1px solid var(--line2);
  border-radius: 6px;
  background: var(--surf2);
  color: var(--acc-i);
  text-decoration: none;
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
  cursor: pointer;
  transition: background .13s,border-color .13s,color .13s;
}
.module-table a.tlink:link,
.module-table a.tlink:visited,
a.tlink:link,
a.tlink:visited {
  color: var(--acc-i);
  text-decoration: none;
}
.module-table a.tlink:hover,
.module-table a.tlink:focus-visible,
.module-table a.tlink:active,
a.tlink:hover,
a.tlink:focus-visible,
a.tlink:active {
  background: var(--acc-s);
  border-color: var(--acc);
  color: var(--acc-i);
  text-decoration: none;
}
/* R23 밑줄 방어 — 특이도 (0,4,1)로 :12268 부근의 래퍼별 오버라이드(0,3,1 등)를 이긴다.
   .tlink:hover 기존 방어(:5764)가 특정 래퍼 문맥 안에서 밑줄이 되살아나는 사례 추가 차단. */
.module-table.module-table a.tlink:hover,
.module-table.module-table a.tlink:focus-visible,
.module-table.module-table a.tlink:active {
  text-decoration: none;
}
.tlink:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

/* ── B-3(2026-08-14 눈검수 #10·#13) 밑줄 방어 — «어느 래퍼 안에서도» 0 ──────────
   실측된 밑줄 오버라이드 근원 4곳(modules.css) — 전부 :hover 계열이 밑줄을 다시 켠다:
     ① .module-info-box.module-info-box a(:hover)  — 명시도 (0,2,1)/(0,3,1) (:138-139)
     ② .module-toc__item--level-2 a:hover           — 명시도 (0,2,1) (:623)
     ③ .module-toc__item--level-3 a:hover           — 명시도 (0,2,1) (:642)
     ④ .related-card__title a:hover                 — 명시도 (0,2,1) (:1168)
   .tlink(버튼형·#13 무버 상세 표)와 .matchup-triad-cell(#10 «lose to/beat» 카드)이 이 네 래퍼
   중 하나 «안에» 놓이면(실측: 무버 상세 표가 .module-info-box 문맥 안) 밑줄이 되살아난다.
   기존 .tlink:hover 방어(:5788)는 명시도(0,3,1)가 ①과 동률이라 래퍼 문맥에서 소스 순서에
   기대야 했다 — 그래서 래퍼별로 명시도를 «위» 로 못박는다(:12428 .deposit-cardlist__item
   선례와 동일 기법: 래퍼 클래스를 겹쳐 써 특이도를 올린다). !important 미사용. */
.module-info-box.module-info-box a.tlink,
.module-info-box.module-info-box a.tlink:hover,
.module-info-box.module-info-box a.tlink:focus-visible,
.module-info-box.module-info-box a.matchup-triad-cell,
.module-info-box.module-info-box a.matchup-triad-cell:hover,
.module-info-box.module-info-box a.matchup-triad-cell:focus-visible,
.module-toc__item--level-2 a.tlink:hover,
.module-toc__item--level-2 a.matchup-triad-cell:hover,
.module-toc__item--level-3 a.tlink:hover,
.module-toc__item--level-3 a.matchup-triad-cell:hover,
.related-card__title a.tlink:hover,
.related-card__title a.matchup-triad-cell:hover {
  text-decoration: none;
}
/* .matchup-triad-cell 자체는 밑줄 방어가 전무했다(기준 :8220 블록에 text-decoration 선언 0 —
   래퍼 유무와 무관하게 브라우저·전역 기본값에 그대로 노출) — 자기 완결 기본값을 별도로 세운다. */
a.matchup-triad-cell,
a.matchup-triad-cell:hover,
a.matchup-triad-cell:focus-visible,
a.matchup-triad-cell:visited {
  text-decoration: none;
}

/* ── §5 · 누를 수 있는 «줄»의 호버 신호 (시안 :1324-1332) ────────────────────
   시안의 세 신호가 전부 `.badge-bar-row--link` 에 매달려 있는데 그 낱말이 라이브 마크업에 없어
   74줄이 통째로 «눌리는 줄인지 알 수 없는 줄»이었다(_body-kit.php 가 이제 단다).
   ⚠️ 이중 테두리 금지 — 여기서 새 테두리를 «그리지 않는다». `.badge-bar-row` 가 이미 가진 한 겹의
      색만 바꾼다(border-color). 두께·존재는 그대로다.
   ⚠️ 여백을 링크에게 넘긴다(padding:0) — 그러지 않으면 `.badge-bar-row` 와 `.badge-bar-row__arrow` 의 여백이
      겹쳐 줄이 두 겹으로 두꺼워진다. 시안과 같은 자를 쓴다. */
/* 🔧 2026-08-09 «줄 테두리와 그림 테두리가 맞붙어 두 겹으로 보이던 것» 원천 수리 (사용자 지적)
   ■ 실측 (확인판 axis-v1 · 1280px · 상자 사슬을 통째로 재서)
       <li .badge-bar-row--link>            여백=0px      테두리=1px  크기=1234.0×80.2  좌시작=+0.0
         <a .badge-bar-row__arrow>          여백=10px 12px 테두리=0px  크기=0.0×0.0   ← 상자가 «없다»
           <span .badge-bar-row__picture>   여백=0px      테두리=1px  크기=56.0×78.2  좌시작=+1.0
     그림이 줄의 테두리(1px) 바로 옆 +1.0 에서 시작한다 — 두 개의 1px 선이 맞닿아 «두 겹»이 된다.
   ■ 진짜 원인 — 각자 옳은 두 규칙이 서로를 지우고 있었다
       ① 이 규칙(아래)  .badge-bar-row--link{padding:0}
          바로 아래 주석대로 «여백을 안쪽 링크에게 넘긴» 것이다. 넘겨받을 링크는 여백을 갖고 있다
          (:7273 `.badge-bar-row__arrow{…padding:10px 12px; width:100%}`).
       ② 그런데 :10537  .badge-bar-row>a{display:contents}
          이 규칙이 그 링크의 «상자를 없앤다». display:contents 인 요소는 자식만 남기고 자신은
          사라지므로 padding 이 그려질 자리가 없다 — 넘겨준 여백이 «받는 사람 없이» 증발한다.
          우선순위도 이쪽이 이긴다(.badge-bar-row>a = 0,1,1 > .badge-bar-row__arrow = 0,1,0 · 뒤에 옴).
     ⚠️ 두 규칙 다 «혼자서는» 옳아서 어느 쪽을 읽어도 결함이 안 보였다. 붙여 놓고 실측해야 드러난다.
   ■ 고치는 법 — 넘겨줄 곳이 사라졌으니 여백을 «제자리»로 되돌린다
     아래 padding:0 을 걷으면 이 가족의 본래 값이 그대로 산다 — :694 `.badge-bar-row{padding:10px 12px}`.
     🔒 새 값을 정하지 않는다. 10px 12px 는 ①이 가족이 이미 쓰던 수이고(:694) ②넘겨받기로 했던
        링크가 들고 있던 바로 그 수다(:7273). 세 곳이 같은 수라 어느 것을 따라도 결과가 같다.
     🔒 여백이 «두 겹»이 될 걱정은 없다 — 링크는 display:contents 라 상자가 없다(위 실측 0.0×0.0).
        아래 원 주석이 경고한 겹침은 링크가 상자를 갖던 시절의 이야기다.
   ■ 짝 규칙도 함께 되돌린다 — 위 :772 `.badge-bar-row--current{padding:0}` 참조.
     그 규칙은 «--link 가 0 이니 --current 도 0 으로 맞춘다»는 정렬 목적이었다(2026-08-02 5차).
     여기서 --link 가 10px 12px 로 돌아가므로 --current 도 같이 돌려야 정렬이 유지된다.
   ■ 영향 범위 = 링크 줄 카드 79행 + 축 10행 · 이 카드 줄 카드 3행. 두 판 함께 확인한다. */
.badge-bar-row--link {
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  transition: border-color .13s, background .13s;
}
.badge-bar-row--link:hover,
.badge-bar-row--link:focus-within {
  border-color: var(--acc);
  background: var(--acc-s);
}
.badge-bar-row--link:hover .bar-row-title,
.badge-bar-row--link:focus-within .bar-row-title {
  color: var(--acc-i);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
.badge-bar-row--link .badge-bar-row__arrow::after {
  content: "→";
  flex: none;
  margin-left: -3px;
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
  opacity: .5;
  transition: opacity .13s, transform .13s, color .13s;
}
.badge-bar-row--link:hover .badge-bar-row__arrow::after,
.badge-bar-row--link:focus-within .badge-bar-row__arrow::after {
  opacity: 1;
  color: var(--acc-i);
  transform: translateX(2px);
}

/* ── §9~10 · «누를 수 없는» 정보 행의 호버 강조 (2026-08-02 5차 · 사용자 요구) ──────
   위 §5 는 «링크가 있는» 줄만 다뤘다(.badge-bar-row--link). 사용자는 링크가 없는 두 구역에서도
   손이 짚은 줄이 어디인지 보이기를 원한다 — 표를 눈으로 따라갈 때 줄을 놓치기 때문이다.
     #lang     각 언어 행(.ranked-thumbnail-list-gap-row)          — 한 카드의 언어판 값 비교
     #variants 인쇄 마감 행(.badge-bar-row 민무늬) — 어떤 마감으로 나왔는지
   🚫 cursor:pointer 를 «주지 않는다» — 확정 규칙 31호. 눌리지 않는 자리에 손가락을 띄우면
      「눌러도 아무 일이 없다」는 거짓 신호가 된다. 알려 주는 것은 «여기 있다»뿐이다.
   🚫 이중 테두리 금지 — 새 테두리를 그리지 않고 .badge-bar-row/.ranked-thumbnail-list-gap-row 가 이미 가진 한 겹의 «색»만 바꾼다.
   🔒 #variants 만 집는 이유: 민무늬 .badge-bar-row 는 #gtu·#spec-facts 에도 산다(실측 4·2개).
      그 두 구역은 이번 지시 범위가 아니므로 건드리지 않는다.

   🔧 2026-08-02 9차 «샘» 수리 — 앞 회차의 `#variants ~ .visual-block-box` 는 «일반 형제» 결합자라
      #variants 뒤에 오는 모든 형제를 잡았다. id 는 h2 에 붙고 줄은 그 뒤 .visual-block-box 안에
      살기 때문에, 뒤따르는 구역(#same·#era·#line·#grp·#spec)의 줄까지 통째로 물렸다.
      실측 = 의도 4행 · 실제 90행. 값이 `.badge-bar-row--link:hover` 와 같아 화면은 같았지만
      «어디를 집는지»가 틀린 규칙이었고, 두 규칙 중 하나만 바뀌면 즉시 어긋난다.
      → 위치(문서 순서)로 집던 것을 «이름»으로 집는다. 판본 조각이 스스로 다는
        `.vvar`(variant-diagram.php)만 본다 — 뒤 구역과 문서 순서가 어떻든 새지 않는다. */
.ranked-thumbnail-list-gap-row,
.vvar .badge-bar-row-list > .badge-bar-row {
  transition: border-color .13s, background .13s;
}
.ranked-thumbnail-list-gap-row:hover,
.vvar .badge-bar-row-list > .badge-bar-row:hover {
  border-color: var(--acc);
  background: var(--acc-s);
}

/* ── §11 · 줄의 좌측 기준선을 «한 곳»에서만 정한다 (2026-08-02 9차) ─────────────
   ■ 무엇이 어긋났나 — #grp 의 사이 안내 줄(「30 VMAX cards sit between them」)만
     글자가 형제 줄보다 12px 더 안쪽에서 시작했다. 실측하면 여백을 두 번 지고 있다:
       li.badge-bar-row (:684)        padding 10px 12px
       └ span.badge-bar-row__arrow(:4005) padding 10px 12px   → 합 24px (형제 줄은 12px)
   ■ 왜 또 났나 — 앞 회차가 같은 병을 `.badge-bar-row--current` 한 벌에만 고쳤기 때문이다(:762).
     원인은 «어느 변종인가»가 아니라 «안에 .badge-bar-row__arrow 를 품은 줄이 자기 여백을 또 진다»는
     구조였는데, 변종 이름으로 막으면 이름 없는 줄(이 사이 안내 줄)이 그대로 샌다.
   ■ 무엇이 맞는 수리인가 — 조건을 «구조»로 적는다: .badge-bar-row__arrow 를 품은 줄은 여백을 안쪽에
     넘긴다. 그러면 --l·--me·이름 없는 줄이 한 규칙으로 12px 로 모이고, 앞으로 생길
     새 줄도 이름을 새로 등록할 필요가 없다.
   🔒 .badge-bar-row__arrow 가 «없는» 줄(#variants 4행 등)은 이 규칙에 걸리지 않는다 — 그 줄들은
      .badge-bar-row 자신의 12px 가 유일한 여백이라 지금이 이미 맞다(건드리면 도리어 깨진다).
   🔒 앞 회차의 `.badge-bar-row--link{padding:0}`·`.badge-bar-row--current{padding:0}` 는 그대로 둔다 — 같은 값이라
      화면이 바뀌지 않고, 지우는 편집은 이번 범위 밖이다. */
.badge-bar-row-list > .badge-bar-row:has(> .badge-bar-row__arrow) {
  padding: 0;
}

/* ── §5 · 앱층 행동 단추(.primary-action-button)에도 신호를 준다 ──────────────────────────────
   시안에도 라이브에도 이 단추의 호버가 없었다(census 2026-08-02: .primary-action-button 2개 · :hover 0).
   누를 수 있는 자리인데 손을 올려도 화면이 아무 대답을 하지 않는다.
   🔒 색을 새로 만들지 않는다 — 이미 배경으로 쓰는 강조색(--acc)의 «짙은 짝»(--acc-i)으로
      옮길 뿐이다(시안 토큰 계열). 테두리를 더하지 않는다(이중 테두리 금지). */
.primary-action-button {
  cursor: pointer;
  transition: background .13s, transform .13s;
}
.primary-action-button:hover,
.primary-action-button:focus-visible {
  background: var(--acc-i);
}
.primary-action-button:active {
  transform: translateY(1px);
}

/* ── §7 · 13px 하한 상향 (2026-08-02 · 사용자 지적 「글자가 작다」) ──────────────
   ■ 무엇을 재었나 — 렌더에 실제로 서 있는 클래스만 골라 두 시트의 «최종» font-size 를
     전수했다(같은 선택자는 마지막 벌이 이긴다 · @media 조건부는 제외). 시안 대비 «축소
     이식»된 요소는 0 이었다 — 어긋난 것은 시안 자체가 13px 아래인 자리들이다.
   ■ 규칙 — 13px 하한이 시안 값보다 «우선»한다(기확정 만다트). 그래서 시안 파일도 같은
     회차에 함께 고쳤다(§1 차트 개정과 같은 절차 · 정본이 갈라지지 않게).
   🚫 여기서 올리지 «않은» 것 — 카드 축소 모형(.card-image-fallback 계열) 안의 글자다. 그 글자는 읽는
      글자가 아니라 «56px 폭 카드 그림의 일부»라, 13px 로 올리면 모형 밖으로 흘러 그림이
      깨진다. 그리고 modules.css 쪽 항목은 전 사이트 공용이라 이 회차 범위 밖이다.
      둘 다 지휘자 보고로 넘긴다(판단 분기).
   📐 여유 확인 — .ranked-thumbnail-list-bar-row__ordinal 는 지름 22px 원(13px 글자가 든다) · .holo-thumb-popup-artwork-frame.card-image-fallback 은 폭 244px. */
.position-spread-gauge-inline-tick-text { font-size: 13px }
.ranked-thumbnail-list-bar-row__current { font-size: 13px }
.ranked-thumbnail-list-bar-row__ordinal { font-size: 13px }
.ranked-thumbnail-list-bar-row__self-n { font-size: 13px }
.holo-thumb-popup-artwork-frame.card-image-fallback::after { font-size: 13px }
.holo-thumb-popup-artwork-frame.card-image-fallback>.card-image-fallback__meta { font-size: 13px }

/* ── §10 · 구역 안 «블록 사이» 세로 여백 (2026-08-02 · 사용자 지적) ─────────────
   ■ 무엇이 어긋났나 (전수 실측 · 구역 최상위 인접쌍 70쌍)
     시안은 구역 안의 «모든» 블록을 다섯 갈래 중 하나로 낸다 — .visual-block-box · .body-prose-block · .section-lead-paragraph ·
     .next-step-link-row · .summary-return-anchor. 그 다섯이 각자 제 여백을 지고 있어서, 시안에는 「간격을 정하는 규칙」이
     `.visual-block-box{margin:0 0 14px}` 한 줄뿐이다(간격 토큰 하나 · SSOT 1곳).
     라이브는 그 위에 «표준 모듈 산출물»을 구역 최상위에 그대로 세운다. 그 블록들은
     시안 어휘 밖이라 다섯 갈래 어디에도 들지 않고, 그래서 아래 여백을 한 픽셀도 지지
     않는다 — 뒤따르는 .visual-block-box/.body-prose-block 는 위 여백이 0 이므로 두 블록이 «맞닿아» 렌더된다.
     실측된 맞닿음 5쌍: #hist 표주석→서술 · #variants 대조도→서술 · #grp 막대각주→줄목록 ·
     #market 표주석→줄목록 · #related 격자→축칸(이 자리가 사용자가 짚은 「Grouping by the
     Pokémon…」 문단이다).
   ■ 왜 그 구역만 고치지 않나 — 다섯 쌍은 «같은 하나»의 증상이다. 구역마다 여백을 따로
     적으면 같은 간격이 다섯 곳에서 정해지고, 여섯 번째 구역이 생기면 또 맞닿는다.
     그래서 시안이 이미 쓰는 «그 14px 한 자»를 라이브 전용 블록에도 그대로 물린다.
   🔒 새 수치를 만들지 않는다 — .visual-block-box 와 «같은 값»이다. 갈라지면 두 블록 사이 간격이
      어느 블록이 앞에 섰느냐에 따라 달라진다.
   ⚠️ 이 시트는 스포크 문맥에서만 실린다(머리말) — 다른 페이지의 같은 모듈은 안 바뀐다. */
.module-table__note,
.module-rate-bar__attribution,
.module-card-grid-page,
.holo-thumb-popup-effect-layer,
/* 🔧 2026-08-09 4쌍 추가 — 같은 §10 증상이 축 판에서 네 자리 더 남아 있었다(사용자 지적: 상자·수염
   그림이 바로 위 글에 맞닿음). 위 목록과 «같은 이유·같은 값»이라 새 규칙을 세우지 않고 이름만 잇는다.
   ■ 실측 (확인판 axis-v1 · 1280px · figure.visual-block-box 의 위 형제와의 실간격)
       ◆상자수염 간격=0px   mt=0px  앞요소mb=0px   앞=DIV.body-prose-block
         간격=0px   mt=0px  앞요소mb=0px   앞=P.section-footnote-line
         간격=0px   mt=0px  앞요소mb=0px   앞=DIV.sibling-axis-link-grid
         간격=0px   mt=0px  앞요소mb=0px   앞=P.figure-caption-note
       ── 대조(정상) ──
         간격=16px  mt=0px  앞요소mb=16px  앞=DIV.module-section__intro   (3건)
         간격=14px  mt=0px  앞요소mb=14px  앞=DIV.visual-block-box
   ■ 왜 «앞» 블록에 다나 — 이 구조는 간격을 뒤 블록이 아니라 앞 블록이 진다(뒤는 mt=0px 로 고정).
     그래서 앞에 선 블록이 아래 여백을 0 으로 지고 있으면 무엇이 뒤에 오든 맞닿는다. 위 §10 이
     이미 그 판단으로 네 이름을 넣었고, 이번에 네 이름을 더 찾은 것이다(같은 증상 · 여덟 번째까지).
   🔒 값 = 14px. §10 이 쓰는 그 수 그대로다(출처 .visual-block-box{margin:0 0 14px} — 간격 토큰 1개·SSOT 1곳).
      새 수를 만들면 「어느 블록이 앞에 섰느냐」에 따라 간격이 갈린다는 §10 의 경고에 그대로 걸린다. */
.body-prose-block,
.sibling-axis-link-grid {
  margin-bottom: 14px;
}
/* 🔧 2026-08-09 나머지 두 쌍은 «여기»가 아니라 각자의 기준판 줄에서 정한다 — 이유를 실측으로 남긴다.
   .section-footnote-line(:8645) · .figure-caption-note(:7257) 은 파일 «뒤»에서 `margin:8px 0 0` 이라는
   축약형으로 다시 선언된다. 축약형은 적지 않은 자리를 초기값으로 «되돌리므로» 아래쪽 여백이 0 으로
   덮인다 — 이 목록에 이름을 넣어도 효과가 없다(2026-08-09 실증: 넣고 재조립해도 간격 0px 유지).
   그래서 그 두 줄의 축약형 자체를 `8px 0 14px` 로 고쳤다(같은 14px · 위·좌우 값은 한 자도 안 바꿈). */

/* ── 표 첫 열 = 행의 «이름표» (2026-08-02 사용자 지적) ─────────────────
   마켓 표에서 마켓명이 값들과 같은 굵기라 어느 줄을 읽는 중인지 눈이 붙들 곳이 없었다.
   첫 열은 그 행이 «무엇에 관한 줄인가»를 말하는 자리이므로 형태로도 무게를 준다
   (확정 만다트 「의미를 진 요소는 형태로도 무게를 준다」의 표 적용).
   🔒 왜 여기(엔티티 시트)인가 — 표준 모듈 시트를 고치면 전 사이트 표가 함께 바뀐다.
      스포크 문서 안의 표에만 걸리도록 이 시트에서 좁혀 적는다. */
body.spoke-page .module-table td:first-child,
body.spoke-page .module-table__table td:first-child { font-weight: 700 }

/* ── 색 있는 배경 위 «흰 글자» 버튼의 호버 색 고정 (2026-08-02 사용자 지적) ────────
   증상: 앱층 구매 단추(.primary-action-button)에 손을 올리면 글자가 검게 변해 배경색 위에서 읽히지 않았다.
   원인: 버튼의 흰 글자 선언은 `.primary-action-button`(클래스 하나)인데, 테마의 링크 호버 규칙은
         `a:hover`(요소+상태)라 «더 구체적»이라 호버 순간에만 테마 색이 이긴다.
         마켓 표 단추(.table-inline-purchase-button)에서 이미 같은 부류를 잡았고(그때는 표 규칙이 범인),
         이번에는 앱층 단추에 같은 구멍이 남아 있었다 — 부류 전수로 닫는다.
   처방: 배경을 칠하는 단추는 «네 상태 모두»(기본·방문·호버·활성) 글자색을 스스로 정한다.
         명시도를 요소까지 포함해 올려 어떤 테마 규칙보다 뒤에 서게 한다. */
a.primary-action-button,
a.primary-action-button:link,
a.primary-action-button:visited,
a.primary-action-button:hover,
a.primary-action-button:focus,
a.primary-action-button:focus-visible,
a.primary-action-button:active        { color: #fff }
a.primary-action-button .tabular-number,
a.primary-action-button:hover .tabular-number    { color: #fff }

/* 🔧 보조 단추(.primary-action-button--question)는 «밝은 바탕»이라 흰 글자를 상속하면 안 된다 (2026-08-02 사용자 실기기).
   앞 규칙(a.primary-action-button … {color:#fff})은 색 «있는» 바탕의 주 단추를 위한 것인데, 클래스를 함께 지닌
   보조 단추까지 흰 글자로 만들어 평상시 글자가 사라졌다(호버에서 바탕이 짙어질 때만 보였다).
   → 보조 단추는 평상시 제 글자색(--ink)을 쓰고, 바탕이 짙어지는 호버·활성에서만 흰 글자.
   명시도를 같은 층(요소+클래스 2개)으로 올려 뒤에 서게 한다. */
a.primary-action-button.primary-action-button--question,
a.primary-action-button.primary-action-button--question:link,
a.primary-action-button.primary-action-button--question:visited        { color: var(--ink) }
a.primary-action-button.primary-action-button--question:hover,
a.primary-action-button.primary-action-button--question:focus,
a.primary-action-button.primary-action-button--question:focus-visible,
a.primary-action-button.primary-action-button--question:active         { color: #fff }
a.primary-action-button.primary-action-button--question .tabular-number           { color: var(--ink) }
a.primary-action-button.primary-action-button--question:hover .tabular-number     { color: #fff }

/* ══════════════════════════════════════════════════════════════════════════
   §20 · 축·셀 페이지 (2026-08-03 · 20차) — 확정 문법의 «자리»만 넓힌다
   ──────────────────────────────────────────────────────────────────────────
   무엇을 더하나 — 새 모양은 하나도 만들지 않는다. 이미 확정된 두 문법을
     ① 결합 칸(.ranked-thumbnail-list-bar-row__content / __p / __b / __n / __me / __m / __bar / __no — 작가 구역에서 확정)
     ② 쪽 넘김(.module-card-grid-page — 표준 격자 모듈 · 짝 JS 가 이 이름으로 돈다)
   «한 격자 안에서 함께» 쓰기 위한 수식자 한 벌이다.

   왜 필요한가 — 표준 격자의 칸(.module-card-grid-page__thumb)은 «카드 그림 한 장»을 담는
     자리라 745/1040 비율·테두리·호버 확대가 못 박혀 있다. 축 페이지의 칸은 그림 «옆에»
     이름·카드 수·값 범위가 서는 2열 칸이라 그 규칙이 그대로 걸리면 칸이 세로로 늘어난다.
     그래서 이 격자에서만 그 세 규칙을 풀어 준다 — 표준 격자를 쓰는 다른 화면(카드 목록·
     다른 사이트)은 수식자가 없으므로 1픽셀도 바뀌지 않는다.

   🚫 표준 모듈 파일(core/template/modules/card-grid-page.php · assets/css/modules.css)은
      손대지 않았다 — 전 사이트 공용이라 여기서 고치면 남의 화면이 함께 바뀐다.
      대신 items/pokemon/modules/axis-cells.php 가 «같은 계약의 마크업»을 스스로 낸다.
   ══════════════════════════════════════════════════════════════════════════ */

/* 항목 수가 데이터에 따라 변하는 격자라 열 수를 못 박지 않는다(확정 조항 15 · auto-fit).
   최소 폭 340px 는 결합 칸이 서는 폭이다 — 작가 결합 격자(.ranked-thumbnail-list-bar-row)가 쓰는 값과 같은 자다. */
.module-card-grid-page--combo .module-card-grid-page__grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 20px;
}
/* 340px 궤도가 «담기지 않는» 좁은 화면에서는 minmax 의 최소가 넘침을 만든다 —
   그 구간만 1fr 로 푼다(열 수를 정하는 것이 아니라 넘침을 막는 것이다 · .ranked-thumbnail-list-bar-row 과 같은 처방). */
@media (max-width: 380px) {
  .module-card-grid-page--combo .module-card-grid-page__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* 칸 = «쪽 넘김 단위»일 뿐이고, 보이는 상자는 안쪽 결합 칸(.ranked-thumbnail-list-bar-row__content)이 그린다.
   그래서 바깥 칸은 제 테두리·비율·배경을 모두 내려놓는다(이중 테두리 금지). */
.module-card-grid-page--combo .module-card-grid-page__thumb {
  position: static;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: none;
  transition: none;
}
/* 호버 신호는 «누를 수 있는 것»에만 준다(확정 조항 31) — 이 격자에서 누르는 것은 안쪽
   링크(.ranked-thumbnail-list-bar-row__content[href])이고, 그 호버 규칙은 이미 이 시트에 있다. 바깥 칸의 확대·그림자는
   링크가 아닌 상자에 붙은 거짓 신호가 되므로 끈다. */
.module-card-grid-page--combo .module-card-grid-page__thumb:hover {
  transform: none;
  box-shadow: none;
  border-color: transparent;
  z-index: auto;
}

/* ── 축·셀 앱층의 수치 줄 ────────────────────────────────────────────────────
   카드 엔티티의 .summary-metric-five-column-grid 는 «다섯 칸 고정»이다(지금 값 · 창 셋 · 계기 — 카드 한 장의 시세
   구성에 맞춰 못 박힌 자리). 축·셀 페이지는 원자가 주는 만큼만 칸을 세우므로 칸 수가
   축마다 다르다. 고정 열에 칸을 덜 세우면 빈 궤도가 남는다(확정 조항 「칸 높이=내용」).
   → 칸의 «생김새»는 .composition-donut-stat-cell/.position-spread-gauge-dial 그대로 두고, 담는 격자만 auto-fit 로 연다.
   최소 폭 190px = .composition-donut-stat-cell 안의 스파크라인(120px)과 좌우 여백(12px×2)이 눌리지 않는 폭이다. */
.axstats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}
@media (max-width: 620px) {
  .axstats {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}

/* ── §38-② · 순위 줄의 «화살표 자리»를 모든 줄이 똑같이 비운다 (2026-08-06 38차) ──
   ■ 무엇이 어긋났나 (사용자 실기기 · #grp)
     줄 끝 화살표(→)는 «누를 수 있는 줄»에만 선다(§5 `.badge-bar-row--link .badge-bar-row__arrow::after`).
     그런데 `.badge-bar-row__arrow` 는 flex 라 그 화살표가 «자리를 차지하는 칸»이다. 화살표가 없는 줄
     (이 카드 자신 .badge-bar-row--current · 사이 안내 줄 · 주소가 없는 줄)에서는 그 칸이 통째로 사라지고,
     남은 폭을 값·막대(.bar-row-bar-column)가 그대로 먹어 오른쪽으로 밀린다. 그래서 한 목록 안에서
     위아래 줄의 값과 막대 끝이 어긋나 보인다 — 순위표는 «끝이 맞아야» 길이가 비교된다.
   ■ 무엇이 맞는 수리인가 — 화살표를 «지우는» 쪽이 아니라 «자리를 예약하는» 쪽이다.
     링크가 아닌 줄에도 같은 상자를 세우고 글자만 보이지 않게 둔다(visibility:hidden).
     그러면 있고 없고가 폭을 바꾸지 않아 전 줄의 오른쪽 끝이 한 선에 모인다.
   🔒 §5 의 `.badge-bar-row--link …` 규칙을 한 글자도 건드리지 않는다 — :not(.badge-bar-row--link) 로 갈라 잡으므로
      링크 줄의 호버(opacity·색·이동)는 그대로 산다(같은 자리에서 두 규칙이 겹치지 않는다).
   🔒 상자 값은 §5 와 «같은 자»를 쓴다(margin-left:-3px · 13px · 800). 다른 값을 쓰면
      예약한 폭과 실제 화살표 폭이 달라져 도리어 두 벌로 어긋난다.
   🔒 `.badge-bar-row__arrow` 가 없는 줄(#variants 민무늬 행 등)은 이 규칙에 걸리지 않는다 — 그 줄들은
      애초에 화살표 칸을 가진 형제가 없어 맞출 대상이 없다. */
.badge-bar-row-list > .badge-bar-row:not(.badge-bar-row--link) > .badge-bar-row__arrow::after {
  content: "→";
  flex: none;
  margin-left: -3px;
  font-size: 13px;
  font-weight: 800;
  visibility: hidden;
}

/* ── §38-⑥ · 그림 없는 칸의 «정본 폴백 문법»을 축·작가 격자에도 세운다 (2026-08-06 38차) ──
   ■ 무엇이 어긋났나 (사용자 실기기 · dex 축 「No image 배경 글자가 이전 폴백과 다르다」)
     폴백 판(.card-image-fallback)을 쓰는 자리는 셋인데, «골격»을 갖춘 곳이 둘뿐이었다.
       .badge-bar-row__picture--none .card-image-fallback              (:2342~) 골격 있음 — 정본 형태
       .module-card-grid-page__fb .card-image-fallback (modules.css) 골격 있음 — 격자 칸 크기판
       .ranked-thumbnail-list-bar-row__picture .card-image-fallback                    (:2329)  ← 폭·높이·모서리만 있고 «골격이 없었다»
     골격이 없으면 안의 조각(.card-image-fallback__header·__art·__ft)이 기본 흐름으로 흘러 이름이 위에
     붙고 「No image」가 가운데로 가지 못하며, 글자 크기도 본문 기본값(약 16px)이 되어
     좁은 칸을 넘친다. 사용자가 「다르게 보인다」고 한 것이 정확히 이 상태다.
   ■ 무엇이 맞는 수리인가 — 새 모양을 만들지 않는다. 정본 골격(이름 위 · 「No image」
     가운데 · 세트 아래)을 그대로 옮기고, 글자 크기만 이 칸 폭(64~88px)에 맞춘다.
     값은 표준 격자판(.module-card-grid-page__fb)과 같은 자를 쓴다 — 두 격자가 나란히
     서는 화면이 있어서 자가 다르면 그 자리에서 바로 갈라져 보인다.
   🔒 테두리를 다시 그리지 않는다 — 칸(.ranked-thumbnail-list-bar-row__picture)이 이미 한 겹 갖고 있다(이중 테두리 금지).
     :2329 의 `border:0` 을 그대로 살린다.
   🔒 §7 「13px 하한」에 걸리지 않는다 — 그 구획이 «카드 축소 모형(.card-image-fallback 계열) 안의
     글자»를 명시적으로 제외해 두었다(:5736). 여기 글자는 읽는 본문이 아니라 그림을
     대신하는 표시다.
   ⚠️ 남은 갈라짐 = 마크업 쪽이다. 이 두 격자의 폴백 판에는 `data-state="noimg"` 표식이
      없어 팝업이 그 판을 복제하지 못한다(팝업이 빈 채로 뜬다). 그 수리는 조각 파일
      (items/pokemon/modules/axis-cells.php · artist-row.php) 소관이라 이번 회차 범위 밖이다. */
.ranked-thumbnail-list-bar-row__picture .card-image-fallback {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 2px;
  padding: 5px 4px;
  text-align: center;
  overflow: hidden;
  background: var(--surf2);
}
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__header { display: block; min-width: 0 }
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--ink2);
}
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__artwork { display: grid; place-items: center; min-height: 0 }
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__meta {
  font-size: 8.5px;
  font-style: normal;
  line-height: 1.1;
  color: var(--mut);
}
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__footer { display: flex; justify-content: space-between; gap: 2px; min-width: 0 }
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__set {
  font-size: 8px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--mut);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.ranked-thumbnail-list-bar-row__picture .card-image-fallback__content {
  font-size: 8px;
  font-style: normal;
  line-height: 1.1;
  color: var(--mut);
}

/* ══ 병합 구획: tcggrail-fx.css (적재 순서 보존) ══ */
/* ═══════════════════════════════════════════════════════════════════════════════
   tcggrail-fx.css — 시안 21장이 «공통으로» 쓰는 시각 체계 (2026-08-07 이관 1파)
   ───────────────────────────────────────────────────────────────────────────────
   ■ 이 시트가 무엇인가
     시안이 카드·축·조합 셀·허브를 가리지 않고 같은 문법으로 쓰는 장치만 담는다.
     막대가 채워지는 방식, 계기 바늘이 도는 방식, 말풍선이 서는 자리, 목록 행의
     썸네일 칸 — 페이지 종류가 달라져도 규칙이 같아야 하는 것들이다.
     페이지 하나에만 있는 장치는 여기에 넣지 않는다(그것은 그 페이지의 시트가 진다).

   ■ 어디서 가져왔나 — 값을 새로 짓지 않았다
     각 구획 머리에 «어느 시안 몇 행»에서 옮겼는지 적었다. 시안이 정본이므로
     이 시트를 고칠 일이 생기면 시안을 먼저 고치고 여기로 내린다. 순서를 뒤집으면
     다음 찍개 한 번에 되돌아간다.

   ■ 🔒 «.module-*» 선택자를 쓰지 않는다
     표준 모듈(assets/css/modules.css)의 모양을 이 시트에서 덮으면 두 시트가 싸우고,
     화면만 봐서는 어느 쪽이 이겼는지 알 수 없게 된다. 시안 장치는 자기 클래스만 쓴다.

   ■ 🔒 tcggrail-entity.css 와 «겹치는 모양 규칙»은 여기에 두지 않는다
     그 시트가 이미 그리고 있는 것 — .price-trend-line-tooltip 바탕·.bar-row-track·.proportion-bar-track·.attribute-distribution-track/.attribute-distribution-bar-fill·.position-spread-gauge-dial·.data-story-tile__bars —
     은 그대로 그쪽에 남긴다. 두 벌이 되면 한쪽만 고쳐 놓고 반대쪽을 잊는다.
     이 시트는 그 부품들에 «움직임»만 얹는다. 그래서 모양은 한 곳, 움직임도 한 곳이다.
     겹치지 않는 장치(.ranked-thumbnail-list-card-row__picture · .position-spread-gauge-needle/.position-spread-gauge-arc · .price-trend-line-tooltip-hitarea/.price-trend-line-band__hitarea · .price-trend-line-hover-layer__points ·
     .price-trend-line-chart__dot · .distribution-bar-fill/.ranked-thumbnail-list-rank-panel-bar__footnote/.group-value-compare-cell-bar/.data-story-tile__gauge)만 모양까지 여기서 진다.

   ■ 로드 순서 = modules.css → tcggrail-entity.css → 이 시트 (loader.php 가 의존으로 못박음)

   @package 4세대 Framework — tcggrail
   @version 1.0.0 (2026-08-07 · 시안→조각 이관 1파)
   ═══════════════════════════════════════════════════════════════════════════════ */


/* ══ ① 막대 채움 — 화면에 들어올 때 채워진다 ═══════════════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2427~2456행 · 2481~2487행
          (그 판의 뿌리 = tcggrail-sets.html 1490~1500행 .module-rate-bar__fill,
           사용자가 2026-07-18 에 속도까지 확정한 표준판)
   🚨 width 가 아니라 transform:scaleX 로 채운다. width 를 애니메이션하면 브라우저가 매
      프레임 레이아웃을 다시 계산하고, 이 사이트가 가진 막대 수(시안 실측 874개)에서는
      그대로 버벅인다. scaleX 는 합성만 하므로 개수가 늘어도 값이 싸다.
   🚨 기본값은 «멈춤»이다. 그러지 않으면 문서가 열리는 순간 전부 채워져 버려서, 스크롤이
      그 자리에 닿았을 때는 이미 끝나 있다. 화면에 들어온 막대만 재생한다
      (assets/js/tcggrail-fx.js 의 관찰자가 .rv-anim-go 를 붙인다).
   🚨 움직임을 줄여 달라는 설정이면 규칙 «자체»를 만들지 않는다 — 그래서 전체를
      no-preference 로 감쌌다. animation:none 으로 되돌리는 방식은 .rv-anim-go 와
      우선순위 다툼이 생겨 쓰지 않는다.
   🔒 여기 적힌 이름들은 모양을 «가진» 부품이 아니라 «채움» 부품이다. 트랙(바깥 상자)의
      모양은 tcggrail-entity.css 가 그린다(.bar-row-track · .proportion-bar-track · .attribute-distribution-track). 이 시트는 그 안쪽만 움직인다. */
@media (prefers-reduced-motion:no-preference){
  /* B-8 확장(2026-08-14 지휘자 판정 — census A군 전체 승인 · 정본 5-l-3):
     이 목록에 있던 7개 선택자(distribution-bar-fill·ranked-thumbnail-list-rank-panel-bar__footnote·
     attribute-distribution-bar-fill·attribute-distribution-track>i·bar-row-track>i·
     group-value-compare-cell-bar>span·data-story-tile__gauge>i)를 proportion-bar-track>i와 같은 원리로
     전부 뺐다 — 기본 선언에 paused+tg-bar-fill 을 두지 않고, 트리거(.rv-anim-go)에만 shorthand를
     선언한다(각 선택자의 개별 규칙 — :11017 부근 확장판 참조). 세로 기둥(tg-col-grow) 묶음은
     지휘자 판정식 범위 밖(tg-bar-fill·bar-fill-x 한정)이라 그대로 둔다.
     ⚠️ 이름 충돌 기록(2026-08-07 실측) — «.data-story-tile__bars» 는 두 시안에서 뜻이 다르다.
        axis-fire 판 = 세로 기둥 묶음(직계 자식이 <i>)   ← 아래 규칙이 겨냥하는 것
        entity-full 판 = 가로 막대를 세로로 쌓은 묶음(직계 자식이 .proportion-bar-track, 그 안이 <i>)
        라이브 마크업(items/pokemon/modules/lens-story.php)은 후자라 직계 <i> 가 없다.
        즉 이 규칙은 지금 라이브에서 «맞는 요소가 없어» 발화하지 않고, 축·셀 조각이
        axis-fire 문법으로 내려올 때 비로소 쓰인다. 두 뜻이 한 이름을 쓰는 것 자체가
        시안 층의 갈라짐이므로, 조각으로 내릴 때 이름을 가르는 판단이 따로 필요하다. */
  .data-story-tile__bars>i,.data-story-tile__rank>i{
    transform-origin:bottom center;animation:tg-col-grow 1.5s linear .2s both;animation-play-state:paused}
  /* B-8 확장: 위 7개 선택자의 .rv-anim-go 트리거도 각자 개별 규칙(:11017 부근)으로 옮겼다 —
     여기 남기면 shorthand 없는 animation-play-state 만 반복돼 혼란만 준다. tg-col-grow 두 개만 남는다. */
  .data-story-tile__bars>i.rv-anim-go,.data-story-tile__rank>i.rv-anim-go{animation-play-state:running}
  /* 같은 묶음 안에서는 40밀리초씩 늦게 시작한다 — 위에서 아래로 읽히는 «순서»가 생기고,
     순위 막대에서는 그 순서가 곧 순위라 움직임 자체가 정보를 나른다.
     ⚠️ 위 animation 쇼트핸드가 지연을 0.2초로 다시 쓰므로 이 규칙은 반드시 그 «뒤»에 온다.
     🔒 12번째부터는 한 값으로 묶는다 — 목록이 수백 줄이면 지연이 분 단위가 된다. */
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(1) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(1),.data-story-tile__rank>i:nth-child(1){animation-delay:.20s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(2) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(2),.data-story-tile__rank>i:nth-child(2){animation-delay:.24s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(3) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(3),.data-story-tile__rank>i:nth-child(3){animation-delay:.28s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(4) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(4),.data-story-tile__rank>i:nth-child(4){animation-delay:.32s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(5) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(5),.data-story-tile__rank>i:nth-child(5){animation-delay:.36s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(6) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(6),.data-story-tile__rank>i:nth-child(6){animation-delay:.40s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(7) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(7),.data-story-tile__rank>i:nth-child(7){animation-delay:.44s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(8) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(8),.data-story-tile__rank>i:nth-child(8){animation-delay:.48s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(9) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(9),.data-story-tile__rank>i:nth-child(9){animation-delay:.52s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(10) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(10),.data-story-tile__rank>i:nth-child(10){animation-delay:.56s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(11) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(11),.data-story-tile__rank>i:nth-child(11){animation-delay:.60s}
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(n+12) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span),.data-story-tile__bars>i:nth-child(n+12),.data-story-tile__rank>i:nth-child(n+12){animation-delay:.64s}
}


/* ══ ② 계기 — 바늘이 0에서 돌아 제 값으로 간다 ═══════════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2456~2482행 = tcggrail-entity-full.html 3183~3198행
          (두 시안이 «같은 규칙»을 갖고 있어 그대로 옮겼다)
   사용자 확정(2026-08-07 3파): 「반원 게이지도 바늘이 0에서 움직이는 거 · 화면이 열리고
   해당 반원 게이지가 사용자에게 «보일 때» 움직이도록」.
   🔒 0 = 반원의 «왼쪽 끝»이다. 눈금이 거기서 시작하므로 바늘도 거기서 출발해 제 각도까지 돈다.
      --rot 이 «최종 각도», --a 가 «0에서 최종까지 돈 각»이다. 시작 자리는 계산으로 나온다:
      rotate(--rot − --a) = 왼쪽 끝. 그래서 조각은 두 수만 실으면 된다.
   🔒 --a 는 «호가 그린 각도»와 같은 수여야 한다. 시안 실측 대조: 호 50.22 ÷ 150.8 × 180 =
      59.94° · 바늘 벡터가 이루는 각 59.94°. 둘이 어긋나면 그림이 거짓말을 한다.
   🔒 리듬은 막대와 같다 — 1.5초 · 0.2초 뒤 시작. 호는 바늘과 «같은 시간에» 함께 자란다.
   🔒 재생 시점도 막대와 같다. 막대를 재생시키는 그 관찰자가 계기도 함께 맡는다
      (관찰자를 새로 만들지 않고 선택자 목록에 등록만 했다).
   🔒 transform-box:view-box — SVG 안의 요소는 기본이 «자기 상자» 기준이라 회전축이
      바늘 자신의 가운데가 된다. 뷰박스 기준으로 바꿔야 --ox/--oy 가 계기의 중심을 가리킨다. */
.position-spread-gauge-needle{transform-box:view-box;transform-origin:var(--ox) var(--oy);
  transform:rotate(var(--rot,0deg))}
/* 바늘의 축이 되는 점. 시안은 이 색을 마크업 인라인(fill="var(--ink)")으로 진다.
   시트로 한 번 더 적어 두는 이유는 «도형의 색을 마크업이 아니라 시트가 정하게» 하려는 것이다
   — 판을 어둡게 바꿀 때 고칠 자리가 한 곳으로 모인다. 값은 시안 인라인과 «같은» var(--ink)라
   지금 화면은 1픽셀도 달라지지 않고, 인라인을 남겨 두었으므로 이 시트가 없어도 점은 그려진다. */
.position-spread-gauge-hand{fill:var(--ink)}
/* 🔧 p28-f(2026-08-13) J-⑨ — 계기는 «바늘만» 움직인다(호는 처음부터 완성된 그림)
   ■ 사용자 지적 = 호가 그려지며 나타나는 것을 끈다. 계기에서 값을 가리키는 것은 바늘이고,
     호는 그 값이 놓인 «자리»(분모 위의 구간)라 처음부터 다 서 있어야 읽힌다. 둘 다 움직이면
     무엇이 값인지가 흐려진다(짚었을 때 효과는 한 종만 — 이 시트의 «이중 효과 판례»와 같은 판단).
   ■ 그림은 한 픽셀도 안 바뀐다 — tg-garc 는 stroke-dashoffset 을 --arc 에서 «0 으로» 되돌리는
     애니라, 끝난 뒤의 그림이 곧 offset 0 이다. 애니를 떼면 그 «끝 그림»이 처음부터 서 있게 된다.
     즉 없어지는 것은 «그려지는 과정»뿐이고 완성 모양·길이·색은 그대로다.
     (두 판 모두 그렇다 — spread-gauge.php 는 dasharray="{값} {나머지}" 를 인라인으로 지고,
      앱층 판은 .app-layer-panel--cell 규칙이 dasharray:100 을 진다. 둘 다 offset 0 이 완성형.)
   🔒 바늘 스윕(tg-needle)은 그대로 둔다 — 값을 가리키는 움직임이라 뜻이 있다.
   🔒 @keyframes tg-garc 는 남겨 둔다 — 이름이 사라지면 이 판단의 흔적도 사라진다.
      어디에서도 부르지 않으므로 화면에 영향 0(부르는 자리가 위 세 줄에서 빠졌다). */
@media (prefers-reduced-motion:no-preference){
  .position-spread-gauge-needle{animation-duration:1.5s;animation-timing-function:cubic-bezier(.22,.68,.3,1);
    animation-delay:.2s;animation-fill-mode:both;animation-play-state:paused}
  .position-spread-gauge-needle{animation-name:tg-needle}
  .position-spread-gauge-needle.rv-anim-go{animation-play-state:running}
}
@keyframes tg-needle{from{transform:rotate(calc(var(--rot,0deg) - var(--a,0deg)))}}
@keyframes tg-garc{from{stroke-dashoffset:var(--arc,0)}}  /* 부르는 자리 없음 — J-⑨ 로 결속 해제 */


/* ══ ③ 막대·계기 공용 시작 그림 + 자바스크립트가 꺼진 환경 ═══════════════════
   출처 = _시안/tcggrail-axis-fire.html 2478~2480행 · 2481~2487행
   🚨 관찰자가 돌지 않으면 «멈춤»이 곧 빈 막대·0을 가리키는 바늘이 되어 화면이 거짓이 된다.
      그때는 처음부터 재생한다. 시트 안에는 <noscript> 를 쓸 수 없으므로
      (그것은 마크업 요소다) 같은 일을 하는 미디어 질의 scripting:none 을 쓴다 —
      시안이 이미 이 방식을 쓰고 있고, 조각을 부르는 모든 템플릿에 태그를 심을 필요가 없다.
   ⚠️ scripting 질의를 모르는 옛 브라우저에서는 이 구제가 발화하지 않는다. 그 자리는
      tcggrail-fx.js 가 «관찰자를 못 쓰면 즉시 전부 재생» 으로 메운다(그 파일 머리 주석). */
@keyframes tg-bar-fill{from{transform:scaleX(0)}}
@keyframes tg-col-grow{from{transform:scaleY(0)}}
@media (prefers-reduced-motion:no-preference) and (scripting:none){
  /* B-8: .proportion-bar-track>i 는 여기서도 뺐다 — 이제 재생할 animation-name이 없다(no-op 정리). */
  .distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span,.data-story-tile__gauge>i,
  .data-story-tile__bars>i,.data-story-tile__rank>i,.position-spread-gauge-needle{animation-play-state:running}  /* 호(.position-spread-gauge-arc)는 p28-f J-⑨ 로 애니를 안 진다 — 여기서도 뺀다 */
}


/* ══ ④ 채움 부품 중 tcggrail-entity.css 가 «안 그리는» 것들의 모양 ═════════════
   출처 = _시안/tcggrail-axis-fire.html 214행(.distribution-bar-fill) · 2206행(.ranked-thumbnail-list-rank-panel-bar__footnote) · 2155~2157행(.data-story-tile__gauge)
          · 2326~2327행(.group-value-compare-cell-bar)
   🔒 .bar-row-track · .proportion-bar-track · .attribute-distribution-track/.attribute-distribution-bar-fill 는 tcggrail-entity.css 가 이미 그린다 — 여기에 다시 적지 않는다.
      아래 넷은 그 시트에 없는 부품이라 모양도 여기서 진다(2026-08-07 census 로 확인). */
.distribution-bar-fill{display:block;height:100%;border-radius:5px;background:var(--et,var(--acc))}
.ranked-thumbnail-list-rank-panel-bar__footnote{display:block;height:10px;border-radius:5px;background:var(--acc);max-width:100%}
.data-story-tile__gauge{position:relative;display:flex;align-items:center;height:40px}
.data-story-tile__gauge::before{content:"";position:absolute;left:0;right:0;height:10px;border-radius:5px;background:var(--line2)}
/* .data-story-tile__gauge i 완전판 선언은 7341행 부근(구 «기준판» 태그)으로 통합 — 2026-08-09
   정본 판정: 시안 원문 tcggrail-axis-fire.html:2157 .st__gauge i{background:var(--acc)} 실측 확인 +
   형제 채움막대(.bar-row-track i·.stat-tile-link__track i 등) 전부 --acc 계열이라 --dn 은 오탐.
   이 자리(구판)는 width:var(--w)·animation 누락으로 실제 위치를 못 그려 폐기하고 완전판 한 벌로 합친다. */
.group-value-compare-cell-bar{display:block;height:7px;border-radius:4px;background:var(--surf2);border:1px solid var(--line);overflow:hidden}
.group-value-compare-cell-bar span{display:block;height:100%;border-radius:4px;background:var(--acc)}


/* ══ ⑤ 말풍선 — 판정 층(띠) 위에서 자기 점 높이에 선다 ═══════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2046행(.price-trend-line-tooltip-hitarea) · 2060행(펼침) · 2073~2076행(양 끝)
          + 라이브 assets/css/tcggrail-entity.css 1551~1580행(개수 비의존 clamp · 오늘 수리)
   🔒 말풍선의 «바탕·글자·그림자»는 tcggrail-entity.css .price-trend-line-tooltip 이 이미 그린다 — 여기서는
      「어디에 서는가」만 정한다. 두 시트가 같은 모양을 두 번 그리지 않게 하려는 것이다.
   🆕 시안의 :first-child/:last-child 대신 clamp 를 쓴다 — 시안 판은 «점 개수»에 기대고 있어
      점이 13개가 되자 둘째·셋째 칸이 새로 넘쳤다(2026-08-07 라이브 실측 = 모바일에서 문서
      폭이 390 → 416 으로 벌어져 화면이 좌우로 흔들림). 개수와 무관한 규칙으로 바꾼다:
        말풍선 왼끝을 [상자 왼끝, 상자 오른끝 − 172px] 안에 가둔다.
        백분율은 «띠 한 칸» 폭 기준이라 (--i+.5)*100% = 이 칸의 중심, --n*100% = 상자 전체 폭이
        된다. 그래서 상자 폭을 px 로 몰라도 계산이 선다(조각이 --i·--n 을 싣는다).
   🔒 172px = tcggrail-entity.css .price-trend-line-tooltip 의 min-width. «둘을 함께» 고쳐야 한다.
   🔒 --i·--n 이 없으면 clamp 의 상한이 하한보다 작아져 0 = 띠 왼끝에 붙는다(= 옛 첫 칸 자리).
      값이 안 실려도 화면이 깨지지 않는다.
   🔒 --yp = 그 점의 세로 위치(도표 높이 대비 %, 단위 없는 수). 선을 그린 좌표와 «같은 값»이라야
      말풍선이 제 점을 가리킨다. 띠가 도표 높이 전체를 차지하므로, 이 값이 없으면 점이 어디
      있든 말풍선이 도표 맨 위에 뜬다. */
.price-trend-line-tooltip-hitarea{position:relative;overflow:visible}
.price-trend-line-tooltip-hitarea>.price-trend-line-tooltip{top:calc(var(--yp,0)*1%);
  left:calc(clamp(0px, (var(--i,0) + .5) * 100% - 86px, var(--n,1) * 100% - 172px)
            - (var(--i,0) + .5) * 100% + 50%);
  transform:translate(0,calc(-100% - 16px))}
.price-trend-line-tooltip-hitarea:hover>.price-trend-line-tooltip,.price-trend-line-tooltip-hitarea:focus-visible>.price-trend-line-tooltip,.price-trend-line-tooltip-hitarea:active>.price-trend-line-tooltip{
  opacity:1;visibility:visible;transform:translate(0,calc(-100% - 12px))}

/* 판정 층 — 도표 위에 «세로 띠»를 균등하게 얹어 어디를 짚어도 그 점이 읽히게 한다.
   출처 = _시안/tcggrail-axis-fire.html 2369~2372행 (tcggrail-sets.html 2520~2523행도 같은 판)
   🔒 <button> 이라야 손가락 탭과 Tab 초점이 통한다(<span title> 은 둘 다 안 된다).
   🔒 띠 경계는 점과 점의 «중간»이다. 그래야 「지금 커서가 어느 점에 가장 가까운가」와 판정이
      일치한다. 점 간격이 균등하지 않은 판에서는 조각이 띠마다 flex 를 실어 경계를 맞춘다.
   🔒 점 자체는 그대로 둔다 — 판정 층은 점 «위»를 덮는 투명 층이고 그림의 점은 계속 보인다. */
.price-trend-line-band__hitarea{position:absolute;inset:0;display:flex}
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea{flex:1 1 0;min-width:0;position:relative;border:0;background:transparent;padding:0;cursor:pointer}
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:hover{background:color-mix(in srgb,var(--acc) 12%,transparent)}
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}


/* ══ ⑥ 점 — SVG 밖으로 꺼내 «정원»을 보장한다 ════════════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2363~2368행(.price-trend-line-hover-layer--figure/.price-trend-line-hover-layer__points, 뿌리는
          tcggrail-entity-full.html 434행) · tcggrail-sets.html 2502~2507행(.price-trend-line-chart__dot)
   🚨 왜 SVG 안에 두지 않나 — 도표는 preserveAspectRatio="none" 으로 가로만 늘리기 때문에
      그 안의 <circle> 은 화면 폭이 넓어질수록 «타원»이 된다. 점을 HTML 요소로 세우면
      자리는 백분율이라 늘어나는 화면을 그대로 따라가고 크기는 고정 px 라 어떤 폭에서도 정원이다.
   🔒 선(polyline)은 SVG 에 그대로 둔다 — 선은 늘어나도 뜻이 상하지 않는다.
   🔒 --x = cx ÷ viewBox너비 × 100 · --yp = cy ÷ viewBox높이 × 100 — 기존 <circle> 값에서 나온다.
   🔒 .price-trend-line-chart__dot 은 «짚을 수 있는» 점이라 판정 지름(22px)과 보이는 지름(9px)이 다르다.
      보이는 크기를 키우지 않고 짚기만 쉽게 하려는 것이다. */
.price-trend-line-hover-layer--figure{position:relative;display:block;container-type:inline-size}
.price-trend-line-hover-layer__points{position:absolute;inset:0}
.price-trend-line-hover-layer__points>i{position:absolute;left:calc(var(--x)*1%);top:calc(var(--yp)*1%);
  width:var(--d,7px);height:var(--d,7px);
  margin:calc(var(--d,7px) / -2) 0 0 calc(var(--d,7px) / -2);
  display:block;border-radius:50%;background:var(--dc,var(--acc));pointer-events:none}
.price-trend-line-chart__dot{position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);
  border-radius:50%;cursor:pointer}
.price-trend-line-chart__dot::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;
  transform:translate(-50%,-50%);border-radius:50%;background:var(--acc-i);
  box-shadow:0 0 0 2px var(--surf)}
.price-trend-line-chart__dot--current::after{width:13px;height:13px;background:var(--dn);box-shadow:0 0 0 3px var(--surf)}


/* ══ ⑦ 목록 행 썸네일 — 줄 높이를 «키우지 않고» 카드를 세운다 ═══════════════
   출처 = _시안/tcggrail-axis-fire.html 602~607행 · 632행(좁은 폭)
   🔒 폭 28px 은 계산에서 나온 값이다. 실측: 이 행은 높이 39.8px 이고 위아래 여백이 7px 씩이라
      안쪽에 25.8px 만 있었다. 여백을 0 으로 되돌리면 안쪽이 39.8px 이 되고, 카드 비율에서
      그 높이를 내는 폭이 28px 이다(28 × 1040 ÷ 745 = 39.1px). 줄 높이는 39.8 → 39.1 로
      오히려 조금 낮아진다. ⚠️ 31px 로 잡으면 높이가 43.3px 이 되어 줄이 8.8% 높아진다.
   🔒 745/1040 = 포켓몬 카드 그림의 실제 비율이다. object-fit:cover 라야 비율이 다른 그림이
      들어와도 칸이 찌그러지지 않는다.
   🔒 그림이 없으면 정본 부품(.card-image-fallback)이 안쪽을 그린다 — 그때는 껍데기 테두리를 벗는다
      (테두리 두 겹을 만들지 않는다는 확정 조항).
   🔒 그림은 조각이 loading="lazy" 로 받는다 — 행이 수백~수천이라 한꺼번에 받으면 첫 화면이 늦어진다. */
.ranked-thumbnail-list-card-row__picture{position:relative;display:block;width:28px;aspect-ratio:745/1040;align-self:center;
  border-radius:4px;overflow:hidden;border:1px solid var(--line2);background:var(--surf2)}
.ranked-thumbnail-list-card-row__picture img{width:100%;height:100%;object-fit:cover;display:block}
.ranked-thumbnail-list-card-row__picture--none{border:0;background:transparent}
.ranked-thumbnail-list-card-row__picture--none .card-image-fallback{width:100%;height:100%;aspect-ratio:auto;border-radius:4px}
/* ⚠️ 좁은 폭(700px 이하)에서 이 칸을 «두 줄에 걸쳐» 세우는 규칙은 여기에 두지 않았다.
   시안 판(axis-fire 631~635행)은 `.ranked-thumbnail-list-card-row{grid-template-columns:38px 28px minmax(0,1fr) auto}` 와
   `.ranked-thumbnail-list-card-row__picture{grid-column:2/3;grid-row:1/span 2}` 가 «한 쌍»이다. 격자를 정하는 쪽을 두고
   놓는 쪽만 옮기면 열 번호가 가리킬 칸이 없어 썸네일이 엉뚱한 자리에 앉는다.
   목록 행 조각(list-row)이 내려오는 회차에 «둘을 함께» 옮긴다 — 그때 이 칸의 격자 정의가
   같이 생기기 때문이다. 이 시트는 «칸 하나의 생김새»만 진다(폭·비율·테두리·잘림). */

/* ══ 병합 구획: tcggrail-hub.css (적재 순서 보존) ══ */
/* ═══════════════════════════════════════════════════════════════════════════════
   tcggrail-hub.css — 시안 «홈·허브·목록» 계열의 전용 장치 (2026-08-07 이관 2파 · 팀C)
   ───────────────────────────────────────────────────────────────────────────────
   ■ 이 시트가 무엇인가
     허브(=/{언어}/pokemon/)와 그 계열의 목록 화면이 쓰는 장치만 담는다. 지금 담긴 것은 둘이다.
       ① 분포 막대 묶음(.distribution-bar-row · .distribution-bar-track) — 「이 갈래가 기록의 어디까지 닿는가」를 길이로 말한다.
       ② 목록 행(.ranked-thumbnail-list-card-rows · .ranked-thumbnail-list-card-row) — 한 줄이 «카드 한 장»을 가리키는 목록.
     시안 출처 = _시안/tcggrail-home.html 209~214행(막대) · 611~650행(목록 행)
                 _시안/tcggrail-axis-fire.html 581행 · 631~635행(썸네일이 붙은 뒤의 격자)

   ■ 🔒 tcggrail-fx.css 와 «겹치는 것»은 여기에 두지 않는다 (census 2026-08-07)
     그 시트가 이미 지는 것 — .distribution-bar-fill(채움의 모양과 움직임) · .ranked-thumbnail-list-card-row__picture(썸네일 칸의 폭·비율·
     테두리·잘림) — 은 그대로 그쪽에 남긴다. 두 벌이 되면 한쪽만 고쳐 놓고 반대쪽을 잊는다.
     이 시트가 새로 지는 것은 그 부품들이 «앉을 자리»다:
       .distribution-bar-track  = .distribution-bar-fill 가 들어갈 트랙(바깥 상자)      ← fx.css 에 없다
       .ranked-thumbnail-list-card-row = .ranked-thumbnail-list-card-row__picture 가 앉을 격자와 열 번호     ← fx.css 가 «격자를 정하는 쪽은 밖»이라며
                                                     보류한 바로 그 짝이다(그 파일 225~230행)

   ■ 🔒 tcggrail-entity.css 가 이미 쓰는 이름을 덮지 않는다 (census 2026-08-07)
     .visual-block-box(간격 토큰 margin:0 0 14px) · .distribution-bar-label-row(머리 줄) · .tabular-number(자릿수 고정)은 카드·축 페이지가
     쓰고 있다. 그래서 여기서는 «다시 정의하지 않고» 그대로 물려받는다. 막대 머리에만 필요한
     차이는 .distribution-bar-row 안으로 «가둬서» 적는다(.distribution-bar-row .distribution-bar-label-row) — 그래야 카드 페이지의 .distribution-bar-label-row 가 1픽셀도
     달라지지 않는다. 시안 home 의 .visual-block-box 는 테두리 있는 상자였지만 라이브의 .visual-block-box 는 간격
     토큰이라, 그 모양을 여기서 되살리면 카드 페이지의 모든 .visual-block-box 블록에 테두리가 생긴다.
     ▶ 그래서 상자 모양은 «가져오지 않았다». 이 판단은 시안보다 라이브 SSOT 가 앞선 자리다.

   ■ 🔒 «.module-» 로 시작하는 선택자를 쓰지 않는다
     표준 모듈 시트(assets/css/modules.css)의 모양을 여기서 덮으면 두 시트가 싸우고,
     화면만 봐서는 어느 쪽이 이겼는지 알 수 없게 된다. 시안 장치는 자기 클래스만 쓴다.

   ■ 로드 순서 = modules.css → tcggrail-entity.css → tcggrail-fx.css → 이 시트
     (loader.php 가 의존으로 못박는다. 이 시트가 맨 뒤라야 «자리»가 «모양» 위에 얹힌다.)

   @package 4세대 Framework — tcggrail
   @version 1.0.0 (2026-08-07 · 시안→조각 이관 2파 팀C)
   ═══════════════════════════════════════════════════════════════════════════════ */


/* ══ ① 분포 막대 묶음 — 길이가 「얼마나 닿는가」를 먼저 말한다 ═══════════════════
   출처 = _시안/tcggrail-home.html 209~214행
   쓰는 곳 = items/pokemon/modules/dist-bar.php

   🔒 트랙(.distribution-bar-track)의 «전체 길이»가 곧 분모다. 그래서 채움이 짧으면 남은 빈자리가 그대로
      「닿지 못한 몫」이 된다 — 길이를 최댓값에 맞춰 늘리면 그 뜻이 사라진다.
      (표준 chart 모듈의 막대는 그 판의 최댓값을 100%로 잡는다. 두 판은 같은 그림이 아니다.)
   🔒 채움 .distribution-bar-fill 는 여기서 정의하지 않는다 — tcggrail-fx.css §④ 가 모양을, §① 이 움직임을 진다.
      이 시트가 .distribution-bar-fill 를 한 줄이라도 다시 적으면 그 순간 두 벌이 된다.
   🔒 묶음 안 순서 지연(40밀리초씩)도 fx.css §① 이 «.distribution-bar-row 의 몇 번째 자식인가»로 이미 계산한다.
      그래서 줄 하나를 .distribution-bar-row 로 감싸는 것만으로 위에서 아래로 차례로 채워진다 — 여기 적을 것이 없다. */
.distribution-bar-row{margin:0 0 9px}
.distribution-bar-row:last-child{margin-bottom:0}
/* 머리 줄 — .distribution-bar-label-row 의 뼈대(flex · 양끝 정렬)는 tcggrail-entity.css 가 이미 준다.
   여기서는 «막대 머리에서만» 달라지는 세 값만 덧쓴다(간격·글자 크기·아래 여백). */
.distribution-bar-row .distribution-bar-label-row{gap:10px;margin:0 0 4px;font-size:15px}
.distribution-bar-row .distribution-bar-label-row .bar-heading-line{display:flex;align-items:center;gap:7px;min-width:0}
/* 왼쪽 덩어리는 이름이 길면 줄어들고, 오른쪽 수치는 «절대 줄지 않는다» —
   수치가 눌려 잘리면 정보가 0이 된다(데이터 값 말줄임 금지 · 확정 조항). */
.distribution-bar-row .distribution-bar-label-row .bar-heading-line>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.distribution-bar-row .distribution-bar-label-row .bar-heading-line>span{flex:0 0 auto;color:var(--mut);font-variant-numeric:tabular-nums}
.distribution-bar-row .distribution-bar-label-row>b{flex:0 0 auto;font-weight:800}
.distribution-bar-track{height:9px;border-radius:5px;background:var(--line2);overflow:hidden}


/* ══ ② 목록 행 — 한 줄이 «카드 한 장»을 가리킨다 ══════════════════════════════
   출처 = _시안/tcggrail-home.html 611~630행 + _시안/tcggrail-axis-fire.html 581행·631~635행
   쓰는 곳 = items/pokemon/modules/list-row.php

   🔑 이 구획이 tcggrail-fx.css 가 «보류»한 짝이다.
      그 시트는 「.ranked-thumbnail-list-card-row__picture 를 놓는 쪽만 있고 격자를 정하는 쪽이 밖이라, 열 번호가 가리킬 칸이
      없다」며 좁은 폭 규칙을 남겨 두었다(fx.css 225~230행). 격자를 정하는 쪽이 여기다.
      ▶ 그래서 이 시트와 fx.css 는 «한 쌍»이다. 둘 중 하나만 실리면 썸네일이 엉뚱한 자리에 앉는다.

   🔒 줄 높이를 썸네일이 «키우지 않는다» — 이 판의 핵심 계산 (실측 2026-08-07)
      ① 카드 그림의 비율은 745:1040 이고 폭은 28px 이다(그 폭은 tcggrail-fx.css 가 정한다).
         그래서 그림의 높이는 28 × 1040 ÷ 745 = 39.09px — 렌더 실측도 39.08px 이었다.
      ② 줄에는 윗줄 경계선 1px 이 있고 이 판은 테두리를 «높이 안에» 세는 방식이다.
         즉 썸네일이 차지하는 발자국은 39.08 + 1 = 40.08px 이다.
      ③ 그래서 줄의 최소 높이를 «41px»로 잡는다 — 발자국을 올림한 수다.
      ▶ 이 순서가 요점이다. 줄 높이를 «썸네일의 발자국에서 뽑아» 한 번 못박아 두면, 그 뒤로
        썸네일이 있든 없든 줄은 같은 높이다. 실측: 41px 로 잡기 전(39px)에는 줄이 39.00 →
        39.98px 로 «2.51%» 자랐다. 41px 로 잡은 뒤에는 자라지 않는다.
      ⚠️ 최소 높이 자체를 없애면 글자만 있는 줄이 25.65px 이 되고, 거기에 썸네일이 들어가면
         55.87% 높아진다(실측). 그것이 이 조항이 막으려는 사고다.
      ▶ 덤으로 «그림이 없는 카드»의 줄도 같은 높이로 선다. 원자 실측 2026-08-07 = 무리의
        최고가 카드 438장 가운데 26장에 그림이 없다. 최소 높이가 없으면 그 26줄만 주저앉는다.
   🔒 위아래 여백은 0 이다 — 높이는 min-height 한 곳이 정한다. 여백과 최소 높이가 «둘 다»
      높이를 정하면 나중에 어느 쪽을 고쳐야 하는지 아무도 모르게 된다. */
.ranked-thumbnail-list-card-rows{margin:0 0 14px;border:1px solid var(--line);border-radius:var(--r-s);
  background:var(--surf2);overflow:hidden}
.ranked-thumbnail-list-card-row{display:grid;grid-template-columns:44px 28px minmax(0,1fr) minmax(0,220px) auto minmax(0,132px);
  gap:10px;align-items:center;min-height:41px;padding:0 12px;
  border-top:1px solid var(--line);font-size:15px;color:var(--ink2);text-decoration:none}
.ranked-thumbnail-list-card-row:first-child{border-top:0}
.ranked-thumbnail-list-card-row:hover,.ranked-thumbnail-list-card-row:focus-visible{background:var(--surf);color:var(--ink)}
.ranked-thumbnail-list-card-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranked-thumbnail-list-card-row__rank{font-size:13px;color:var(--mut);font-variant-numeric:tabular-nums}
.ranked-thumbnail-list-card-row__name{font-weight:700;color:var(--ink)}
/* 세트 칸은 «이름 + 카드 번호» 두 조각이다. 실측 2026-08-07(390px): 한 덩어리로 두면
   「SWSH Black Star Promos #SWSH241」이 150px 칸에 눌려 10줄 중 2줄에서 뒤쪽 번호가 통째로
   사라졌다. 번호는 데이터 값이라 사라지면 안 되고, 세트 이름은 줄어도 무엇인지 읽힌다.
   그래서 «이름만 줄이고 번호는 고정»한다 — 잘리는 쪽을 값이 아니라 이름으로 정한 것이다. */
.ranked-thumbnail-list-card-row__subtitle{display:flex;align-items:baseline;gap:5px;font-size:13px;color:var(--mut)}
.ranked-thumbnail-list-card-row__subtitle>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:inherit}
.ranked-thumbnail-list-card-row__subtitle>i{flex:0 0 auto;font-style:normal;font-variant-numeric:tabular-nums}
/* 값 칸 — 굵기로 무게를 준다. 🚫 색으로 주지 않는다: 이 판의 --dn 은 «내림»(붉은색)이라
   값에 칠하면 「값이 떨어졌다」로 읽힌다. 여기 값은 등락이 아니라 «그 카드의 값»이다. */
.ranked-thumbnail-list-card-row__description{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.ranked-thumbnail-list-card-row__title{font-size:13px;color:var(--acc-i);text-align:right}
/* 🚨 데이터 값(수치·단위·%·날짜)은 말줄임 금지 — 잘리면 정보가 0이 된다(확정 조항).
   ⚠️ 여기에 .ranked-thumbnail-list-card-row__title 를 «넣지 않았다». 시안에서 그 칸은 연도(데이터 값)였지만 이 판에서는
      무리 이름(라벨)이라, 말줄임을 끄면 좁은 폭에서 옆 칸을 밀어 문서가 가로로 넘친다.
      값이 아닌 칸은 잘려도 잃는 정보가 없다 — 그 이름은 누르면 도착하는 페이지가 다시 말한다.
   🚨 말줄임을 끄는 것만으로는 모자란다 — min-width 도 함께 풀어야 한다(실측 2026-08-07).
      위 .ranked-thumbnail-list-card-row>* 가 모든 칸에 min-width:0 을 걸어 두었고, 늘어나는 열(1fr)이 옆에 있으면 격자는
      «줄어들 수 있는» 칸부터 0 쪽으로 눌러 버린다. 그 결과 390px 에서 값 칸이 26px 로 눌려
      「$10,000.00」 10줄이 전부 잘렸다. min-width 를 제 내용 폭으로 되돌리면 그 칸만은
      절대 눌리지 않고, 대신 이름 열(1fr)이 그만큼 양보한다 — 이름은 잘려도 되는 칸이다. */
.ranked-thumbnail-list-card-row__rank,.ranked-thumbnail-list-card-row__description{overflow:visible;text-overflow:clip;min-width:max-content}

/* 🚨 좁은 폭에서 마지막 열을 «감추지 않고 둘째 줄로 옮긴다»(2026-08-01 뿌리 수리 조항).
   감추면 그 폭에서 정보가 0이 되고, 줄을 늘리면 「필요 최소 줄 수」와 부딪친다.
   그래서 줄 수는 둘 그대로 두고 이미 있는 둘째 줄의 오른쪽 빈자리에 앉힌다.
   🔒 썸네일은 두 줄에 «걸쳐» 세운다 — 좁은 폭에서 카드가 한 줄짜리 조각으로 눌리지 않게 한다.
      이 두 줄(격자 열 정의 + 열 번호)이 fx.css 가 짝을 기다린 바로 그 쌍이다. */
@media (max-width:700px){
  /* 🚨 여섯 칸 «전부» 자리를 적는다 — 하나라도 자동 배치에 맡기면 줄이 세 줄로 벌어진다.
     실측 2026-08-07: 값 칸만 자동으로 두었더니 격자의 배치 커서가 이미 둘째 줄로 내려간 뒤라
     값이 «둘째 줄 넷째 칸»에 앉았고, 그 자리를 쓰기로 되어 있던 무리 이름이 셋째 줄로 밀렸다.
     줄 높이가 49px 이어야 할 자리에서 74.94px 이 나온 원인이 이것이다.
     자동 배치는 «앞 칸이 어디에 앉았는가»에 따라 결과가 달라져서, 한 칸만 맡겨도 판이 흔들린다. */
  .ranked-thumbnail-list-card-row{grid-template-columns:38px 28px minmax(0,1fr) auto;row-gap:2px}
  .ranked-thumbnail-list-card-row__rank{grid-column:1/2;grid-row:1}
  .ranked-thumbnail-list-card-row__picture{grid-column:2/3;grid-row:1/span 2}
  .ranked-thumbnail-list-card-row__name{grid-column:3/4;grid-row:1}
  .ranked-thumbnail-list-card-row__subtitle{grid-column:3/4;grid-row:2}
  .ranked-thumbnail-list-card-row__description{grid-column:4/5;grid-row:1}
  .ranked-thumbnail-list-card-row__title{grid-column:4/5;grid-row:2;align-self:center}
}


/* ═══════════════════════════════════════════════════════════════════════════════
   3파 추가분 (2026-08-07) — 시안 `_시안/tcggrail-home.html` 의 «허브가 쓰는 규칙»을 전수로 내렸다.
   ───────────────────────────────────────────────────────────────────────────────
   🔒 census 원칙은 §① §② 와 같다: tcggrail-fx.css · tcggrail-entity.css 가 «이미 지는 이름»은
      여기에 한 줄도 다시 적지 않는다. 실측(2026-08-07)으로 그쪽이 이미 가진 것 —
        .content-section-block .section-lead-paragraph .body-prose-block .summary-return-anchor .tabular-number .visual-block-box .distribution-bar-label-row .card-image-fallback .screen-reader-only-text .section-footnote-line  → entity.css
        .distribution-bar-fill(채움의 모양·움직임) .ranked-thumbnail-list-card-row__picture(썸네일 칸)                            → fx.css
      아래는 «그 시트에 없던 이름»만이다.
   🔒 .module- 로 시작하는 선택자 0 — 표준 모듈 시트를 여기서 덮지 않는다.
   ⚠️ 글자 크기는 시안 값을 그대로 옮겼다. 13px 미만을 «새로 만들지 않았다».
   ═══════════════════════════════════════════════════════════════════════════════ */


/* ══ ③ 에너지 기호 — 카드에 찍힌 도형을 그대로 세운다 ═══════════════════════════
   출처 = 시안 42~43행 · 쓰는 곳 = modules/_energy-kit.php(도형 표) · dist-bar · card-row
   🔒 크기는 마크업이 정한다(막대 머리 19px · 카드 곁줄 14px) — 쓰는 자리마다 달라서다. */
.energy-cost-ladder-symbol{display:inline-grid;place-items:center;vertical-align:-3px;flex:0 0 auto}
.energy-cost-ladder-symbol svg{width:100%;height:100%;display:block}
/* 이름 뒤 작은 표 — 시안에서는 «그 값이 살아 있던 기간»이 들어간다(출처 = 시안 278~279행) */
.classification-note-badge{display:inline-block;font-size:13px;font-weight:700;padding:1px 7px;border-radius:999px;
  background:var(--warn-s);color:var(--warn);margin-left:5px}


/* ══ ④ 큰 카드 줄 — 그림이 그 구역의 사실을 보인다(장식이 아니다) ═══════════════
   출처 = 시안 1167~1188행 · 쓰는 곳 = modules/card-row.php
   🔒 칸 하나가 카드 «한 장»이다. 무리를 대표한다며 한 장을 세우지 않는다(SOP §4-c-③).
   🔒 그림 칸의 비율 745:1040 은 실물 카드의 비율이다 — 이 값이 바뀌면 그림이 늘어난다. */
.ranked-thumbnail-list-feature-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}
@media (max-width:1100px){.ranked-thumbnail-list-feature-row{grid-template-columns:repeat(4,1fr)}}
@media (max-width:680px){.ranked-thumbnail-list-feature-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:430px){.ranked-thumbnail-list-feature-row{grid-template-columns:repeat(2,1fr)}}
/* 🚨 격자 칸에 min-width:0 — 없으면 카드 이름 길이가 칸의 하한이 되어 좁은 화면에서
   칸이 줄지 않고 줄 전체가 구역 밖으로 밀린다(뿌리 수리 조항 1 · 시안 1479행과 같은 처방). */
.ranked-thumbnail-list-feature-row>*{min-width:0}
.ranked-thumbnail-list-feature-cell{display:block;text-decoration:none;color:inherit;padding:8px;border:1px solid var(--line2);
  border-radius:var(--r-s);background:var(--surf);perspective:760px;
  transition:border-color .18s,background .18s}
.ranked-thumbnail-list-feature-cell:hover,.ranked-thumbnail-list-feature-cell:focus-visible{border-color:var(--acc);background:var(--acc-s);z-index:6}
.ranked-thumbnail-list-feature-cell__image{display:block;position:relative;aspect-ratio:745/1040;border-radius:6px;background:var(--surf2)}
.ranked-thumbnail-list-feature-cell__picture{position:relative;display:block;width:100%;height:100%;border-radius:6px;
  background-size:cover;background-position:center;transform-origin:50% 100%;
  transition:transform .3s cubic-bezier(.18,.75,.28,1),box-shadow .3s}
.ranked-thumbnail-list-feature-cell:hover .ranked-thumbnail-list-feature-cell__picture,.ranked-thumbnail-list-feature-cell:focus-visible .ranked-thumbnail-list-feature-cell__picture{transform:translateY(-18px) rotateX(8deg) scale(1.05);
  box-shadow:0 22px 30px -14px rgba(0,0,0,.72)}
@media (prefers-reduced-motion:reduce){.ranked-thumbnail-list-feature-cell__picture{transition:none}.ranked-thumbnail-list-feature-cell:hover .ranked-thumbnail-list-feature-cell__picture{transform:translateY(-6px)}}
.ranked-thumbnail-list-feature-cell__name{display:block;font-size:14px;font-weight:800;line-height:1.3;margin-top:7px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ranked-thumbnail-list-feature-cell__meta{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--mut);margin-top:2px}
/* 🚨 곁줄의 «글자» 쪽만 줄인다 — 기호는 눌리면 도형이 뭉개져 못 알아본다 */
.ranked-thumbnail-list-feature-cell__meta>span:not(.energy-cost-ladder-symbol){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranked-thumbnail-list-feature-cell__value{display:block;font-size:17px;font-weight:800;margin-top:3px;color:var(--dn);
  font-variant-numeric:tabular-nums}
.ranked-thumbnail-list-feature-cell__value small{font-size:13px;color:var(--mut);font-weight:700}
/* 그림 없는 칸 — 이름으로 카드 모양을 세운다. 바깥 틀·비율은 위 .ranked-thumbnail-list-feature-cell__picture 가 이미 준다. */
.ranked-thumbnail-list-feature-cell__picture.card-image-fallback{display:grid;place-content:center;gap:3px;padding:8px;text-align:center;
  background:var(--surf2);border:1px dashed var(--line2)}
.ranked-thumbnail-list-feature-cell__picture.card-image-fallback .card-image-fallback__name{font-size:13px;font-weight:800;line-height:1.25;color:var(--ink2)}
.ranked-thumbnail-list-feature-cell__picture.card-image-fallback .card-image-fallback__set,.ranked-thumbnail-list-feature-cell__picture.card-image-fallback .card-image-fallback__content{font-size:13px;color:var(--mut)}
/* 줄 아래 한 줄 설명 — 그림을 «가리키는» 말을 쓴다(SOP §4-c-②) */
.grid-source-caption{font-size:13px;color:var(--mut);margin:0 0 12px}
.grid-source-caption b{color:var(--ink2);font-weight:800}


/* ══ ⑤ 축 상자 — 축 하나가 한 상자다 ══════════════════════════════════════════
   출처 = 시안 1330~1362행 · 쓰는 곳 = modules/axis-box.php
   🔒 왼쪽 칸은 늘어나고 오른쪽 카드 칸은 340px 로 고정한다 — 카드 두 장의 비율이
      화면 폭에 따라 흔들리면 «실물»이라는 느낌이 사라진다. 좁아지면 위아래로 접는다. */
.axis-overview-panel{padding:15px 15px 13px;border:1px solid var(--line2);border-radius:var(--r);
  background:var(--surf);margin-bottom:13px}
.axis-overview-panel>h3{margin:0 0 4px;font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.3;
  display:flex;align-items:center;gap:9px}
/* 성격 표지 — 판에 담아 «글자»가 아니라 표지로 읽히게 한다 */
.axis-overview-icon-badge{flex:0 0 auto;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;
  background:var(--surf2);border:1px solid var(--line2);font-size:16px;line-height:1}
.axis-overview-icon-badge svg{width:19px;height:19px;display:block}
.axis-overview-panel__subtitle{margin:0 0 11px;font-size:15px;color:var(--ink2)}
.axis-overview-panel__subtitle b{color:var(--ink);font-weight:800}
.axis-overview-panel .ranked-thumbnail-list-feature-row{grid-template-columns:repeat(2,1fr);max-width:340px;margin-bottom:11px}
.axis-card-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
@media (max-width:900px){.axis-card-grid{grid-template-columns:1fr}.axis-overview-panel .ranked-thumbnail-list-feature-row{max-width:none}}
/* 🚨 격자 칸 min-width:0 (뿌리 수리 조항 1 · 시안 1479행) */
.axis-overview-panel>*,.axis-card-grid>*{min-width:0}

/* 값 하나가 페이지 하나 — 알약 링크 */
.value-entry-pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.value-entry-pill{display:inline-flex;align-items:baseline;gap:7px;padding:5px 11px;border-radius:999px;
  border:1px solid var(--line2);background:var(--surf2);text-decoration:none;color:var(--ink2);
  font-size:14px;transition:border-color .14s,background .14s,color .14s}
.value-entry-pill:hover{border-color:var(--acc);background:var(--acc-s);color:var(--ink)}
.value-entry-pill__key{font-weight:700}
/* 🚨 데이터 값은 말줄임 금지 — 잘리면 정보가 0이 된다(확정 조항) */
.value-entry-pill__name{font-size:13px;color:var(--mut);font-weight:800;font-variant-numeric:tabular-nums;
  white-space:nowrap}
.value-entry-pill:hover .value-entry-pill__name{color:var(--acc-i)}


/* ══ ⑥ 썸네일 격자 — 사이트가 가진 그림을 «양»으로 먼저 말한다 ═══════════════════
   출처 = 시안 363~390행 · 쓰는 곳 = modules/thumb-grid.php
   ⚠️ 배지 글자는 13px 하한을 지키고, 대신 줄간격(1.45)과 여백(0 5px)을 줄여
      폭 112px 짜리 썸네일을 가리지 않게 한다 — 시안이 계산해 둔 값 그대로다. */
.card-image-tile-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}
@media (max-width:1100px){.card-image-tile-grid{grid-template-columns:repeat(8,1fr)}}
@media (max-width:820px){.card-image-tile-grid{grid-template-columns:repeat(6,1fr)}}
@media (max-width:520px){.card-image-tile-grid{grid-template-columns:repeat(4,1fr)}}
.card-image-tile-grid>*{min-width:0}
.card-image-tile{position:relative;display:block;border-radius:7px;overflow:hidden;border:1px solid var(--line2);
  background:var(--surf2);aspect-ratio:745/1040;
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .15s}
.card-image-tile img{width:100%;height:100%;object-fit:cover;display:block}
.card-image-tile:hover{transform:translateY(-9px) scale(1.09);border-color:var(--acc);z-index:5;
  box-shadow:0 18px 30px -10px rgba(0,0,0,.6)}
@media (prefers-reduced-motion:reduce){.card-image-tile{transition:none}.card-image-tile:hover{transform:none}}
.card-image-tile__rank{position:absolute;top:3px;left:3px;font-size:13px;line-height:1.45;font-weight:800;color:#fff;
  background:rgba(0,0,0,.62);border-radius:5px;padding:0 5px;z-index:2;pointer-events:none}
/* 🚨 숫자만 있는 배지 금지 — 무엇의 수치인지 라벨(.card-image-tile-badge-label)을 함께 적는다(뿌리 수리 조항 6).
   이름 띠가 아래를 덮으므로 수치 배지는 그 띠 «위»(bottom:25px)로 올린다. */
.card-image-tile__value{position:absolute;bottom:25px;right:3px;font-size:13px;line-height:1.45;font-weight:800;color:#fff;
  background:rgba(226,60,66,.9);border-radius:5px;padding:0 5px;z-index:2;pointer-events:none;
  font-variant-numeric:tabular-nums}
.card-image-tile__value .card-image-tile-badge-label{font-size:13px;font-weight:700;opacity:.92}
.card-image-tile__name{position:absolute;left:0;right:0;bottom:0;padding:2px 5px 3px;z-index:2;pointer-events:none;
  font-size:13px;line-height:1.35;font-weight:700;color:#fff;text-align:center;
  background:linear-gradient(transparent,rgba(0,0,0,.55) 38%,rgba(0,0,0,.88));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 그림 없는 칸 — 이름 띠가 이미 이름을 말하므로 안쪽 이름은 «조용히» 둔다 */
.card-image-tile .card-image-fallback{display:grid;place-content:center;height:100%;padding:6px 5px 20px;text-align:center}
.card-image-tile .card-image-fallback__name{font-size:13px;font-weight:800;line-height:1.25;color:var(--mut)}

/* ══ ⑦ 관련 링크 카드 — 표준 모듈로 되돌림 (2026-08-07 3파 · 사용자 확정) ══════════
   시안의 `.sibling-axis-link-grid/.sibling-axis-link-card` 판을 조각으로 내렸다가 «되물렸다». 사용자 확정 = 머리말·목차·출처·FAQ·면책·
   공유·빵부스러기·관련 링크는 표준 모듈(core/template/modules/*.php)이 맡는다. 특화 조각으로
   만들 것은 그 아이템 «고유의 시각 장치»(막대·분포·목록 행·썸네일 격자)뿐이다.
   ▶ 그래서 관련 구역은 표준 link-grid 가 그리고, 이 시트에는 그 규칙을 두지 않는다.
      (조각 modules/link-cards.php 도 같은 회차에 지웠다 — 두 벌로 남겨 두면 다음 사람이 헷갈린다.) */



/* ══ ⑧ 페이지 종류 머리 — 배지 + 무엇을 답하나 + 들어가는 곳 ════════════════════
   출처 = 시안 1316~1327행 · 쓰는 곳 = modules/sig-head.php */
.page-type-signature-header{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:12px;
  padding:11px 13px;border-radius:var(--r-s);background:var(--surf2);border:1px dashed var(--line2)}
.page-type-chip{flex:0 0 auto;font-size:13px;font-weight:800;padding:3px 11px;border-radius:999px;
  background:var(--acc);color:#fff;letter-spacing:-.01em}
.page-type-signature-header__width{flex:1 1 240px;min-width:0;font-size:15px;color:var(--ink2)}
.page-type-signature-header__width b{color:var(--ink);font-weight:800}
.page-type-signature-header__content{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font-size:14px;
  font-weight:800;color:var(--acc-i);text-decoration:none}
.page-type-signature-header__content i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;
  background:var(--acc-s);font-style:normal;font-size:13px;font-weight:800;line-height:1;
  transition:transform .13s,background .13s,color .13s}
.page-type-signature-header__content:hover i{background:var(--acc);color:#fff;transform:translateX(2px)}


/* ══ ⑨ 겹침 벤 도해 — 교집합이 얼마나 좁은지를 «면적»이 먼저 말한다 ══════════════
   출처 = 시안 264~276행 · 쓰는 곳 = modules/venn-overlap.php
   🔑 사용자가 지목한 기준선 장치(SOP §4-c-①). 원의 «넓이»가 장수에 비례한다 — 반지름 계산은
      조각 쪽 주석에 적었다. */
.overlap-venn-diagram-intersection{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:center;
  margin:12px 0 0;padding:15px;border:1px solid var(--line);border-radius:var(--r);background:var(--surf2)}
@media (max-width:900px){.overlap-venn-diagram-intersection{grid-template-columns:1fr}}
.overlap-venn-diagram-intersection>*{min-width:0}
.overlap-venn-diagram-circles{display:block;width:100%;height:auto}
.overlap-venn-diagram-circles text{font-weight:800;font-variant-numeric:tabular-nums}
.overlap-venn-diagram-intersection p{margin:0 0 9px;font-size:15px;line-height:1.7;color:var(--ink2)}
.overlap-venn-diagram-intersection p:last-child{margin-bottom:0}
.overlap-venn-diagram-intersection p b{color:var(--ink);font-weight:800}
.overlap-venn-diagram-legend{display:flex;flex-direction:column;gap:7px;margin:9px 0 0}
.overlap-venn-diagram-legend span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink2)}
.overlap-venn-diagram-legend i{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
/* 🚨 데이터 값은 말줄임 금지 — 범례의 수치가 잘리면 도해를 검산할 수가 없다 */
.overlap-venn-diagram-legend em{margin-left:auto;font-style:normal;font-weight:800;color:var(--ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;overflow:visible;text-overflow:clip}


/* ══ ⑩ 경고 띠 — 「이 사실만은 놓치면 안 된다」 ════════════════════════════════
   출처 = 시안 595~596행. 구역의 결론 한 문장을 담는 자리라 본문과 같은 크기를 유지한다. */
.caution-note-callout{margin:0 0 12px;padding:12px 14px;border-left:3px solid var(--warn);background:var(--warn-s);
  border-radius:0 var(--r-s) var(--r-s) 0;font-size:14.6px;color:var(--ink)}
.caution-note-callout b{font-weight:800}

/* ══ 병합 구획: tcggrail-axis.css (적재 순서 보존) ══ */
/* ═══════════════════════════════════════════════════════════════════════════════
   tcggrail-axis.css — 축 루트 페이지 전용 시트 (2026-08-07 이관 2파 · 팀A)
   ───────────────────────────────────────────────────────────────────────────────
   ■ 어느 화면인가
     /{언어}/pokemon/{축}/ — 「이 자로 카드를 가르면 무리가 몇이고, 각 무리는 얼마나
     크고 얼마짜리인가」에 답하는 자리다. 렌더는 items/pokemon/axis-template.php 가
     짜고, 본체인 셀 결합 격자는 items/pokemon/modules/axis-cells.php 가 낸다.

   ■ 이 시트가 «지지 않는» 것 — 세 시트가 이미 그리고 있다
       assets/css/modules.css          표준 모듈(.module-*) — 쪽 넘김·표·차트·FAQ
       assets/css/tcggrail-entity.css  결합 칸의 «모양» (.ranked-thumbnail-list-bar-row__content/__p/__b/__n/__me/__m/
                                       __bar/__no · --combo 수식자 · .axstats)
       assets/css/tcggrail-fx.css      «움직임»과 공용 장치 (막대 채움 .distribution-bar-fill · 계기 바늘
                                       .position-spread-gauge-needle/.position-spread-gauge-arc · 말풍선 자리 .price-trend-line-tooltip-hitarea · 목록 썸네일 .ranked-thumbnail-list-card-row__picture)
     그래서 여기 남는 것은 «축 루트에만 있고 위 셋 어디에도 없는» 것뿐이다. 실측 census
     결과 그것은 둘이었다 — 셀 격자 막대가 채워지는 «차례»와, 그 막대에 견줄 자를 세우는
     «기준선 눈금». 아래 ①·② 가 그 둘이다.

   ■ 🔒 «.module-*» 선택자를 쓰지 않는다
     표준 모듈의 모양을 시안 시트에서 덮으면 두 시트가 싸우고, 화면만 봐서는 어느 쪽이
     이겼는지 알 수 없게 된다. 셀 격자의 바깥 칸은 표준 이름(.module-card-grid-page__thumb)과
     자기 이름(.axis-directory-card)을 함께 달고 있으므로, 이 시트는 «자기 이름 쪽»만 잡는다.

   ■ 🔒 tcggrail-fx.css 와 «같은 선택자»를 두 번 적지 않는다
     그 시트가 막대를 «멈춤»으로 태우고 관찰자(assets/js/tcggrail-fx.js)가 화면에 들어온
     것만 재생시킨다. 이 시트가 같은 선택자를 다시 적으면 어느 쪽이 재생을 정하는지
     추적할 수 없게 된다. 그래서 이 시트는 채움 규칙을 «만들지 않고», 마크업 쪽에서
     확정 부품 이름(.distribution-bar-fill)을 달아 그 체계에 들어가게 한다(axis-cells.php 참조).
     여기서 얹는 것은 그 체계가 정하지 않은 «지연 시간» 한 가지뿐이다.

   ■ 📌 이름 판정 기록 — «.data-story-tile__bars» 는 한 이름이 두 뜻을 지고 있다 (2026-08-07 지휘 판정)
       axis-fire 판   = 세로 기둥 묶음(직계 자식이 <i> · 값 격차를 높낮이로 말한다)
       entity-full 판 = 가로 막대를 세로로 쌓은 묶음(직계 자식이 .proportion-bar-track · 그 안이 <i>)
     라이브 마크업(items/pokemon/modules/lens-story.php)은 후자다. 그러므로 세로 기둥을
     조각으로 내릴 때는 이름을 «갈라» `.st__cols` 를 쓴다 — 한 이름이 두 모양을 지면
     한쪽을 고칠 때 반대쪽이 함께 바뀌고, 그것을 화면에서 알아챌 방법이 없다.
     🔒 이 시트는 `.st__cols` 를 «정의하지 않는다». 축 루트 페이지에 세로 기둥이 서는
        자리가 없기 때문이다 — 시안의 세로 기둥은 렌즈 허브(.lens-entry-panel .data-story-tile)에 있고 그것은
        «셀 페이지»(cell-template.php)의 장치다. 쓰지도 않을 규칙을 미리 적어 두면
        다음 사람이 「이미 있다」고 읽고 다른 모양을 얹는다. 이름만 예약하고 정의는
        그 장치가 실제로 내려오는 회차에 그 시트가 진다.

   ■ 로드 순서 = modules.css → tcggrail-entity.css → tcggrail-fx.css → 이 시트
     (loader.php 가 의존으로 못박음 — 지연 시간이 fx.css 의 기본 지연을 이겨야 한다)

   @package 4세대 Framework — tcggrail
   @version 1.0.0 (2026-08-07 · 시안→조각 이관 2파 팀A)
   ═══════════════════════════════════════════════════════════════════════════════ */


/* ══ ① 셀 격자 막대가 채워지는 «차례» ══════════════════════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2481~2487행 「같은 묶음 안에서는 40밀리초씩
          순차 지연 — 위에서 아래로 읽히는 «순서»가 생기고, 순위 막대에서는 그 순서가
          곧 순위라 움직임이 정보가 된다」(2026-07-18 사용자 확정 판의 리듬을 그대로 쓴다)

   ■ 왜 이 시트가 지나 — tcggrail-fx.css §① 의 지연 규칙은 부모가 목록 줄일 때를 겨눈다
     (:is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(N)). 셀 격자의 칸은 그중 어느
     이름도 아니라 그 규칙에 걸리지 않고, 전 칸이 «한꺼번에» 차 버린다. 이 격자는
     카드 수 내림차순으로 서 있으므로(axis-template.php #cells), 위에서 아래로 차는
     것 자체가 「큰 무리부터」라는 뜻을 나른다. 그 뜻을 잃지 않게 차례를 준다.
   🔒 채움 규칙(1.5초·시작 멈춤·움직임 축소 존중·자바스크립트 없을 때 구제)은 전부
      fx.css 가 정한다 — 여기서 다시 적지 않는다. 얹는 것은 지연 한 줄뿐이다.
   🔒 반드시 «움직임 선호» 안에 둔다. 밖에 두면 움직임을 줄여 달라는 설정에서
      규칙 자체가 없는데 지연만 남아, 다음 사람이 읽을 때 짝이 맞지 않는다.
   🔒 12번째부터는 한 값으로 묶는다 — 한 쪽에 12칸이 서고(per=12) 그 뒤 칸은 쪽을
      넘겨야 보이므로, 그때는 «그 쪽의 첫 칸부터» 다시 세는 것이 아니라 한 박자로 든다.
      수백 칸짜리 축에서 지연이 분 단위로 벌어지는 것을 막는 자리이기도 하다. */
@media (prefers-reduced-motion:no-preference){
  .axis-directory-card:nth-child(1)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.20s}
  .axis-directory-card:nth-child(2)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.24s}
  .axis-directory-card:nth-child(3)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.28s}
  .axis-directory-card:nth-child(4)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.32s}
  .axis-directory-card:nth-child(5)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.36s}
  .axis-directory-card:nth-child(6)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.40s}
  .axis-directory-card:nth-child(7)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.44s}
  .axis-directory-card:nth-child(8)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.48s}
  .axis-directory-card:nth-child(9)  .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.52s}
  .axis-directory-card:nth-child(10) .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.56s}
  .axis-directory-card:nth-child(11) .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.60s}
  .axis-directory-card:nth-child(n+12) .ranked-thumbnail-list-bar-row__bar>.distribution-bar-fill{animation-delay:.64s}
}


/* ══ ② 기준선 눈금 — 막대에 «견줄 자»를 세운다 ═══════════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2211행 `.ranked-thumbnail-list-rank-panel-bar__marker` 「기준선 바늘 — «견주는 대상»이
          어디인지 눈금으로 세운다」 + 같은 시안 2200~2206행 순위 패널의 확정 규율
          「막대마다 «무엇에 견준 길이인지»가 라벨에 있어야 서로 다른 것을 재는 막대가
           한 자리에 설 수 있다. 이 한 가지가 이 패널의 전부다」

   ■ 무엇을 고치나 — 셀 격자의 막대는 「가장 큰 무리 대비 이 무리의 크기」다. 그런데
     화면에는 그 사실을 읽을 자가 25% 눈금(tcggrail-entity.css .ranked-thumbnail-list-bar-row__bar::after)뿐이라,
     한 칸만 떼어 보면 「이 막대가 긴 건가 짧은 건가」에 답할 수 없다. 큰 무리 몇이
     맨 앞에 서고 나머지가 전부 짧은 축(rarity·dex)에서는 뒤쪽 스무 칸이 다 같아 보인다.
     기준선 하나를 세우면 그 물음이 «눈금 왼쪽인가 오른쪽인가»로 바뀐다.
   🚨 값을 새로 만들지 않았다 — 눈금이 서는 자리는 «중간 크기 무리»이고, 그 수는 이미
     같은 페이지의 한눈에 정리에 글로 서 있다(axis-template.php 「with the middle group
     holding N」). 자리는 그 수를 막대와 «같은 자»(core_pk_bar)로 잰 것이라 파생 도형이다.
     눈금이 무엇인지는 격자 아래 한 줄이 말로 적는다 — 라벨 없는 눈금은 「이 선이 뭐냐」가 된다.
   🔒 시안 판(.ranked-thumbnail-list-rank-panel-bar__marker)은 위로 3px 삐져나오고 높이가 16px 다. 그대로 옮기면 이 막대에서는
      보이지 않는다 — 트랙(.ranked-thumbnail-list-bar-row__bar)이 overflow:hidden 이라 넘친 부분이 잘리기 때문이다.
      그래서 «트랙 안에 꽉 차는» 높이로 바꾼다. 삐져나오게 하려고 트랙의 잘림을 푸는 쪽은
      쓰지 않았다: 채움(.distribution-bar-fill)이 그 잘림에 기대 둥근 끝을 얻고 있어서, 풀면 채움 모양이 바뀐다.
   🔒 바탕색 테를 두른다 — 눈금은 채운 쪽(강조색)과 빈 쪽(연회색) 위를 함께 지나므로
      한 색만으로는 한쪽에서 묻힌다. 테가 두 바탕 모두에서 선을 떼어 놓는다.
   🔒 화면 낭독기에는 읽히지 않는다 — 막대 자체가 aria-hidden 이고(axis-cells.php),
      눈금이 말하는 사실은 격자 아래 문장이 글로 이미 진다. 같은 말을 두 번 읽히지 않는다. */
.ranked-thumbnail-list-bar-row__bar>.axmk{
  position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;
  border-radius:1px;background:var(--ink);
  box-shadow:0 0 0 1px var(--surf);
  pointer-events:none;
}

/* ══ 병합 구획: tcggrail-cell.css (적재 순서 보존) ══ */
/* ═══════════════════════════════════════════════════════════════════════════════
   tcggrail-cell.css — «조합 셀» 페이지에만 발화하는 시안 규칙 (2026-08-07 이관 2파 · 팀B)
   ───────────────────────────────────────────────────────────────────────────────
   ■ 이 시트가 무엇인가
     한 축을 그 값으로 가른 «무리» 하나를 여는 페이지(/en/pokemon/{축}/{셀}/ · 라이브 580장)가
     쓰는 규칙 가운데, 카드 엔티티·축 루트·허브와 «판단이 갈리는» 것만 담는다.
     세 종류가 같은 조각(items/pokemon/modules/axis-app.php 등)을 부르지만 그 조각이 «재는 것»이
     서로 다르기 때문에, 같은 그림에 서로 다른 색·크기가 맞는 자리가 생긴다. 그 차이만 여기 둔다.

   ■ 🔒 여기에 «없는» 것 — 2026-08-07 census 결과(중복 정의 0)
     아래는 전부 이미 다른 시트가 진다. 한 벌씩만 존재해야 하므로 이 시트는 손대지 않는다.
       tcggrail-fx.css §① 막대 채움(.bar-row-track>i · .attribute-distribution-track>i · .proportion-bar-track>i · .distribution-bar-fill · .ranked-thumbnail-list-rank-panel-bar__footnote · .group-value-compare-cell-bar>span
                            · .data-story-tile__gauge>i · .data-story-tile__bars>i · .data-story-tile__rank>i · .rv-anim-go · 40밀리초 순차 지연)
       tcggrail-fx.css §② 계기 «움직임»(.position-spread-gauge-needle · .position-spread-gauge-arc · .position-spread-gauge-hand 색 · @keyframes tg-needle/tg-garc)
       tcggrail-fx.css §③ 자바스크립트 꺼짐 구제(@media scripting:none) · @keyframes tg-bar-fill/tg-col-grow
       tcggrail-fx.css §④ .distribution-bar-fill · .ranked-thumbnail-list-rank-panel-bar__footnote · .data-story-tile__gauge · .group-value-compare-cell-bar 의 «모양»
       tcggrail-fx.css §⑤ 말풍선 자리(.price-trend-line-tooltip-hitarea · .price-trend-line-band__hitarea) · §⑥ 점(.price-trend-line-hover-layer__points · .price-trend-line-chart__dot) · §⑦ .ranked-thumbnail-list-card-row__picture
       tcggrail-entity.css   .position-spread-gauge-dial 상자·.position-spread-gauge-inline-tick-text·.position-spread-gauge-value·.position-spread-gauge-question·.position-spread-gauge-explanation 의 모양 · .badge-bar-row/.bar-row-track/.bar-row-bar-column 순위 줄 · .price-trend-line-tooltip 바탕
       assets/js/tcggrail-fx.js  화면 진입 시 재생시키는 관찰자 한 벌
     ⚠️ 계기의 «움직임»은 fx.css 가, «상자와 글자»는 entity.css 가 진다. 이 시트가 정하는 것은
        그 둘이 아니라 «이 페이지에서 계기가 무엇을 재는가»에서 나오는 두 가지뿐이다(아래 ①·②).

   ■ 🔒 «.module-*» 선택자를 쓰지 않는다
     표준 모듈(assets/css/modules.css)의 모양을 이 시트에서 덮으면 두 시트가 싸우고, 화면만
     봐서는 어느 쪽이 이겼는지 알 수 없게 된다. 시안 장치는 자기 클래스만 쓴다.

   ■ 범위를 «셀 페이지»로 묶는 방법 = .app-layer-panel--cell
     앱층 래퍼는 카드·축·셀이 모두 class="app-layer-panel" 이다(실측 2026-08-07: 축 루트
     /en/pokemon/rarity/ 도 같은 래퍼). 그래서 셀 페이지만 고르려면 표시가 하나 더 있어야 한다.
     items/pokemon/cell-template.php 가 그 자리에 app--cell 을 함께 실어 이 시트의 문을 연다
     (클래스 한 낱말 · data 계약 불변 · 다른 템플릿 산출은 한 글자도 달라지지 않는다).

   ■ 로드 순서 = modules.css → tcggrail-entity.css → tcggrail-fx.css → 이 시트
     (loader.php 가 의존으로 못박음 — 뒤에 와야 «갈리는 판단»이 이긴다)

   @package 4세대 Framework — tcggrail
   @version 1.0.0 (2026-08-07 · 시안→조각 이관 2파 · 팀B 조합 셀)
   ═══════════════════════════════════════════════════════════════════════════════ */


/* ══ ① 계기 눈금 색 — p26(2026-08-11) 사용자 재확정: 셀 페이지 단색 예외를 폐지했다.
   전 페이지가 :root 신호등 색(--g1/--g2/--g3 · :70~72행)을 그대로 쓴다. 재논쟁 금지.
   이전 원문(폐지된 셀 전용 단색 오버라이드) = _백업/live-정본-회차/20260811-p26/assets/css/item-modules.css. */


/* ══ ② 계기 그림 폭 — 눈금 글자가 «선언한 13px 로» 그려지게 한다 ═══════════════
   출처 = _시안/tcggrail-spoke-rarity-secret.html 2127행 `.position-spread-gauge-dial svg{…max-width:132px…}`
          (무리 페이지 시안 4장 전원 132px · 카드 시세 시안 tcggrail-entity-full.html 545행만 104px.
           라이브는 카드 시세 판을 물려받아 104px 로 서 있었다 — 이 페이지의 시안 값이 아니다)

   🚨 무엇이 어긋나 있었나 (2026-08-07 헤드리스 실측 · 라이브 마크업 그대로 · 390px·1280px 동일)
      SVG 안 글자는 «뷰박스 배율»을 함께 탄다. 뷰박스가 132 단위인데 그림을 104px 로 눌러
      두었으므로 배율이 104÷132 = 0.788 이고, 선언값 13px 이 화면에서는 10.24px 로 그려진다.
      즉 2026-08-02 에 「글자가 작다」로 확정된 13px 하한이 이 자리에서만 «선언만 되고
      실현되지 않은» 상태였다(tcggrail-entity.css 5808행이 .position-spread-gauge-inline-tick-text 를 12→13px 로 올렸지만,
      그 값이 배율을 타고 되돌아간다는 것은 그때 재지 않았다).
   🔒 132px = 배율 1.000 이 되는 폭이다. 그래야 13px 이 13px 로 그려진다. 시안 값과 같은 수인
      것은 우연이 아니다 — 시안이 뷰박스 폭 그대로를 쓴 판이다.

   ⚠️ 이 규칙이 «고치지 못하는» 것 — 눈금 세 낱말의 겹침 (지휘자 보고 항목)
      실측: Cheapest 56.1 + Middle 43.9 + Dearest 46.8 = 글자 총 146.8 «단위»인데 뷰박스는
      132 «단위»다. 글자와 상자가 같은 배율을 타므로 그림을 키우든 줄이든 이 비율은 바뀌지 않는다
      — 어떤 max-width 에서도 14.8 단위가 모자라 겹친다(실측으로 확인: 104px 에서 15.2·8.4px,
      148px 에서 22.0·12.3px 로 «폭에 비례해» 커졌다).
      원인은 폭이 아니라 낱말 길이다. 시안의 눈금은 두 글자 한국어였고(상위·중간·하위 ≈ 26 단위),
      영문 발행판이 그 자리에 8·6·7 글자를 넣으면서 총 폭이 뷰박스를 넘었다.
      고칠 수 있는 길은 둘뿐이고 둘 다 이 회차의 범위 밖이라 손대지 않았다:
        ① 눈금 글자를 SVG 밖으로 꺼내 HTML 한 줄로 세운다(줄바꿈이 되므로 폭이 문제되지 않는다)
           → items/pokemon/modules/axis-app.php 마크업 · 축 루트와 공유하는 조각이다
        ② 눈금 낱말을 짧게 바꾼다 → cell-template.php 의 data 값이라 이 회차의 계약(클래스·변수만)
           밖이다
      🚫 letter-spacing 을 -0.1em 까지 조여 억지로 맞추지 않았다 — 13px 하한이 노린 «읽히는 글자»를
         다른 방식으로 다시 해치는 것이라, 하나를 고치고 하나를 만드는 맞바꿈이 된다. */
.app-layer-panel--cell .position-spread-gauge-dial svg {
  max-width: 132px;
}


/* ══ ③ 계기의 세 띠가 «바늘과 함께 자란다» ═══════════════════════════════════
   출처 = _시안/tcggrail-spoke-rarity-secret.html 2397~2410행 · 3092~3094행
          (셀 계열 시안 전원이 같은 판을 갖고 있다 — axis-fire·pillar-retreat0·
           spoke-regulation-g·spoke-status-paralyzed 실측 일치)

   🚨 무엇이 빠져 있었나 (2026-08-07 렌더 실측 · 라이브 셀 전 장)
      tcggrail-fx.css §② 가 .position-spread-gauge-arc 의 «움직임»(@keyframes tg-garc · 1.5초 · 0.2초 뒤 시작 ·
      .rv-anim-go 에서 재생)을 이미 갖고 있고, assets/js/tcggrail-fx.js :46 의 관찰자 선택자
      목록에도 .position-spread-gauge-arc 가 이미 들어 있다. 그런데 그 이름을 다는 마크업이 없어서
      (items/pokemon/modules/axis-app.php) 셋 다 «맞는 요소를 못 찾은» 채였다 —
      시트와 스크립트만 서고 그림은 처음부터 다 그려진 정지 화면이었다.
      이번 회차가 그 조각에 class="position-spread-gauge-arc" pathLength="100" 을 달았고, 아래 두 줄이 그 이름에
      «어디서부터 그릴지»를 준다.

   🔒 왜 이 시트인가 (fx.css 가 아니라)
      fx.css 는 카드 시세·축 루트·허브가 «함께» 읽는 공용 시트다. 거기에 이 두 줄을 넣으면
      그 세 화면의 계기까지 한꺼번에 «그려지며 나타나는» 그림으로 바뀐다 — 그 화면들은 이번
      회차의 검수 범위가 아니고, 카드 시세의 계기는 재는 것이 달라(오르내림) 같은 판단이
      맞는지 따로 확인해야 한다. 그래서 범위를 .app-layer-panel--cell 로 묶어 셀 페이지에서만 켠다.
      ▶ 다른 화면은 이름표만 달린 채 이 규칙을 못 만나므로 지금과 «한 픽셀도» 다르지 않다.

   🔒 stroke-dasharray 와 --arc 가 같은 수(100)인 까닭
      pathLength="100" 이 세 띠의 길이를 100 으로 통일해 두었다. 그래서 대시 한 칸을 100 으로
      잡으면 띠 하나가 통째로 «한 칸»이 되고, 그 칸을 100 만큼 밀어 두면(--arc) 아무것도
      안 보이는 자리에서 출발해 0 까지 되돌아오며 그려진다. 세 띠의 실제 길이가 서로 달라도
      같은 속도로 함께 자라는 것이 이 통일 덕분이다.
   🔒 움직임을 끈 환경에서도 «보인다» — 위 애니메이션은 fx.css 가
      @media (prefers-reduced-motion:no-preference) 안에 두었으므로, 끈 환경에서는 규칙이
      발화하지 않아 dashoffset 이 기본값 0 으로 남는다 = 띠가 처음부터 온전히 그려진다.
      즉 이 두 줄은 «띠를 숨길» 수 없다. */
.app-layer-panel--cell .position-spread-gauge-arc {
  stroke-dasharray: 100;
  --arc: 100;
}


/* ══ ④ 값의 «자리»를 재는 반원 계기 묶음 (.position-spread-gauge-group) ═══════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 2246~2256행(규칙) · 3902행(마크업)
   조각 = items/pokemon/modules/spread-gauge.php · 쓰이는 자리 = #spread 구역 머리

   ■ 왜 이 시트에 새로 적나 — 2026-08-07 census: `.position-spread-gauge-group` 은 일곱 시트(modules · components ·
     entity · axis · cell · fx · hub) 어디에도 한 번도 나오지 않는다. 즉 «두 벌이 되는» 위험이
     없는 신규 부품이고, 쓰는 화면도 셀 페이지 하나뿐이라 여기가 제자리다.
   ■ 🔒 이중 테두리 금지 — 계기는 «맨몸»으로 서면 바탕 한 단 + 테두리 한 겹을 받지만
     (tcggrail-entity.css 1700행이 그 판이다), 이미 상자 안에 들어가면 그 겹을 벗어야 한다.
     아래 둘째 줄이 그 벗김이고, 시안 2248행이 같은 일을 한다. 벗기지 않으면 상자 안에 상자가
     되어 테두리가 두 겹으로 그려진다(2026-08-01 뿌리 수리 조항).
   ■ 🔒 최소 폭 178px — 이 아래로 좁아지면 세 계기가 한 줄에 남으려다 그림이 뭉개진다.
     auto-fit 이라 폭이 모자라면 스스로 두 줄·한 줄로 접히므로, 좁은 화면에서 가로로 넘칠 수 없다
     (390px 실측: 한 칸씩 세로로 선다).
   ■ 🔒 글자 크기 — .position-spread-gauge-value 22px · .position-spread-gauge-question 13px 은 시안 값 그대로다. 13px 은 라벨 층의 «하한»이고
     이 시트가 그보다 작은 글자를 새로 만들지 않는다.
   ■ 🔒 word-break:keep-all — 라벨이 한 문장이라 낱말 가운데서 끊기면 읽는 속도가 떨어진다.
     낱말 경계에서만 접히게 두고, 넘칠 때는 줄이 늘어나게 한다(가로 넘침 0). */
.position-spread-gauge-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surf2);
  margin: 0 0 14px;
}
.position-spread-gauge-group > * { min-width: 0 }
.position-spread-gauge-group > .position-spread-gauge-dial { border: 0; background: transparent; padding: 0 }
.position-spread-gauge-group > .position-spread-gauge-dial svg { width: 100%; max-width: 168px; height: auto; margin: 2px 0 -6px }
.position-spread-gauge-group > .position-spread-gauge-dial .position-spread-gauge-value {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.position-spread-gauge-group > .position-spread-gauge-dial .position-spread-gauge-question {
  align-self: stretch;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--mut);
  line-height: 1.45;
  word-break: keep-all;
}

/* ══ ⑤ 그림 없는 카드 «축소 모형» 정본 골격 (.card-image-fallback) ═══════════════════════════
   출처 = _시안/tcggrail-axis-fire.html 1002~1048행·1073행(규칙) · 4010행(마크업)
   조각 = items/pokemon/modules/noimg-card.php
   쓰는 자리 = 셀 시안 7장 전부(set-B1 282회 · dex-charizard 139회 · axis-fire 1,821회)

   ■ 왜 이 시트에 새로 적나 — 2026-08-07 census: 일곱 시트에 있는 `.card-image-fallback` 는 전부
     «누가 감싸느냐»로 한정된 조각(.ranked-thumbnail-list-feature-cell__picture.card-image-fallback · .card-image-tile .card-image-fallback · .badge-bar-row__picture--none .card-image-fallback ·
     .ranked-thumbnail-list-bar-row__picture .card-image-fallback · .ranked-thumbnail-list-card-row__picture--none .card-image-fallback)뿐이고, 그 조각들이 물려받을 «골격»이 한 벌도
     없었다. 골격이 없으면 안쪽 조각(__hd·__art·__ft)이 기본 흐름으로 흘러 카드로 안 읽힌다.
     ▶ 그래서 여기 두는 것은 «덮개»가 아니라 «없던 바닥»이다.
   ■ 🔒 기존 다섯 자리를 건드리지 않는다 — 위 다섯은 전부 자손 선택자(특이도 0,2,0)라
     이 골격(0,1,0)보다 세다. 시트 순서가 뒤여도 그 자리에서는 기존 규칙이 그대로 이긴다.
     즉 이 골격은 «아무도 임자가 없던 칸»에서만 발화한다(신규 조각 셋이 그 칸이다).
   ■ 🔒 크기를 스스로 정하지 않는다 — 놓이는 칸의 폭을 쓰고 높이는 카드 비율로 따라온다.
     그래서 container-type 을 스스로 세운다(아래 폭 질의가 죽은 줄이 되지 않게).
   ■ 🔒 글자는 13px 하한을 지킨다 — 안 들어가는 슬롯은 «글자를 줄이지 않고» 접는다.
     경계값 80px·64px 은 시안이 이미 쓰던 수치다(새 수치를 발명하지 않는다).
   ■ 🔒 테두리는 한 겹 · 새 색 0 — 바탕 --surf2 · 띠 --line2 · 본판 --surf 밖으로 안 나간다.
   ■ 🚨 호스트가 이미 띠를 그리는 칸에서는 부품의 띠를 접는다(마지막 줄)
     썸네일 칸(.card-image-tile)은 순위 배지·값 배지·이름 띠를 절대 위치로 얹는다. 그림이 없어 이 부품이
     들어앉으면 부품의 위·아래 띠가 «같은 좌표»에 서서 글자가 서로 인쇄된다. DOM 에도 있고
     글자도 온전해서 문자열 검사로는 영영 안 잡히는 결함이다(2026-08-01 뿌리 수리).
     이름은 호스트의 이름 띠가 이미 말하고 있으므로 화면에서 잃는 것이 없다.
   ■ 🚨 링크 안에 놓이면 커서는 «갈 수 있다»가 이긴다 — 부품의 cursor:default 가 링크의
     pointer 를 덮은 실사고가 있었다(sets 격자 53칸). 부여 기준은 «행선지가 있는가»다. */
.card-image-fallback{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:4px;
  aspect-ratio:745/1040;padding:7px 7px 8px;border-radius:6px;
  background:var(--surf2);border:1px solid var(--line2);cursor:default;
  overflow:hidden;text-align:left;
  container-type:inline-size}
.card-image-fallback__header,.card-image-fallback__footer{display:flex;align-items:baseline;justify-content:space-between;gap:5px;
  min-width:0;padding:2px 5px;border-radius:4px;background:var(--line2)}
.card-image-fallback__name{font-size:13px;font-weight:800;color:var(--ink2);line-height:1.3;min-width:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-image-fallback__hp,.card-image-fallback__content{flex:0 0 auto;font-style:normal;font-size:13px;font-weight:700;
  color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.card-image-fallback__set{min-width:0;font-size:13px;font-weight:700;color:var(--mut);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-image-fallback__artwork{grid-row:2;display:grid;place-items:center;min-height:0;border-radius:4px;
  background:var(--surf);overflow:hidden}
.card-image-fallback__meta{margin:0;text-align:center;font-size:13px;font-style:normal;
  font-weight:700;color:var(--mut);line-height:1.35;word-break:keep-all;padding:0 4px}
/* 값이 없는 슬롯은 «자리만» 남는다 — 지어내지 않고, 빈 칸이 카드 좌표를 지킨다 */
.card-image-fallback__hp:empty,.card-image-fallback__content:empty,.card-image-fallback__set:empty{min-height:0}
.card-image-fallback--small{padding:5px 6px;gap:3px}
@container (max-width:80px){.card-image-fallback__set,.card-image-fallback__hp,.card-image-fallback__content{display:none}}
@container (max-width:64px){.card-image-fallback__header,.card-image-fallback__footer{display:none}}
/* 행 머리 자리(28px) — 네 슬롯이 물리적으로 안 들어간다. 표지 하나로 대신하고
   이름은 aria-label 이 든다(눈에서만 줄이고 낭독기에서는 안 줄인다). */
.card-image-fallback--row{grid-template-rows:1fr;padding:0;gap:0}
.card-image-fallback--row .card-image-fallback__header,.card-image-fallback--row .card-image-fallback__footer{display:none}
.card-image-fallback--row .card-image-fallback__artwork{grid-row:1;background:transparent;border-radius:0}
.card-image-fallback--row .card-image-fallback__meta{font-size:13px;font-weight:800;line-height:1;color:var(--line2)}
/* 상태 표시가 콘텐츠보다 튀면 역할이 뒤바뀐다 — 효과를 물려받지 않는다 */
.card-image-fallback:hover{transform:none;box-shadow:none;border-color:var(--line2)}
a.card-image-fallback,a .card-image-fallback,a .card-image-fallback *{cursor:pointer}
.card-image-tile .card-image-fallback__header,.card-image-tile .card-image-fallback__footer{display:none}

/* ══ ⑥ 카드 격자 — 상자에서 «뽑혀 나오는» 칸 (.holo-thumb-popup-grid · .holo-thumb-popup-grid-cell) ═══════════════════
   출처 = _시안/tcggrail-axis-fire.html 259~303행(규칙) · 2754~2758행(마크업)
   조각 = items/pokemon/modules/card-cells.php
   쓰는 자리 = 셀 시안의 «한 장씩 고르는» 격자(axis-fire 48칸 · set-B1 18칸 · 격자 3벌)

   ■ 왜 이 시트에 새로 적나 — 2026-08-07 census: 일곱 시트에 `.holo-thumb-popup-grid-cell__image`·`.holo-thumb-popup-grid-cell__picture`·`.holo-thumb-popup-grid-cell__name`·
     `.holo-thumb-popup-grid-cell__meta`·`.holo-thumb-popup-grid-cell__value`·`.holo-thumb-popup-grid` 의 «모양 규칙»이 한 줄도 없다. 이름이 나오는 곳은
     entity.css 4638행·modules.css 13695행의 «끌기 잠금» 목록 두 곳뿐이고 그것은 모양이
     아니다. 즉 두 벌이 될 위험이 없는 신규 부품이다.
   ■ 왜 «뽑히는» 움직임인가 (시안 265~268행 주석 그대로)
     따로 뜬 창이 덮는 방식은 옆 카드를 가려 훑어보는 흐름이 끊긴다. 상자(.holo-thumb-popup-grid-cell__image)는 제자리에
     남고 그림(.holo-thumb-popup-grid-cell__picture)만 위로 빠져나오며 살짝 기운다. 빠져나간 자리에 «홈»(::before)이 남아야
     뽑혔다로 읽히고, 광택(::after)이 한 번 스치며, 누르면 다시 꽂히듯 내려간다.
   ■ 🚨 격자 칸에는 언제나 min-width:0 을 준다 — 이름에 nowrap 이 걸려 있어 «가장 긴 이름»이
     칸의 하한이 되면 좁은 화면에서 열이 줄어들지 않는다(2026-07-30 실증: 여섯 칸이 960px
     아래로 못 내려갔다). 이름은 칸 안에서 말줄임이 받는다.
   ■ 🔒 움직임을 끄는 환경을 존중한다 — prefers-reduced-motion 에서는 전이를 끄고 광택을 없앤다.
   ■ 🔒 새 색 0 — --line2 · --surf · --surf2 · --acc · --acc-s · --dn · --mut 안에서만 고른다. */
.holo-thumb-popup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.holo-thumb-popup-grid>*{min-width:0}
@media (max-width:1100px){.holo-thumb-popup-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:680px){.holo-thumb-popup-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:430px){.holo-thumb-popup-grid{grid-template-columns:repeat(2,1fr)}}
.holo-thumb-popup-grid-cell{display:block;text-decoration:none;color:inherit;padding:8px;border:1px solid var(--line2);
  border-radius:var(--r-s);background:var(--surf);position:relative;perspective:760px;
  transition:border-color .18s,background .18s,box-shadow .24s}
.holo-thumb-popup-grid-cell:hover,.holo-thumb-popup-grid-cell:focus-visible{border-color:var(--acc);background:var(--acc-s);z-index:6;
  box-shadow:0 0 0 1px var(--acc)}
.holo-thumb-popup-grid-cell__image{display:block;position:relative;aspect-ratio:745/1040;border-radius:6px;background:var(--surf2)}
/* 카드가 빠져나간 자리에 남는 «홈» — 이것이 있어야 «뽑혔다»로 읽힌다 */
.holo-thumb-popup-grid-cell__image::before{content:"";position:absolute;inset:0;border-radius:6px;background:var(--surf2);
  box-shadow:inset 0 2px 7px rgba(0,0,0,.45)}
.holo-thumb-popup-grid-cell__picture{position:relative;display:block;width:100%;height:100%;border-radius:6px;
  background-size:cover;background-position:center;transform-origin:50% 100%;
  transition:transform .3s cubic-bezier(.18,.75,.28,1),box-shadow .3s,filter .3s}
.holo-thumb-popup-grid-cell__image:hover .holo-thumb-popup-grid-cell__picture,.holo-thumb-popup-grid-cell:focus-visible .holo-thumb-popup-grid-cell__picture{
  transform:translateY(-26px) rotateX(9deg) scale(1.06);
  box-shadow:0 26px 34px -14px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.16);
  filter:saturate(1.08) contrast(1.03)}  /* R35(2026-08-17 수리2) — 칸 전체 호버→이미지 상자(__image) 호버로 축소. focus-visible(키보드 포커스)은 칸 전체 유지(단일 포커스 대상) */
/* 광택 — 뽑히는 순간 대각선으로 한 번 지나간다 */
.holo-thumb-popup-grid-cell__image::after{content:"";position:absolute;inset:0;border-radius:6px;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%);
  background-size:260% 100%;background-position:130% 0;opacity:0;
  transition:background-position .55s ease-out,opacity .2s}
.holo-thumb-popup-grid-cell__image:hover::after,.holo-thumb-popup-grid-cell:focus-visible .holo-thumb-popup-grid-cell__image::after{opacity:1;background-position:-30% 0;
  transform:translateY(-26px) rotateX(9deg) scale(1.06)}  /* R35(2026-08-17 수리2) — 위와 동일 사유 */
.holo-thumb-popup-grid-cell:active .holo-thumb-popup-grid-cell__picture{transform:translateY(-6px) rotateX(3deg) scale(1.01);transition-duration:.08s}
@media (prefers-reduced-motion:reduce){
  .holo-thumb-popup-grid-cell__picture,.holo-thumb-popup-grid-cell__image::after{transition:none}
  .holo-thumb-popup-grid-cell__image:hover .holo-thumb-popup-grid-cell__picture{transform:translateY(-8px)}
  .holo-thumb-popup-grid-cell__image:hover::after{opacity:0}}
.holo-thumb-popup-grid-cell__name{display:block;font-size:14px;font-weight:800;line-height:1.3;margin-top:7px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.holo-thumb-popup-grid-cell__meta{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--mut);margin-top:2px}
.holo-thumb-popup-grid-cell__value{display:block;font-size:17px;font-weight:800;margin-top:3px;
  font-variant-numeric:tabular-nums;color:var(--dn)}
.holo-thumb-popup-grid-cell__value small{font-size:13px;color:var(--mut);font-weight:700}
/* 그림이 없어 축소 모형이 들어앉는 칸 — 상자가 이미 바탕과 홈을 그리므로 모형은
   자기 비율을 내려놓고 칸을 그대로 채운다(이중 테두리·이중 바탕 방지). */
.holo-thumb-popup-grid-cell__image>.card-image-fallback{width:100%;height:100%;aspect-ratio:auto;position:relative;z-index:1}

/* ══ ⑦ 값 배지 색 수식자 — «연도»를 재는 띠 (.card-image-tile__value--year) ═════════════════════
   출처 = _시안/tcggrail-dex-charizard.html 1264행 · 마크업 50칸(.card-image-tile__value.card-image-tile__value--year)
   조각 = items/pokemon/modules/thumb-strip.php ('vmod' => 'yr')

   ■ 왜 수식자인가 — 같은 배지가 어떤 셀에서는 «수치»(데미지·체력)를 재고 어떤 셀에서는
     «연도»를 잰다. 둘 다 같은 붉은 띠면 훑는 사람이 두 수를 같은 종류로 읽는다.
     시안이 이미 쓰는 이름을 그대로 가져온다(새 이름을 발명하지 않는다).
   ■ 🔒 기본 배지(.card-image-tile__value)는 tcggrail-hub.css §⑥ 가 진다 — 여기서 다시 적지 않는다.
     이 한 줄은 «바탕색 하나»만 갈아 끼운다. */
.card-image-tile__value--year{background:rgba(124,108,245,.92)}

/* ══ 병합 구획 6: 기존 item-modules.css — 최후 적재(같은 선택자면 이긴다) ══ */
/* item-modules.css — 시안 원문에서 «다시 생성»했다 (_시트재건축.php · 2026-08-08)
 * ─────────────────────────────────────────────────────────────────────────────
 * 🚫 손으로 고치지 마라. 시안을 고치고 이 스크립트를 다시 돌린다.
 *    손으로 고치면 다음 재건축 때 조용히 사라지고, 왜 사라졌는지 아무도 모른다.
 * 왜 다시 만들었나 — 앞선 병합 도구가 시안 22장을 «이름»으로 합치면서
 *   같은 이름·다른 장치를 조용히 하나 골랐고, @media 껍질을 벗겼고, 자기 오류
 *   메시지를 CSS 에 섞었다. 그 셋이 이번 사태의 결함 계급 전부였다.
 * 판본이 갈릴 때 고르는 규칙(지휘자 확정) = ① 기준판(tcggrail-entity-full) ② 다수결 ③ 최신
 *   고른 근거는 그 줄 끝에 /* 기준판 *\/ 처럼 적어 두었다.
 * 이 파일은 세 구획이다: [시안 빌드] + [라이브 전용 보존] + [사용자 확정 편차]
 * 입력 시안 22장 · 규칙 3103개
 */

/* ══ 구획 1 · 시안 빌드 ══════════════════════════════════════════════════════ */
* { box-sizing:border-box; }
.tabular-number { font-variant-numeric:tabular-nums; }
a { color:var(--acc-i); }
.value-direction-rising { color:var(--up); }
h1 { font-size:clamp(23px,3vw,30px); margin:0 0 10px; letter-spacing:-.028em; line-height:1.22; text-wrap:balance; }
.value-direction-falling { color:var(--dn); }
.answer-first-paragraph { margin:0 0 14px; padding-bottom:14px; border-bottom:1px dashed var(--line2); font-size:16px; color:var(--ink2); padding:14px 16px; border:1px solid var(--line); border-left:3px solid var(--acc); border-radius:var(--r); background:var(--surf); }  /* 기준판 */
.answer-first-paragraph strong { color:var(--ink); font-weight:700; }
.page-eyebrow-label { font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:0 0 10px; }
.energy-cost-ladder-symbol { display:inline-grid; place-items:center; vertical-align:-3px; flex:0 0 auto; width:15px; height:15px; }  /* 다수결20장 */
.energy-cost-ladder-symbol svg { width:100%; height:100%; display:block; }
.app-layer-panel { position:relative; padding:0; border:0; border-radius:0; background:none; margin-bottom:16px; }  /* 기준판 */
.app-layer-panel::before { content:none; position:absolute; top:-9px; left:13px; font-size:13px; font-weight:800; background:var(--acc); color:#fff; padding:2px 10px; border-radius:20px; }  /* 기준판 */
.app-layer-split-columns { display:flex; gap:26px; align-items:stretch; }  /* 기준판 */
.ranked-thumbnail-list-artist-header>* { min-width:0; }
.attribute-chip-row { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 13px; }
.headline-stat-block { padding:12px 13px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); display:flex; flex-direction:column; justify-content:center; gap:2px; }  /* 기준판 */
.attribute-chip-link { font-size:13px; font-weight:800; padding:4px 10px; border-radius:6px; background:var(--surf2); color:var(--ink2); border:1px solid var(--line2); display:inline-block; align-items:center; gap:6px; letter-spacing:-.01em; line-height:1.35; transition:transform .13s ease,box-shadow .13s ease; }
.three-card-arc-column { flex:0 0 332px; display:flex; flex-direction:column; gap:13px; }
.headline-stat-block__key { font-size:13px; font-weight:700; color:var(--mut); line-height:1.4; }
.attribute-chip-link--rarity { background:var(--acc-s); color:var(--acc-i); border-color:transparent; }
.three-card-arc-display { flex:1 1 auto; position:relative; min-height:340px; display:grid; place-items:center; --fanw:180px; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.headline-stat-block__value { font-size:38px; font-weight:800; letter-spacing:-.035em; line-height:1.05; font-variant-numeric:tabular-nums; }
.headline-stat-block__description { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:800; margin-top:2px; }
.headline-stat-block__description.value-direction-rising { color:var(--up); }
.headline-stat-block__description.value-direction-falling { color:var(--dn); }
.summary-metric-five-column-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr 1.1fr; gap:8px; }
.headline-stat-block__footnote { font-size:13px; color:var(--mut); line-height:1.45; margin-top:4px; }
.three-card-arc-facts { display:flex; flex-wrap:wrap; gap:3px 12px; padding:9px 11px; border-radius:var(--r-s); background:var(--surf); border:1px solid var(--line2); font-size:13px; color:var(--ink2); }
.three-card-arc-facts__title { flex:1 0 100%; font-size:13px; color:var(--mut); }
.price-trend-line-band__heading { display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:13px; font-weight:700; color:var(--mut); margin-bottom:6px; flex-wrap:wrap; }
.three-card-arc-facts__title b { color:var(--ink); font-weight:800; }
.price-trend-line-band__box { position:relative; }
.mini-trend-key { font-size:13px; color:var(--mut); font-weight:700; letter-spacing:.03em; }
.three-card-arc-facts__label { display:inline-flex; align-items:center; gap:4px; }
/* 🩹 2026-08-11(p28-c 추가7) — 위와 같은 병의 앞 줄(뿌리 설명 = :9704 주석).
   이 줄은 :9704 에 가려 실제 화면을 정하진 않지만, 같은 갈래에 height:auto 가 남아 있으면
   시트를 다시 합치는 날 순서가 뒤집혀 결함이 되돌아온다 — 같이 고쳐 함정을 없앤다. */
.price-trend-line-band svg { display:block; width:100%; height:100%; }
.mini-trend-value { font-size:20px; font-weight:800; letter-spacing:-.03em; line-height:1.1; }
.three-card-arc-facts__label b { color:var(--ink); font-weight:800; }
.mini-trend-sparkline { display:block; width:100%; height:44px; margin:2px 0 1px; }
.three-card-arc-display__picture { position:absolute; width:var(--fanw); aspect-ratio:745/1040; border-radius:9px; background-size:cover; background-position:center; box-shadow:0 14px 30px rgba(0,0,0,.38); border:1px solid rgba(255,255,255,.09); transition:transform .28s cubic-bezier(.18,.75,.28,1),box-shadow .28s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.mini-trend-range { font-size:13px; color:var(--mut); font-weight:600; }
.three-card-arc-display__picture:nth-child(1) { transform:rotate(-14deg)translate(calc(var(--fanw)* -.367),2px); }
.price-trend-line-tooltip-hitarea:focus-visible { outline:2px solid var(--acc); outline-offset:-2px; border-radius:4px; }
.titl { display:none; }
.three-card-arc-display__picture:nth-child(2) { transform:rotate(0deg)translateY(-8px); z-index:2; }
.card-title-heading { margin:0; font-size:clamp(24px,2.5vw,32px); font-weight:800; letter-spacing:-.03em; line-height:1.15; }
.three-card-arc-display__picture:nth-child(3) { transform:rotate(14deg)translate(calc(var(--fanw)* .367),2px); }
.price-trend-line-tooltip-hitarea:hover .price-trend-line-tooltip { opacity:1; }
.card-number-badge { font-size:.62em; font-weight:700; color:var(--acc-i); background:var(--acc-s); padding:2px 8px; border-radius:6px; letter-spacing:.02em; vertical-align:3px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.card-number-plain { font-size:.62em; color:var(--mut); font-variant-numeric:tabular-nums; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }  /* F20(2026-08-22 눈검수·규칙 확정) — card-number-badge의 소형 맥락(그리드·리스트·비교) 대체판. 배경·테두리·강조색 없이 색만(--mut) 이름과 구분 — «배지 아님». font-size는 --badge와 같은 .62em(고정 px 아님·부모 폰트에 자동 비례). 대괄호[N]는 마크업(card-cells.php)이 이미 문자로 감싼다. */
.three-card-arc-display:hover .three-card-arc-display__picture:nth-child(1) { transform:rotate(-21deg)translate(calc(var(--fanw)* -.544),2px); }
.price-trend-line-tooltip-hitarea:focus-visible .price-trend-line-tooltip { opacity:1; }
.card-attribute-summary-line { margin:0; font-size:13.5px; color:var(--mut); line-height:1.5; }
.three-card-arc-display:hover .three-card-arc-display__picture:nth-child(3) { transform:rotate(21deg)translate(calc(var(--fanw)* .544),2px); }
.price-trend-line-tooltip-hitarea:first-child .price-trend-line-tooltip { left:0; transform:translate(0,-118%); }
/* 🩹 2026-08-11(p28) ⑨ — flex:0 0 244px → 0 0 auto. 부모가 세로 flex 라 244px 가 «높이»에
   앉아 aspect-ratio 를 무력화하고 틀을 정사각으로 잘랐다(뿌리 설명 = :291 주석). 폭은 width 가 진다. */
.holo-thumb-popup-artwork-frame { flex:0 0 auto; width:244px; align-self:flex-start; height:auto; aspect-ratio:745/1040; border-radius:12px; overflow:hidden; background:none; border:0; display:grid; place-items:center; text-align:center; filter:drop-shadow(0 16px 30px rgba(0,0,0,.34)); padding:0; --art-w:244px; }  /* 기준판 */
.three-card-arc-display:hover .three-card-arc-display__picture:nth-child(2) { transform:translateY(-26px)scale(1.07); box-shadow:0 30px 44px -12px rgba(0,0,0,.7); }
.price-trend-line-tooltip-hitarea:last-child .price-trend-line-tooltip { left:auto; right:0; transform:translate(0,-118%); }
.holo-thumb-popup-artwork-frame img { width:100%; height:100%; object-fit:contain; display:block; }
.three-card-arc-display__content { display:block; text-align:center; font-size:13px; color:var(--mut); line-height:1.4; }
.holo-thumb-popup-artwork-frame span { font-size:13px; color:rgba(255,255,255,.76); font-weight:700; line-height:1.5; }
.side-content-column { flex:1 1 auto; display:flex; flex-direction:column; gap:11px; min-width:0; }  /* 기준판 */
.composition-donut-stat-panel { background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; overflow:hidden; }
.price-trend-line-tooltip__rank i { width:9px; height:9px; border-radius:3px; flex:0 0 auto; }
.price-trend-line-tooltip__rank b { margin-left:auto; font-variant-numeric:tabular-nums; }
.composition-donut-stat-cell { padding:11px 12px 9px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:3px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }  /* 기준판 */
.headline-stat-key { font-size:13px; color:var(--mut); font-weight:700; letter-spacing:.03em; }
.composition-donut-stat-cell:first-child { border-left:0; background:linear-gradient(180deg,var(--acc-s),transparent 70%); }
.headline-stat-value { font-size:28px; font-weight:800; letter-spacing:-.035em; line-height:1.05; font-variant-numeric:tabular-nums; }
/* 🚨 2026-08-27 59호 — nth-child(5)가 "1-year change" 칸의 border-left 를 지우던 결함(사용자
   실측 mcd16-7/price). 원인 = 격자 첫 자식이 안 보이는 그라디언트 정의 svg(width=0·position:
   absolute·aria-hidden) 라서(스파크라인이 쓰는 #gdn/#gup — 이 격자 쓰는 모든 페이지에 구조적
   상시 존재) DOM 순번이 1씩 밀려 있었다. +1 시프트(6)로 옮겨도 «지우는 대상 칸»이 바뀔 뿐
   결함(칸 하나가 테두리 없음)은 그대로 재발한다 — 격자가 gap:8px 로 칸을 아예 안 붙여 두므로
   (칸끼리 안 닿음) 어느 칸도 이웃과 테두리를 나눠 가질 이유가 없다(이중선 방지용 억제가
   애초에 불필요). 억제 규칙 자체를 제거해 모든 칸이 자기 완결 4변 테두리를 갖게 한다 —
   구조 변경 0(격자·클래스 그대로, 이 두 줄만 삭제). .composition-donut-stat-panel(:7448)은
   칸이 4개뿐이라 nth-child(5)/(n+5)에 애초에 걸린 적이 없다(대상 자체가 없음) — 삭제해도
   그쪽 회귀 0, 재확인만 하고 새 규칙을 만들지 않는다(:first-child 만 그 칸에 계속 적용). */
.delta { font-size:14px; font-weight:800; margin-left:8px; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.headline-stat-note { font-size:13px; color:var(--mut); line-height:1.5; margin-top:3px; }
.headline-stat-delta { font-size:14px; font-weight:800; }
.headline-stat-delta em { font-style:normal; font-weight:600; font-size:13px; color:var(--mut); margin-left:2px; }
.composition-donut-stat-cell-key { font-size:13px; color:var(--mut); font-weight:700; }
.composition-donut-stat-cell-value { font-size:26px; font-weight:800; letter-spacing:-.035em; line-height:1.08; margin-top:1px; }
.mn { display:flex; flex-direction:column; gap:2px; }
.composition-donut-stat-cell:first-child .composition-donut-stat-cell-value { font-size:34px; color:var(--acc-i); }
.mn__k { font-size:13px; color:var(--mut); font-weight:600; }
.composition-donut-stat-cell-value small { font-size:15px; color:var(--mut); font-weight:700; margin-left:5px; }
.mn svg { display:block; width:100%; height:20px; }
.composition-donut-stat-cell-meta { font-size:13px; color:var(--mut); margin-top:2px; }
.derived-metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(158px,1fr)); gap:10px; margin-bottom:13px; }
.mn__v { font-size:13px; font-weight:800; }
.entity-spec-summary-strip { display:flex; flex-wrap:wrap; gap:2px 18px; padding:15px 13px; border-radius:var(--r-s); background:var(--surf2); border:1px dashed var(--line2); font-size:15px; }
.derived-metric-grid>* { min-width:0; }
.axis { padding:14px 15px 12px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin-top:14px; }
.entity-spec-summary-strip a { display:inline-flex; align-items:center; gap:5px; color:var(--ink2); text-decoration:none; text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); }
.derived-metric-cell { padding:11px 13px; background:var(--surf2); border:1px solid var(--line2); border-radius:var(--r-s); display:flex; flex-direction:column; gap:2px; }
.visual-block-heading { font-size:15px; font-weight:700; color:var(--ink2); margin:0 0 10px; }
.entity-spec-summary-strip span { display:inline-flex; align-items:center; gap:5px; color:var(--ink2); text-decoration:none; }
.derived-metric-cell__key { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--mut); line-height:1.35; }
.track { position:relative; height:50px; border-radius:6px; background:var(--surf2); overflow:hidden; }
.entity-spec-summary-strip a:hover { color:var(--acc-i); text-decoration:underline; }
.derived-metric-cell__image { width:25px; height:25px; border-radius:8px; flex:0 0 auto; display:grid; place-items:center; background:var(--acc-s); }
.band { position:absolute; top:0; bottom:0; background:var(--acc); opacity:.15; }
.entity-spec-summary-strip b { color:var(--mut); font-weight:700; }
.derived-metric-cell__image svg { width:15px; height:15px; display:block; }
.entity-spec-summary-strip em { font-style:normal; color:var(--ink); font-weight:800; }
.derived-metric-cell__value { font-size:21px; font-weight:800; letter-spacing:-.03em; line-height:1.15; font-variant-numeric:tabular-nums; }
.now { position:absolute; top:-3px; bottom:-3px; width:2.5px; background:var(--dn); border-radius:2px; }
.quick-fact-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:7px; margin-top:12px; }  /* 기준판 · F40(2026-08-22 눈검수) — 고정 6열이 폭과 무관하게 6칸을 한 줄에 욱여넣어 「너무 촘촘」했다(가이드 인덱스 6타일 실증). auto-fit+minmax(260px,1fr)로 폭에 따라 유동(넓으면 3열=2행·중간 2열·좁으면 1열). 1060px 이하 구간은 기존 미디어쿼리(:11146 등)가 더 구체적으로 이겨 그대로 유지 — 이번 수정은 «6열 고정이 unconditional 하던 넓은 폭」구간만 고친다. */
.derived-metric-cell__subtitle { font-size:13px; color:var(--mut); line-height:1.4; word-break:keep-all; }
.now::after { content:""; position:absolute; top:-4px; left:50%; transform:translateX(-50%); border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid var(--dn); }
.ax { display:flex; justify-content:space-between; margin-top:6px; font-size:13px; color:var(--mut); }
.quick-fact-card { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:10px; align-items:center; padding:11px 12px; border:1px solid var(--line2); border-left:3px solid var(--acc); border-radius:var(--r-s); background:var(--surf); text-decoration:none; color:inherit; transition:transform .12s,border-color .12s; row-gap:1px; }  /* 기준판 · R64(2026-08-18) — 이 규칙(소스순서상 :485 원판을 이김)에 딸려온 flex-direction:column(그리드엔 무효과) + gap:2px(shorthand)가 앞의 column-gap:10px 를 2px 로 덮어써 이모지-정보 사이가 붙어 보였다(:485 원판엔 이 두 선언이 없다 — 병합 잔재). gap:2px 제거로 column-gap:10px 복원, row-gap:1px 은 그대로(줄 사이 간격은 원판과 동일 유지). */
.marketplace-logo i { display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:4px; vertical-align:-1px; }
.quick-fact-card:hover { transform:translateY(-1.5px); background:var(--acc-s); border-color:var(--acc); }  /* 기준판 */
.quick-fact-card b { font-size:13px; font-weight:700; color:var(--mut); }
.meta-tile-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-top:12px; }
.quick-fact-icon { grid-row:1/span 3; width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--acc-s); color:var(--acc-i); grid-column:1; align-self:center; flex:0 0 auto; }  /* 기준판 */
.quick-fact-card em { font-style:normal; font-size:14px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
.quick-fact-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; display:block; }  /* 기준판 */
.quick-fact-icon img { width:21px; height:21px; display:block; }  /* 기준판 — Noto SVG img(N41) 사이징 */
.quick-fact-key { grid-row:1; font-size:13px; color:var(--mut); font-weight:700; grid-column:2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:16px; }
.meta-tile { padding:9px 11px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); display:flex; flex-direction:column; gap:2px; min-width:0; color:inherit; text-decoration:none; }
.quick-fact-value { grid-row:2; font-size:19px; font-weight:800; line-height:1.2; grid-column:2; letter-spacing:-.025em; }  /* 기준판 */
.meta-tile__key { font-size:13px; color:var(--mut); font-weight:700; letter-spacing:.03em; }
.meta-tile__value { font-size:13.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
a.meta-tile { border-color:color-mix(in srgb,var(--acc)24%,var(--line2)); transition:border-color .15s,background .15s; position:relative; padding-right:20px; }
a.meta-tile:hover { border-color:var(--acc); background:var(--acc-s); }
.sibling-axis-link-card { text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); display:grid; grid-template-columns:auto minmax(0,1fr)auto; gap:11px; align-items:center; padding:9px 11px 9px 9px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf2); text-decoration:none; color:inherit; transition:transform .16s,border-color .16s,background .16s; }
a.meta-tile:focus-visible { border-color:var(--acc); background:var(--acc-s); }
.block-followup-note a { text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); color:var(--acc-i); font-weight:700; text-decoration:none; }
a.meta-tile .meta-tile__value { color:var(--acc-i); }
.summary-return-anchor { text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:13px; color:var(--mut); text-decoration:none; font-weight:700; margin:14px 0 0; }
a.meta-tile::after { content:"→"; position:absolute; top:9px; right:9px; font-size:13px; font-weight:800; color:var(--acc-i); opacity:.9; transition:opacity .13s,transform .13s,color .13s; display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); line-height:1; }
a.meta-tile[href^="#"]::after { transform:rotate(45deg); }  /* N15(2026-08-23) 같은-페이지 앵커=4시30분(↘) — 회전만 추가, base content/색/크기 무변경 */
a.meta-tile[href^="#"]:hover::after,
a.meta-tile[href^="#"]:focus-visible::after { transform:rotate(45deg) translate(1.5px,1.5px); }  /* N15 */
.block-followup-note a:hover { text-decoration:underline; }
a.meta-tile:hover::after { opacity:1; color:#fff; transform:translateX(2px); background:var(--acc); }
.summary-return-anchor:hover { text-decoration:underline; color:var(--acc-i); }
a.meta-tile:focus-visible::after { opacity:1; color:#fff; transform:translateX(2px); background:var(--acc); }
.summary-return-anchor:focus-visible { text-decoration:underline; color:var(--acc-i); }
/* 🔧 2026-08-09 아래 여백 0 → 14px (§10 맞닿음 4쌍 중 하나 · 실측: 이 줄 뒤 그림이 간격 0px 로 맞닿음).
   값 출처 = §10 이 쓰는 14px 그대로(.visual-block-box{margin:0 0 14px}). 위·좌우는 그대로 둔다. */
.figure-caption-note { margin:8px 0 14px; font-size:13px; color:var(--mut); line-height:1.55; }
.entity-spec-summary-strip a:focus-visible { text-decoration:underline; }
.content-section-block { border-top:0; margin-top:0; padding:0; margin-bottom:32px; }
.content-section-block>h2 { font-size:24px; font-weight:700; line-height:1.35; letter-spacing:-.02em; margin:70px 0 15px 0; padding-left:15px; border-left:4px solid var(--acc); padding-bottom:10px; border-bottom:1px solid var(--line2); color:var(--ink); text-transform:none; text-wrap:balance; }
.content-section-block>*+.section-lead-paragraph { margin-top:28px; }
.quick-fact-card:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.content-section-block>h2+.section-lead-paragraph { margin-top:0; }
.quick-fact-icon svg .icon-filled-shape { fill:currentColor; stroke:none; }
.quick-fact-icon svg rect { fill:currentColor; stroke:none; }
.section-lead-paragraph { margin:0 0 12px; color:var(--ink2); font-size:16px; }
.quick-fact-icon--accent { background:var(--acc-s); color:var(--acc-i); }
.body-prose-block p { margin:0 0 10px; font-size:16px; color:var(--ink2); }
.quick-fact-icon--down { background:color-mix(in srgb,var(--dn)13%,transparent); color:var(--dn); }
.body-prose-block b { color:var(--ink); }
.distribution-bar-label-row s { text-decoration:none; font-size:13px; color:var(--mut); font-weight:700; flex:0 0 auto; }
.quick-fact-icon--up { background:color-mix(in srgb,var(--up)14%,transparent); color:var(--up); }
.summary-return-anchor::before { content:"↑"; display:inline-grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--surf2); border:1px solid var(--line2); color:var(--mut); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }
.summary-return-anchor:hover::before { background:var(--acc); border-color:var(--acc); color:#fff; transform:translateY(-2px); }
.quick-fact-range { grid-column:2; grid-row:3; font-size:13px; color:var(--mut); font-weight:600; white-space:normal; overflow:visible; text-overflow:clip; word-break:keep-all; line-height:1.4; }
.summary-return-anchor:focus-visible::before { background:var(--acc); border-color:var(--acc); color:#fff; transform:translateY(-2px); }
.deep-dive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
a.distribution-bar-row { display:block; text-decoration:none; color:inherit; padding:3px 5px; margin:0 -5px 6px; border-radius:6px; }
a.distribution-bar-row:hover { background:var(--surf); }
a.distribution-bar-row:focus-visible { background:var(--surf); }
.deep-dive-panel { padding:14px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
a.distribution-bar-row:last-child { margin-bottom:0; }
.deep-dive-panel h3 { margin:0 0 9px; font-size:15px; }
.deep-dive-panel ol { margin:0; padding-left:16px; font-size:13px; color:var(--ink2); line-height:1.7; }
.deep-dive-panel ul { margin:0; padding-left:16px; font-size:13px; color:var(--ink2); line-height:1.7; }
.deep-dive-panel li { margin-bottom:4px; }
.deep-dive-panel .key-value-line { display:flex; justify-content:space-between; gap:8px; font-size:13px; padding:5px 0; border-top:1px solid var(--line); }
.deep-dive-panel .key-value-line:first-of-type { border-top:0; }
/* R24-b(2026-08-20 W3) 풀 디박스 — 이 이름은 이제 «간격 토큰» 하나만 진다(사용자 위임 판정 확정).
   ■ 무엇을 걷었나 ─ 바탕(var(--surf2)) · 안여백 14px · 라운드(var(--r-s)). 테두리는 R24(08-17)가
     이미 0 으로 두었으므로 A-5 의 «박스 4종»이 이로써 전부 사라진다.
   ■ 무엇이 남았나 ─ margin:0 0 14px 뿐이다. 블록 구분은 «세로 간격 + 제목»이 진다.
     이 14px 은 §10 이 쓰는 간격 토큰과 같은 수라 갈라짐이 없다(:1522·:6094·:7470·:9528 주석 참조).
   🔁 함께 정합한 것 ─ 좁은 화면에서 이 안여백을 «줄이려고» 있던 규칙 넷은 뿌리가 사라져 이제는
      거꾸로 여백을 «되살리는» 줄이 되므로 이 이름만 빼냈다(:4830 6px · :4849 4px · :10995 4px ·
      :11086 11px). 함께 묶여 있던 .deep-dive-panel·.footnote-block·.cross-link-list-column 은
      제 상자를 그대로 지는 다른 부품이라 한 글자도 안 건드렸다.
   🔍 14px 안여백을 전제한 «음수 보정»은 전수 grep 결과 0건이었다(-14px 히트는 전부 그림자
      번짐값·호버 translateY 라 무관). 그래서 되돌릴 보정 오프셋이 없다. */
.visual-block-box { margin:0 0 14px; border:0; }  /* 기준판 · R24-b(2026-08-20 W3) */
.deep-dive-panel .key-value-line b { font-variant-numeric:tabular-nums; }
.distribution-bar-row { margin-bottom:9px; }
.marketplace-offer-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-bottom:14px; }
.distribution-bar-row:last-child { margin-bottom:0; }
.distribution-bar-label-row { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:15px; margin-bottom:4px; margin:0 0 8px; }  /* 기준판 */
.distribution-bar-label-row .bar-heading-line { display:flex; align-items:center; gap:7px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.box-whisker-chart { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.marketplace-offer-card { display:flex; flex-direction:column; gap:0; padding:0; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); text-decoration:none; color:inherit; overflow:hidden; transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease; }
.distribution-bar-label-row b { font-variant-numeric:tabular-nums; font-weight:800; flex:0 0 auto; }
.box-whisker-chart>li { min-width:0; }
.marketplace-offer-card:hover { border-color:var(--acc); transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.24); }
.distribution-bar-track { height:9px; border-radius:5px; background:var(--line2); overflow:hidden; }
.box-whisker-chart__heading { display:flex; align-items:center; gap:8px; font-size:14px; margin-bottom:5px; flex-wrap:wrap; }
/* 2026-08-28 62호(사용자 확정) — --gold→--buy(마켓 비교표 골드 전면 소거). */
.marketplace-offer-card--best { border-color:var(--buy); background:color-mix(in srgb,var(--buy)5%,var(--surf)); border-left-width:4px; }
.distribution-bar-fill { display:block; height:100%; border-radius:5px; background:var(--et,var(--acc)); }  /* 다수결9장 · B-8 확장: animation(bar-fill-x·paused)은 죽은 코드였다(후행 @media(no-preference) 블록의 tg-bar-fill 규칙이 항상 이김) — 제거. 트리거 shorthand는 그 블록의 .rv-anim-go 규칙(:11068 부근)에만 있다. */
.box-whisker-chart__heading b { font-weight:800; font-variant-numeric:tabular-nums; }
.byk { font-size:13px; font-weight:800; color:var(--ink2); display:flex; align-items:center; gap:6px; }
.box-whisker-chart__heading s { text-decoration:none; font-size:13px; color:var(--mut); font-weight:700; margin-left:auto; }
/* 2026-08-28 62호(사용자 확정) — 위와 같은 이유(--gold→--buy) */
.marketplace-offer-card-badge { font-size:13px; font-weight:800; padding:3px 9px; border-radius:999px; background:var(--buy); color:#fff; letter-spacing:.04em; margin-left:auto; flex:0 0 auto; box-shadow:0 2px 8px color-mix(in srgb,var(--buy)42%,transparent); }
.lifespan-band-chart-band { transform-origin:left center; animation:none; animation-play-state:paused; position:absolute; top:0; height:100%; border-radius:7px; background:var(--et,var(--mut)); }
.box-whisker-chart__title { position:relative; height:22px; border-radius:5px; background:var(--surf2); border:1px solid var(--line); }  /* F3(2026-08-21 눈검수): 트랙 배경 회귀 복원 — var(--surf)(#FFFFFF)가 카드 바닥(.visual-block-box)과 같은 흰색이라 트랙이 안 보였다. 형제 트랙(.distribution-bar-track:var(--line2)·.module-chart__track:var(--color-bg-subtle))과 같은 「한 단 낮은 바닥」 토큰(--surf2)으로 통일 */
.byv { font-size:19px; font-weight:800; letter-spacing:-.025em; }
.attribute-distribution-bar-fill { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; border-radius:5px; background:var(--acc); width:var(--w); }
.box-whisker-chart__width { position:absolute; top:50%; height:2px; background:var(--line2); transform:translateY(-50%); }
.bym { font-size:13px; color:var(--mut); }
.ranked-thumbnail-list-series-fold-summary__footnote { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; border-radius:4px; background:var(--acc); }
.box-whisker-chart__box { position:absolute; top:3px; bottom:3px; border-radius:4px; background:var(--et,var(--acc)); opacity:.42; }
.marketplace-offer-card-visit-button { font-size:14px; font-weight:800; color:var(--ink); margin-top:4px; display:flex; align-items:center; justify-content:center; gap:6px; margin:10px 12px 12px; padding:10px; border-radius:8px; background:var(--surf2); border:1px solid var(--line2); transition:background .13s,border-color .13s,color .13s; }
.bar-row-track i { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; border-radius:5px; background:var(--acc); width:var(--w); }
.box-whisker-chart__modal { position:absolute; top:1px; bottom:1px; width:3px; border-radius:2px; background:var(--et,var(--acc)); }
.asymmetric-two-column-grid { display:grid; gap:12px; grid-template-columns:1.15fr 1fr; margin-top:12px; }
.ranked-thumbnail-list-gap-row__bar i { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; width:var(--w); background:var(--c1); opacity:.75; border-radius:99px; }  /* 기준판 */
.box-whisker-chart__extra { position:absolute; top:6px; bottom:6px; width:2px; background:var(--line2); }
.stat-tile-link__track i { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; width:var(--w); background:var(--acc); border-radius:99px; }
.box-whisker-chart-scale-axis { display:flex; justify-content:space-between; font-size:13px; color:var(--mut); margin-top:7px; font-variant-numeric:tabular-nums; }
.data-story-tile__gauge i { transform-origin:left center; animation:none; animation-play-state:paused; position:relative; z-index:1; display:block; height:10px; border-radius:5px; background:var(--acc); width:var(--w); }  /* 정본 판정 2026-08-09: 시안 tcggrail-axis-fire.html:2157 실측 --acc(하락 의미 없는 «구간 내 위치» 계기) — 舊 --dn 은 오탐, 구판(6278행 자리) 폐기 후 이 한 벌로 통합 */
.type-sparkline-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(146px,1fr)); gap:10px; }
.distribution-bar-label-row h3 { margin:0; font-size:15px; font-weight:700; color:var(--ink2); }
.proportion-bar-track>i { transform-origin:left center; animation:none; animation-play-state:paused; display:block; width:var(--w); min-width:3px; height:100%; border-radius:3px; background:var(--acc); opacity:.38; }  /* 기준판 */
.type-sparkline-grid>* { min-width:0; }
.distribution-bar-label-row a { font-size:13px; color:var(--acc-i); text-decoration:none; font-weight:700; text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); }
.denominator-labelled-row__bar i { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; width:var(--w); border-radius:99px; background:var(--mut); opacity:.8; }
.type-sparkline-card { padding:9px 11px 8px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); text-decoration:none; color:inherit; display:block; }
.badge-bar-row-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.stat-tile-metric__bar i { transform-origin:left center; animation:none; animation-play-state:paused; display:block; height:100%; width:var(--w); border-radius:99px; background:var(--acc); opacity:.85; }
.type-sparkline-card:hover { border-color:var(--acc); }
.badge-bar-row { display:flex; align-items:center; gap:11px; padding:10px 12px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
/* F21(2026-08-23 눈검수 — 지휘자 지적) — 위 .badge-bar-row(1클래스)가 캐스케이드 순서상 :5773·
   :11125 의 (마찬가지로 1클래스인) `.badge-bar-row--fold{border:0}` 계열보다 «나중»에 와서 이겨버려
   테두리가 실제로는 안 지워지고 있었다(죽은 규칙). 게다가 .module-list-fold__toggle(:11127)에
   점선 테두리가 따로 있어 li 실선 + 토글 점선 = 이중 테두리로 보였다. 2클래스 결합자로 특이성을
   올려 위치와 무관하게 이기게 한다 — 토글의 점선만 신호로 남기고 li 자체의 실선·배경은 제거. */
.badge-bar-row.badge-bar-row--fold { border:0; padding:0; background:none; }
.compact-value-bar-row>i::after { transform-origin:left center; animation:none; animation-play-state:paused; content:""; display:block; width:var(--w); min-width:3px; height:100%; border-radius:3px; background:var(--acc); opacity:.42; }
.type-sparkline-card:focus-visible { border-color:var(--acc); }
.badge-bar-row__arrow { display:flex; align-items:center; gap:11px; flex:1; min-width:0; text-decoration:none; color:inherit; width:100%; padding:10px 12px; }
.data-story-tile__rank i { transform-origin:center bottom; animation:none; animation-play-state:paused; flex:1; min-height:3px; border-radius:2px 2px 0 0; background:var(--line2); height:var(--h); }
.type-sparkline-card__heading { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:700; margin-bottom:3px; min-width:0; }
.badge-bar-row__picture { flex:0 0 56px; width:56px; aspect-ratio:745/1040; border-radius:5px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); display:block; }
.stat-tile-link__bars i { transform-origin:center bottom; animation:none; animation-play-state:paused; flex:1; background:var(--line2); border-radius:2px 2px 0 0; min-height:3px; height:var(--h); }
.type-sparkline-card__heading span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.badge-bar-row__picture img { width:100%; height:100%; object-fit:cover; display:block; }
.stat-tile-link__dot i { transform-origin:center bottom; animation:none; animation-play-state:paused; flex:1; border-radius:2px; background:var(--acc); opacity:var(--o,.35); height:var(--h); }
.type-sparkline-card svg { display:block; width:100%; height:34px; }
.badge-bar-row__picture--none { display:block; place-items:center; overflow:hidden; }
.yearly-output-spark-bars__bar { transform-origin:center bottom; animation:none; animation-play-state:paused; flex:1 1 0; min-width:2px; height:var(--h); background:var(--line2); border-radius:2px 2px 0 0; }
.type-sparkline-card__footnote { display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:13px; margin-top:3px; }
.badge-bar-row__picture--none>i { font-style:normal; font-size:14px; color:var(--mut); }
.distribution-bar-fill.sh-go { animation-play-state:running; }
.type-sparkline-card__footnote b { font-variant-numeric:tabular-nums; font-weight:800; }
.lifespan-band-chart-band.sh-go { animation-play-state:running; }
.type-sparkline-card__footnote em { font-style:normal; font-weight:800; }
.attribute-distribution-bar-fill.sh-go { animation-play-state:running; }
.type-sparkline-card__footnote em.value-direction-rising { color:var(--up); }
.ranked-thumbnail-list-series-fold-summary__footnote.sh-go { animation-play-state:running; }
.type-sparkline-card__footnote em.value-direction-falling { color:var(--dn); }
.bar-row-track i.sh-go { animation-play-state:running; }
.group-value-ladder-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; font-weight:800; font-variant-numeric:tabular-nums; flex:0 0 auto; white-space:nowrap; overflow:visible; text-overflow:clip; color:var(--ink); }
.badge-bar-row--current .bar-row-track i { background:var(--acc-i); }
.ranked-thumbnail-list-gap-row__bar i.sh-go { animation-play-state:running; }
.group-value-ladder-list>li { display:grid; grid-template-columns:minmax(84px,120px)minmax(0,1fr)74px; gap:10px; align-items:center; min-width:0; }
.badge-bar-row--current { border-color:var(--acc); }
.stat-tile-link__track i.sh-go { animation-play-state:running; }
.bar-denominator-legend { margin:8px 0 0; font-size:13px; line-height:1.5; color:var(--mut); }  /* 기준판 */
.data-story-tile__gauge i.sh-go { animation-play-state:running; }
.group-value-ladder-list__key { display:flex; align-items:center; gap:6px; font-size:14px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bar-denominator-legend b { color:var(--ink2); font-weight:800; }
.proportion-bar-track>i.sh-go { animation-play-state:running; }
.group-value-ladder-list__title { position:relative; height:16px; background:var(--surf); border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.denominator-labelled-row__bar i.sh-go { animation-play-state:running; }
.group-value-ladder-list__vertical-rule { position:absolute; top:0; bottom:0; width:1px; background:var(--line2); }
.stat-tile-metric__bar i.sh-go { animation-play-state:running; }
.group-value-ladder-list__footnote { position:absolute; top:2px; bottom:2px; border-radius:3px; background:var(--up); }
.compact-value-bar-row>i.sh-go::after { animation-play-state:running; }
.group-value-ladder-list__value { font-size:14px; font-weight:800; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.row-key-badge { flex:none; font-size:13px; font-weight:800; padding:3px 8px; border-radius:5px; background:var(--surf2); color:var(--ink2); border:1px solid var(--line2); min-width:60px; text-align:center; }  /* 기준판 */
.data-story-tile__rank i.sh-go { animation-play-state:running; }
.group-value-ladder-list__value.value-direction-rising { color:var(--up); }
.row-key-badge--current { background:var(--acc-s); color:var(--acc-i); border-color:transparent; }
.stat-tile-link__bars i.sh-go { animation-play-state:running; }
.group-value-ladder-list__value.value-direction-falling { color:var(--dn); }
/* 68호(2026-08-28 사용자 확정) — 위 :893 블록과 동기화(이 존이 실제 승자). */
.bar-row-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.bar-row-line1 { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px; }
.bar-row-line1 .bar-row-value { text-align:left; }
.stat-tile-link__dot i.sh-go { animation-play-state:running; }
.yearly-output-spark-bars__bar.sh-go { animation-play-state:running; }
.ranked-thumbnail-list-card-row:first-of-type { border-top:0; }
.bar-row-note { display:block; font-size:13px; color:var(--mut); margin-top:1px; line-height:1.45; }
.ranked-thumbnail-list-card-row:focus-visible { background:var(--surf2); color:var(--ink); }
.bar-row-value small { display:block; font-size:13px; font-weight:600; color:var(--mut); white-space:nowrap; overflow:visible; text-overflow:clip; }  /* 다수결4장 */
.print-variant-shine-map-diagram { margin:12px 0 0; padding:13px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
.print-variant-shine-map-diagram>figcaption { font-size:13px; font-weight:700; color:var(--ink2); margin-bottom:10px; }
.print-variant-shine-map-diagram__row { display:flex; gap:12px; flex-wrap:wrap; }
/* 이름 + 곁줄 «한 칸 안 두 줄» — list-row.php :153 이 둘을 이름 없는 <span> 하나에 넣는다.
   ■ 무엇이 틀렸나 (확인판 축 실측 2026-08-09) — 둘 다 inline 이라 «한 줄로 이어 붙었다»:
     「Charizard」+「Fire」 → 화면에는 «CharizardFire» 로 나왔다. 조각의 주석은 원래부터
     「한 칸 안에 겹쳐 쌓는다 — 격자 칸 하나가 두 줄을 진다」였는데, 그 쌓기를 «시트가
     하기로» 되어 있었고 그 규칙이 없었다(display 선언 자체가 빠져 있었다).
   ■ 사이 간격 2px = 발명이 아니라 «같은 쌍 다른 사용처» 실측값이다. 둘이 일치한다:
       .ranked-thumbnail-list-gap-rows__title(14.6px) + __description(13px)  → margin-top:2px (:7727)
       .ranked-thumbnail-list-card-row__name/__subtitle 좁은 화면 쌓기        → row-gap:2px  (:6486)
     (17px 이름을 쓰는 .ranked-thumbnail-list-value-row 쌍만 3px 다 — 글자가 커서 그렇다.
      이 쌍은 14/13px 이라 14.6/13px 쪽 값을 따른다.)
   🔒 말줄임(nowrap+ellipsis)은 그대로 둔다 — 칸을 넘기지 않는 것이 이 줄의 계약이다. */
.ranked-thumbnail-list-card-row__name-oneline { display:block; font-size:14px; font-weight:700; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.print-variant-shine-map-diagram__content { flex:1 1 150px; min-width:0; padding:11px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); text-align:center; }
.ranked-thumbnail-list-card-row__subtitle-oneline { display:block; margin-top:2px; font-size:13px; color:var(--mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }  /* 사이 간격 근거 = 바로 위 __name-oneline 주석 */
.print-variant-shine-map-diagram__content svg { width:66px; height:93px; display:block; margin:0 auto 8px; }
.ranked-thumbnail-list-card-row__value { font-size:14px; font-weight:800; text-align:right; font-variant-numeric:tabular-nums; color:var(--ink); }
.print-variant-shine-map-diagram__content.state-not-issued { opacity:.55; }
.ranked-thumbnail-list-card-row__multiple { font-size:13px; font-weight:700; color:var(--mut); text-align:right; font-variant-numeric:tabular-nums; }
.print-variant-shine-map-diagram__key { display:flex; align-items:center; justify-content:center; gap:6px; margin:0 0 3px; font-size:13px; font-weight:800; color:var(--ink); }
.print-variant-shine-map-diagram__key span { font-size:13px; font-weight:700; color:var(--mut); padding:1px 6px; border-radius:4px; background:var(--surf2); }
.print-variant-shine-map-diagram__key span.value-direction-rising { color:var(--acc-i); background:var(--acc-s); }
.print-variant-shine-map-diagram__name { margin:0; font-size:13px; color:var(--ink2); line-height:1.5; }
.print-variant-shine-map-diagram__footnote { margin-top:11px; padding-top:10px; border-top:1px solid var(--line); font-size:13px; color:var(--ink2); line-height:1.65; }
.distribution-bar-row--dimmed { opacity:.55; }
.classification-note-badge { display:inline-block; font-size:13px; font-weight:700; padding:1px 7px; border-radius:999px; background:var(--warn-s); color:var(--warn); margin-left:5px; }
.scatter-plot-chart { position:relative; padding-left:40px; padding-bottom:26px; }
.composition-donut-ring-box { display:flex; gap:18px; align-items:center; flex-wrap:wrap; padding:14px 16px; background:var(--surf2); border:1px solid var(--line2); border-radius:var(--r-s); margin-bottom:12px; }
.scatter-plot-chart svg { display:block; width:100%; height:auto; overflow:visible; }
.visual-block-box .composition-donut-ring-box { padding:0; background:transparent; border:0; border-radius:0; }
.scatter-plot-chart__y-axis-labels { position:absolute; left:0; top:0; bottom:26px; width:36px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; }
figure .composition-donut-ring-box { padding:0; background:transparent; border:0; border-radius:0; }
.scatter-plot-chart__x-axis-labels { position:absolute; left:40px; right:0; bottom:0; display:flex; justify-content:space-between; font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; }
.ranked-thumbnail-list-gap-rows .composition-donut-ring-box { padding:0; background:transparent; border:0; border-radius:0; }
.scatter-plot-legend { display:flex; flex-wrap:wrap; gap:6px 13px; margin-top:11px; font-size:13px; color:var(--ink2); }
.composition-donut-ring { width:132px; height:132px; border-radius:50%; flex:0 0 auto; display:grid; place-items:center; align-content:center; position:relative; background:conic-gradient(var(--acc)0 33%,#6E7A8D 33% 61%,#3DD68C 61% 75%,#E2A33C 75% 78.4%,#F2555A 78.4% 80.3%,var(--line2)80.3% 100%); }  /* 다수결20장 */
.scatter-plot-legend span { display:flex; align-items:center; gap:5px; }
.overlap-venn-diagram-intersection p { margin:0 0 9px; font-size:15px; line-height:1.7; color:var(--ink2); }
.composition-donut-ring::after { content:""; position:absolute; width:82px; height:82px; border-radius:50%; background:var(--surf2); }

/* ══ 도넛 조각 ↔ 범례 양방향 강조 (2026-08-13 p28-g · 사용자 확정) ═══════════════
   짝 파일 = assets/js/donut-legend-link.js (표준 chart 판은 modules.css 에 따로 있다)
   ■ 조각별 요소가 «없다» — 이 도넛은 conic-gradient 한 장이다. 그래서 강조는 겹칸 한 장에
     «그 조각 구간만» 쐐기로 그려 얹는다. JS 가 놓는 것은 아래 세 값뿐이다.
       --donut-highlight-from / --donut-highlight-to  = 조각 구간(%)
       --donut-highlight-color                        = 그 조각의 «제 색»
   ■ 왜 ::before 인가 — ::after 는 이미 가운데 구멍이다(바로 위 :7504). 뒤에 오는 ::after 가
     겹칸 위에 얹혀 가운데를 덮어 주므로 «마스크가 필요 없다». 이 판이 제일 짧은 이유다.
   ■ 왜 inset:-6px 인가 — 겹칸을 고리보다 크게 잡으면 강조된 쐐기만 바깥으로 6px 자라
     보인다(고리 전체가 커지지 않는다 = 「살짝 확대」). 고리에 overflow 가 없어야 하는데
     :7501 에 없다(있으면 잘린다 — 건드리지 말 것).
   ■ 색 두 겹 — 위층은 흰 기운(밝기), 아래층은 그 조각의 제 색(자란 부분이 남의 색이 되지 않게).
   🚫 여기에 조각별 DOM 을 만들지 마라 — 각도 계산 쪽이 요소 수가 0 이고 구멍 판정도 한 줄이다. */
.composition-donut-ring::before {
  content:""; position:absolute; inset:-6px; border-radius:50%; pointer-events:none;
  background:
    conic-gradient(transparent 0 var(--donut-highlight-from,0%),
      rgba(255,255,255,.30) var(--donut-highlight-from,0%) var(--donut-highlight-to,0%),
      transparent var(--donut-highlight-to,0%) 100%),
    conic-gradient(transparent 0 var(--donut-highlight-from,0%),
      var(--donut-highlight-color,var(--line2)) var(--donut-highlight-from,0%) var(--donut-highlight-to,0%),
      transparent var(--donut-highlight-to,0%) 100%);
  opacity:0; transition:opacity .16s ease;
}
.composition-donut-ring.donut-slice-lit::before { opacity:1; }
/* 범례 줄 — 평소에는 자리만 잡아 둔다(음수 여백으로 배치는 그대로·켜질 때 배경만 뜬다) */
.composition-donut-legend > span { padding:2px 6px; margin:-2px -6px; border-radius:6px; transition:background-color .16s ease; }
.composition-donut-legend > span.donut-legend-lit { background-color:var(--surf2); box-shadow:inset 0 0 0 1px var(--line2); font-weight:800; color:var(--ink); }
@media (prefers-reduced-motion:reduce) {
  /* 강조는 «정보»라 남기고 전환만 끈다 — 정보를 지우는 것은 접근성이 아니다 */
  .composition-donut-ring::before, .composition-donut-legend > span { transition:none; }
}
.scatter-plot-legend i { width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.versus-compare-panel:hover { border-color:var(--acc); }
.overlap-venn-diagram-intersection p:last-child { margin-bottom:0; }
.composition-donut-ring b { position:relative; z-index:1; font-size:22px; font-weight:800; letter-spacing:-.03em; line-height:1.15; }
.weakness-chain-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:9px; }
/* 🚨 2026-08-27 56호 — 232px 칸에 "[아이콘+긴 타입명] → [아이콘+weak to+긴 타입명]"이
   한 줄로 다 안 들어가 텍스트가 그대로 잘렸다(예: Colorless→Colorl, Lightning→Lightn).
   원인은 이중이다: ①칸 자체가 좁았고 ②__subtitle/__title 이 display:flex 라
   text-overflow:ellipsis 가 아예 먹지 않아(말줄임표 없이 그냥 잘림) 사용자가 잘린 줄도
   못 알아챘다. 말줄임표 자체도 이름 식별을 해친다는 지휘자 판정(2026-08-27)에 따라
   «줄이는» 대신 «칸을 넓힌다» 쪽을 택한다 — 11종 실제 이름 중 최장 조합(Fighting↔
   Lightning/Colorless 등)이 한 줄에 다 들어가는 값을 실측 후 정함(360px). 모바일(1열)은
   원래도 잘림이 없었으므로(칸=뷰포트 전체) 영향 없음 — 데스크톱 다열에서만 열 수가
   줄어든다(5→3~4). */
.stat-tile-key { display:block; font-size:13px; color:var(--mut); font-weight:600; margin-bottom:3px; }  /* 기준판 */
.overlap-venn-diagram-intersection p b { color:var(--ink); font-weight:800; }
.composition-donut-ring--value { background:var(--dg); }
.weakness-chain-grid>* { min-width:0; }
.stat-tile-value { display:block; font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.05; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }  /* 기준판 */
.composition-donut-ring small { position:relative; z-index:1; display:block; font-size:13px; font-weight:700; color:var(--mut); line-height:1.3; margin-top:3px; max-width:76px; text-align:center; white-space:normal; word-break:keep-all; }
.weakness-chain-row { display:flex; align-items:center; gap:9px; padding:9px 11px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); min-width:0; font-size:14px; }
.stat-tile-subtitle { display:block; font-size:13px; color:var(--mut); margin-top:3px; line-height:1.5; }  /* 기준판 */
.composition-donut-legend { display:flex; flex-direction:column; gap:5px; font-size:13.6px; min-width:200px; flex:1 1 220px; }  /* 다수결20장 */
.weakness-chain-row__subtitle { display:flex; align-items:center; gap:6px; min-width:0; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.primary-action-button { display:flex; align-items:center; justify-content:center; gap:9px; text-decoration:none; padding:12px; border-radius:var(--r-s); background:var(--acc); color:#fff; font-weight:800; font-size:14px; margin-top:12px; }
.composition-donut-legend i { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:7px; vertical-align:-1px; flex:0 0 auto; }
.weakness-chain-row__arrow { width:30px; height:13px; flex:0 0 auto; }
.primary-action-button small { font-weight:600; font-size:13px; opacity:.85; }
.composition-donut-legend span { display:flex; align-items:center; column-gap:9px; color:var(--ink2); }
.weakness-chain-row__title { display:flex; align-items:center; gap:6px; min-width:0; margin-left:auto; color:var(--ink2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.purchase-action-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(clamp(132px,15vw,168px),1fr)); gap:8px; margin-top:12px; }
.page-number-list__key { align-self:center; margin-right:3px; font-size:13px; font-weight:700; color:var(--mut); }
.composition-donut-legend span>i { margin-right:0; flex:0 0 auto; }
.weakness-chain-row--self { border-color:var(--warn); background:var(--warn-s); }
.purchase-action-row>* { min-width:0; }
.composition-donut-legend b { font-variant-numeric:tabular-nums; margin-left:auto; padding-left:14px; white-space:normal; }  /* R83(2026-08-20 W3-CSS 배치3) nowrap 해제 — R4/R82와 동일 처방(고정 대신 줄바꿈 허용) */
.fact-value-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:9px; }
.purchase-action-row .primary-action-button { margin:0; flex-direction:row; align-items:center; justify-content:center; gap:5px; padding:11px 12px; font-size:14px; white-space:nowrap; }
.composition-donut-legend span>b { margin-left:auto; padding-left:14px; white-space:normal; }  /* R83: 위와 동일 처방(이 선택자가 특이성 승자) */
.fact-value-grid>* { min-width:0; }
.purchase-action-row .primary-action-button b { font-weight:800; letter-spacing:-.01em; }
.holo-thumb-popup-grid>* { min-width:0; }
.fact-value-cell { padding:10px 12px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); }
.purchase-action-caveat { margin:7px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
.card-image-tile-grid>* { min-width:0; }
.fact-value-cell__key { font-size:13px; font-weight:700; color:var(--mut); line-height:1.35; }
.primary-action-button--question { background:var(--surf); color:var(--ink); border:1px solid var(--line2); }
.sibling-axis-link-grid>* { min-width:0; }
.fact-value-cell__value { font-size:15px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; line-height:1.4; }
.primary-action-button--question small { color:var(--mut); opacity:1; }
.quick-fact-grid>* { min-width:0; }
/* align-items:stretch — 한 줄에 선 칸들의 «아래 테두리»가 나란히 맞는다(2026-08-09 · P3).
   자 이름의 길이가 제각각이라(「Set」 1줄 · 「Pokédex number」 2줄) 칸 높이가 원래도 갈렸고
   (실측 전: 85.2 / 106.6 · 차 21.4px), 대표 그림 줄이 더해지며 차가 커졌다.
   stretch 로 두면 칸 «상자»는 한 줄 안에서 같은 높이가 되어 격자 리듬이 선다 —
   안쪽 내용은 그대로 위에서부터 쌓인다(내용 배치는 한 글자도 안 바뀐다). */
.axis-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:10px; align-items:stretch; }  /* 최신 */
.outline-action-button { background:var(--surf); color:var(--ink2); border:1px solid var(--line2); border-radius:var(--r-s); font-weight:700; font-size:13px; cursor:pointer; font-family:inherit; text-decoration:none; padding:10px 8px; }   /* 67호 추가관찰(2026-08-28) — 형제 .primary-action-button 과 동일하게 밑줄 제거(잔재 수리) */
.reasoning-step-grid>* { min-width:0; }
.axis-card-grid>* { min-width:0; }
.outline-action-button:hover { border-color:var(--acc); color:var(--ink); }
.composition-donut-stat-panel>* { min-width:0; }
.axis-directory-card { position:relative; display:block; padding:11px 32px 11px 13px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); text-decoration:none; color:inherit; }
.outline-action-button:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.holo-thumb-popup-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.axis-directory-card:hover { border-color:var(--acc); }
.axis-directory-card:focus-visible { border-color:var(--acc); }
.axis-directory-card__title { font-size:15px; font-weight:800; color:var(--ink); margin-bottom:2px; }
.axis-directory-card__subtitle { font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; }
.holo-thumb-popup-grid-cell { display:block; text-decoration:none; color:inherit; padding:8px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); position:relative; perspective:760px; transition:border-color .18s,background .18s,box-shadow .24s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.axis-directory-card__bar { margin-top:6px; height:7px; border-radius:4px; background:var(--line2); overflow:hidden; }
.holo-thumb-popup-grid-cell:hover { border-color:var(--acc); background:var(--acc-s); z-index:6; box-shadow:0 0 0 1px var(--acc); }
.axis-directory-card__bar i { display:block; height:100%; border-radius:4px; background:var(--acc); }
/* ── 자 명부 칸의 «대표 카드» 그림 (2026-08-09 · P3) ──────────────────────────
   ■ 왜 부모(.axis-directory-card)를 안 건드렸나 — 그 이름은 «두 자리»가 쓴다.
     여기(axis-directory.php 의 명부 칸)와 셀 격자의 바깥 칸(axis-cells.php :125 가
     .module-card-grid-page__thumb 와 함께 단다). 부모의 display·padding 을 바꾸면
     명부와 상관없는 셀 격자가 함께 흔들린다. 그래서 «새 자식»만 만들었다.
   ■ 크기 46px = 발명이 아니라 실측 승계다(A18).
     같은 판에 이미 서 있는 «자로 건너가는 링크 카드»의 그림이 46×62.5 다
     (.sibling-axis-link-card__image — 확인판 축 렌더 실측 2026-08-09 · 6칸).
     그 칸과 이 칸은 하는 일이 같다(다른 자로 가는 문 + 그 자를 대표하는 그림 한 장).
     같은 일에 다른 크기를 쓰면 화면에 없는 위계가 생긴다.
     세로는 카드 비율(745/1040)이 정한다 → 46 × 64.2.
   🔒 격자 리듬 유지 — 칸 폭(minmax(196px,1fr))·칸 사이(10px)를 건드리지 않는다.
      그림은 칸 «안»에서 글자 왼쪽에 서고, 막대는 전과 같이 칸 아래를 가로지른다.
   🔒 테두리는 한 겹뿐이다 — 훅 이름(.holo-thumb-popup-thumb__image)이 이미 한 겹을
      지므로 여기서 또 두르지 않는다(이중 테두리 금지). */
.axis-directory-card__lead { display:flex; align-items:flex-start; gap:11px; }
.axis-directory-card__lead-body { flex:1 1 0; min-width:0; }
.axis-directory-card__thumbnail { flex:0 0 auto; display:block; position:relative; width:46px; aspect-ratio:745/1040; border-radius:5px; overflow:hidden; background:var(--surf2); }
.axis-directory-card__thumbnail img { width:100%; height:100%; object-fit:cover; display:block; }
/* ── #browse 명부 카드(link-grid card 변형)의 대표 썸네일 (F46 · 2026-08-22) ──────────
   ■ 무엇인가 — 「Rarity·Print variant·Pokédex number…」 열두 축 카드가 긴 설명 글자만
     이고 그림이 없었다(사용자 지적). 그 축에서 «그림이 있는» 카드 중 최고가 한 장을
     이미지+정보 가로 배치로 얹는다(생성= items/pokemon/hub-template.php $axisTop).
   ■ 왜 새 클래스를 안 만들었나 — link-grid.php(core/template/modules)가 thumb 슬롯을
     받으면 이 이름을 그대로 찍는다(additive — thumb 미전달 호출자는 기존과 바이트 동일).
     썸네일 크기(46px·745:1040 비율·radius 5px)는 위 .axis-directory-card__thumbnail 과
     «같은 일»(다른 자로 가는 카드의 대표 그림)이라 같은 값을 그대로 승계한다(A18 원칙 —
     같은 일에 다른 크기를 쓰면 화면에 없는 위계가 생긴다). 설명 3줄 말줄임은 이미
     modules.css .module-link-grid__card-desc(-webkit-line-clamp:3)가 전 사이트 공통으로
     지고 있어 여기서 새로 만들지 않는다 — 전문은 이 카드에서만 있는 게 아니라 링크가
     가리키는 축 페이지(axis-template.php $meta['what'])에도 그대로 있으므로 잘라도 안전.
   🔒 CSS 위치 = item-modules.css(아이템 스코프) — modules.css(전 사이트 SSOT)는 손대지
      않는다. thumb 를 안 보내는 다른 사이트·다른 섹션의 link-grid 카드에는 이 규칙이
      아예 매치되지 않는다(클래스 자체가 안 찍히므로). */
.module-link-grid__card--thumb { flex-direction:row; align-items:flex-start; text-align:left; gap:11px; }
.module-link-grid__card-thumb { flex:0 0 auto; display:block; width:46px; aspect-ratio:745/1040; border-radius:5px; overflow:hidden; background:var(--surf2); }
.module-link-grid__card-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.module-link-grid__card-body { flex:1 1 0; min-width:0; }
/* 「이 그림이 무엇인가」 — 그림은 제 이름을 말하지 못한다.
   칸 «전체 폭»을 쓴다(그림 옆 93.3px 에서는 이름이 잘렸다 — 조각 주석 참조).
   말줄임은 남긴다 — 아주 긴 이름이 와도 칸을 넘지 않게 하는 마지막 안전선이다. */
.axis-directory-card__dearest { margin-top:7px; font-size:12px; color:var(--mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.holo-thumb-popup-grid-cell:focus-visible { border-color:var(--acc); background:var(--acc-s); z-index:6; box-shadow:0 0 0 1px var(--acc); }
.holo-thumb-popup-grid-cell__image { display:block; position:relative; aspect-ratio:745/1040; border-radius:6px; background:var(--surf2); -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.evolution-chain-diagram-link__caption { flex:1 0 100%; margin:9px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
/* F55(2026-08-22) — 「Where Stage 2 sits, at a glance」(hub-lens-hub.php) 4칸 실증: 항목 수가 6보다
   적으면(셀 페이지는 1~4칸) 그리드는 안 쓰는 열 트랙도 폭을 그대로 차지해 실제 타일이 1/6로
   좁아지고 오른쪽이 빈 채로 남았다 — 제목이 좁은 칸에서 줄바꿈이 심해 «잘린» 것처럼 보이고,
   같은 폭의 막대·계기 그림은 상대적으로 «과하게 넓어» 보이며, 카드마다 실제로 차지하는 폭이
   달라 시작점도 어긋났다. 그리드(열을 전 행이 공유·빈 트랙도 폭을 지킨다)를
   플렉스+줄바꿈(그 줄에 «있는 만큼»만 flex-grow로 폭을 나눠 갖는다)으로 바꾼다 — 6칸이 꽉 찰
   때(허브 페이지)는 폭 계산이 그대로라 회귀 0, 4칸 이하(셀 페이지)일 때만 타일이 줄 전체로
   고르게 펴진다. 열 수(6/4/3/1)·간격(7px)은 기존 값 그대로 — 아래 .data-story-tile 폭 규칙 +
   3개 미디어쿼리(max-width:1000px·700px·430px, 각 " > .data-story-tile { flex-basis:… }")가 짝이다. */
.lens-entry-panel__group { display:flex; flex-wrap:wrap; gap:7px; }  /* 기준판 */
.lens-entry-panel__group > .data-story-tile { flex:1 1 calc((100% - 35px) / 6); }  /* 5개 간격×7px=35px */
.holo-thumb-popup-grid-cell__image::before { content:""; position:absolute; inset:0; border-radius:6px; background:var(--surf2); box-shadow:inset 0 2px 7px rgba(0,0,0,.45); }
.evolution-chain-diagram-link__caption b { color:var(--ink2); font-weight:800; }
.holo-thumb-popup-grid-cell__picture { position:relative; display:block; width:100%; height:100%; border-radius:6px; background-size:cover; background-position:center; transform-origin:50% 100%; transition:transform .3s cubic-bezier(.18,.75,.28,1),box-shadow .3s,filter .3s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.axis-directory-card--self { border-color:var(--acc); background:var(--acc-s); }
.holo-thumb-popup-grid-cell__image:hover .holo-thumb-popup-grid-cell__picture { transform:translateY(-26px)rotateX(9deg)scale(1.06); box-shadow:0 26px 34px -14px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.16); filter:saturate(1.08)contrast(1.03); }  /* R35(2026-08-17 수리2) — 칸 전체(이름·타입·가격 포함) 호버 발동을 이미지 상자(__image) 호버로 축소. __picture 는 __image 의 자식이라 이미지 위 호버는 그대로 발동한다. */
.axis-directory-card--self::after { content:""; display:none; }
.holo-thumb-popup-grid-cell:focus-visible .holo-thumb-popup-grid-cell__picture { transform:translateY(-26px)rotateX(9deg)scale(1.06); box-shadow:0 26px 34px -14px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.16); filter:saturate(1.08)contrast(1.03); }
.question-answer-accordion { display:flex; flex-direction:column; gap:7px; }  /* 기준판 */
.holo-thumb-popup-grid-cell__image::after { content:""; position:absolute; inset:0; border-radius:6px; pointer-events:none; background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42)50%,transparent 62%); background-size:260% 100%; background-position:130% 0; opacity:0; transition:background-position .55s ease-out,opacity .2s; }
.evolution-chain-diagram-link--stack { flex-direction:column; align-items:stretch; gap:13px; }
.question-answer-accordion details { background:var(--surf2); border:1px solid var(--line); border-radius:var(--r-s); padding:11px 14px; }
.holo-thumb-popup-grid-cell__image:hover::after { opacity:1; background-position:-30% 0; transform:translateY(-26px)rotateX(9deg)scale(1.06); }  /* R35(2026-08-17 수리2) — 위와 동일 사유. ::after 는 __image 자신의 가상요소라 셀렉터를 직접 옮긴다. */
.evolution-chain-diagram-link--stack .evolution-chain-diagram-link__row { justify-content:center; flex-wrap:wrap; }
.question-answer-accordion summary { font-size:15px; font-weight:700; cursor:pointer; color:var(--ink); }
.holo-thumb-popup-grid-cell:focus-visible .holo-thumb-popup-grid-cell__image::after { opacity:1; background-position:-30% 0; transform:translateY(-26px)rotateX(9deg)scale(1.06); }
.evolution-chain-diagram-link--stack .evolution-chain-diagram-link__description { padding-left:0; border-left:0; padding-top:13px; border-top:1px solid var(--line); min-width:0; }
.question-answer-accordion p { margin:8px 0 0; font-size:16px; color:var(--ink2); }
.holo-thumb-popup-grid-cell:active .holo-thumb-popup-grid-cell__picture { transform:translateY(-6px)rotateX(3deg)scale(1.01); transition-duration:.08s; }
.sources-card-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:15px; }
.sources-card-list li { padding:10px 12px; background:var(--surf2); border:1px solid var(--line); border-radius:var(--r-s); color:var(--ink2); }
/* N6(2026-08-23 눈검수·사용자) — 그리드 셀 카드명을 «1행 말줄임»→«2행 클램프»로(긴 카드명+번호[N5] 수용·썸네일 여백 여유·가격 1행 아래 유지). white-space:normal+line-clamp:2 로 2행 초과분만 말줄임. */
.holo-thumb-popup-grid-cell__name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:14px; font-weight:800; line-height:1.3; margin-top:7px; white-space:normal; overflow:hidden; }
.holo-thumb-popup-grid-cell__meta { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--mut); margin-top:2px; }
.holo-thumb-popup-grid-cell__value { display:block; font-size:17px; font-weight:800; margin-top:3px; font-variant-numeric:tabular-nums; color:var(--dn); }
.proportion-bar-track { display:block; height:6px; border-radius:3px; background:var(--line2); overflow:hidden; }  /* 기준판 */
.holo-thumb-popup-grid-cell__value small { font-size:13px; color:var(--mut); font-weight:700; }
.card-image-tile-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:7px; touch-action:pan-y; }

/* ══════════════════════════════════════════════════════════════════════════════
   R73(2026-08-20 W3-CSS) 우측 정보 변형 — 「썸네일 좌 · 정보 우」 (thumb-grid.php 짝)
   ──────────────────────────────────────────────────────────────────────────────
   짝 마크업 = core_pk_thumb_tile_info()(thumb-grid.php:79-128). 이 구획의 이름은 그 함수가
   실제로 찍는 것과 1:1 이고, 그 함수가 안 찍는 이름은 만들지 않는다(죽은 클래스 0).
   기본 갈래(.card-image-tile 오버레이 칸)는 한 줄도 건드리지 않는다 — 가이드가 공유한다.

   🔑 왜 전부 `.card-image-tile-grid--info` 아래로 넣는가 (특이성 계산 — 이 구획의 핵심)
      이 변형이 이겨야 하는 기존 규칙이 넷인데 «전부 (0,1,0)» 이고, 그중 셋은 이 자리보다
      «뒤»에 있어 이름만 새로 지어서는 진다:
        · .holo-thumb-popup-thumb__image (:9058) — 큰 그림이 있는 칸에 함께 실리는 팝업 훅이다.
          display:block · aspect-ratio:745/1040 · border · background · radius 9px 를 지고 있어,
          그대로 두면 가로로 누운 정보 칸이 «세로 카드 모양»으로 찌그러지고 상자가 두 겹이 된다.
        · .card-image-fallback (:8429) · .card-image-fallback__name (:8437) — 그림 없는 칸.
        · .axis-count-chip (:9313) — 출신 배지(padding 4px 10px · 14px)를 이 자리 값으로 좁힌다.
        · .card-image-tile-grid 의 반응형 판(:10843·:10884·:11104) — 8·4·6 열로 되돌린다.
      감싸개 이름을 앞에 세우면 (0,2,0) 이 되어 자리와 무관하게 넷을 다 이긴다. 특이성을
      올리려고 !important 를 쓰지 않는다.
   🔒 이중 테두리 금지 ─ 상자는 «칸»(.card-image-tile-info) 하나만 진다. 그림 자리는 테두리를
      안 두고, 그림 없는 칸은 폴백 부품(.card-image-fallback)이 이미 가진 테두리를 그대로 쓴다.
   🔒 13px 하한 ─ 이 구획의 최소 글자는 13px 이다(세트줄·배지·폴백 이름).
   🔒 값은 전부 기존 토큰(var(--*))과 기존 판례의 수다 — 호버는 .ranked-thumbnail-list-feature-cell
      (:6765 border-color:acc · background:acc-s) 판례를 그대로 따르고, 상자 값(padding 8px ·
      border var(--line2) · radius var(--r-s))도 그 판례(:6762)와 같은 수다. */
.card-image-tile-grid.card-image-tile-grid--info {
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
@media (max-width:900px) {
  .card-image-tile-grid.card-image-tile-grid--info { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:560px) {
  .card-image-tile-grid.card-image-tile-grid--info { grid-template-columns: 1fr; }
}

/* 칸 — 썸네일 64px 고정 + 나머지 전부가 정보 열 */
.card-image-tile-grid--info .card-image-tile-info {
  position: relative;  /* W4-ⓓ(2026-08-20) 화살표 ::after 의 기준점 — 팝업 훅이 없는 칸에도 있어야 한다 */
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--line2);
  border-radius: var(--r-s);
  background: var(--surf);
  text-decoration: none;
  color: inherit;
  /* 팝업 훅(:9058)이 함께 실린 칸에서 카드 모양 상자를 되돌린다 — 위 특이성 주석 참조 */
  aspect-ratio: auto;
  overflow: hidden;
  transition: border-color .13s, background .13s;
}
.card-image-tile-grid--info .card-image-tile-info:hover,
.card-image-tile-grid--info .card-image-tile-info:focus-visible {
  border-color: var(--acc);
  background: var(--acc-s);
}

/* 그림 자리 — 테두리를 두지 않는다(칸이 이미 상자다) */
.card-image-tile-grid--info .card-image-tile-info__pic {
  display: block;
  position: relative;
  width: 64px;
  aspect-ratio: 745/1040;
  border-radius: 6px;
  overflow: hidden;
}
.card-image-tile-grid--info .card-image-tile-info__pic img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
/* 그림 없는 칸 — 폴백 부품이 제 상자를 이미 지므로 여기서 상자를 또 만들지 않고,
   좁은 64px 안에서 이름이 «가운데»로 서게 뼈대(3행)만 가운데 정렬로 바꾼다 */
.card-image-tile-grid--info .card-image-fallback {
  display: grid;
  grid-template-rows: none;
  place-content: center;
  padding: 4px;
  text-align: center;
}
.card-image-tile-grid--info .card-image-fallback__name {
  font-size: 13px;
  font-weight: 800;
  color: var(--mut);
  white-space: normal;
  -webkit-line-clamp: 3;
}

/* 정보 열 — 이름·세트·값·출신이 위에서 아래로 */
.card-image-tile-grid--info .card-image-tile-info__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.card-image-tile-grid--info .card-image-tile-info__name {
  display: block;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--ink);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-image-tile-grid--info .card-image-tile-info__set {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--mut);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-image-tile-grid--info .card-image-tile-info__set em { font-style: normal; }
.card-image-tile-grid--info .card-image-tile-info__price {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.card-image-tile-grid--info .card-image-tile-info__price .card-image-tile-badge-label {
  font-size: 13px;
  font-weight: 700;
  opacity: .78;
}
/* 출신 배지 — 칩이 열 폭을 다 먹지 않게 내용 폭으로 세운다 */
.card-image-tile-grid--info .card-image-tile-info__origin {
  align-self: flex-start;
  margin-top: 2px;
  padding: 2px 8px;
  font-size: 13px;
}

/* W4-ⓓ/#11(2026-08-20) 정보 타일에 «상시 링크 신호» — pill 판례의 원형 판을 그대로 옮긴다.
   ■ 왜 — 이 타일은 칸 전체가 카드 페이지로 가는 링크인데(thumb-grid.php:94 <a>) 갈 수 있다는
     표시가 없었다. 같은 사이트의 확정 판례가 이미 있다: .module-link-grid__pill[href^="/"]::after
     (modules.css:14211 · 원형 19px 판에 화살표). 그 값을 그대로 쓴다 — 새 값 0.
   🔒 마크업 무접촉 — 속성 자격 [href^="/"] 로 «진짜 내부 링크일 때만» 붙인다(R52 와 같은 문법).
      주소가 없어 <div> 로 나는 칸에는 안 붙는다(거짓 신호 0).
   🔒 자리 = 칸 오른쪽 위. 타일이 position:relative(:7867 계열)라 기준이 이미 있다.
   🔒 13px 하한 준수 · 토큰은 이 시트 어휘(var(--surf2)/--line2/--mut/--acc)로 옮겨 적는다
      (판례가 시안 원색을 하드코딩한 것은 그 시트가 토큰 밖이기 때문 · 여기서는 토큰이 정본). */
.card-image-tile-grid--info a.card-image-tile-info[href^="/"]::after {
  content: "→";
  position: absolute;
  top: 6px;
  right: 6px;
  display: inline-grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--surf2);
  border: 1px solid var(--line2);
  color: var(--mut);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: transform .13s ease, background .13s ease, color .13s ease;
}
.card-image-tile-grid--info a.card-image-tile-info[href^="/"]:hover::after,
.card-image-tile-grid--info a.card-image-tile-info[href^="/"]:focus-visible::after {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .card-image-tile-grid--info a.card-image-tile-info[href^="/"]::after { transition: none; }
}

/* W4-A1(2026-08-20) 형제 정합 — 곁줄(__card-sub)에도 짝(__card-desc)과 «같은» 줄 제한을 준다.
   modules.css:1332 의 __card-desc 는 -webkit-line-clamp:3 으로 세 줄에서 끊는데, 바로 아래
   :1356 __card-sub 에는 그 장치가 없어 긴 곁줄이 카드 높이를 저 혼자 늘렸다(격자 줄 어긋남).
   🔒 값은 형제에서 그대로 가져온다 — 새 값 0.
   🔒 공용 시트(modules.css)를 고치지 않고 이 사이트 시트에 얹는다 — 전 사이트 카드 높이를
      한꺼번에 바꾸는 변경은 이 레인의 권한 밖이라, 스코프를 tcggrail 로 좁혀 둔다. */
.module-link-grid__card-sub {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.proportion-bar-track--current>i { background:var(--acc-i); opacity:1; }
.proportion-bar-track__more { font-size:13px; font-weight:700; line-height:1; color:var(--mut); text-align:right; }
.card-image-tile { position:relative; display:block; border-radius:7px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); aspect-ratio:745/1040; transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .15s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.card-image-tile img { width:100%; height:100%; object-fit:cover; display:block; }
.card-image-tile:hover { transform:translateY(-9px)scale(1.09); border-color:var(--acc); z-index:5; box-shadow:0 18px 30px -10px rgba(0,0,0,.6); }
.card-image-tile__rank { position:absolute; top:3px; left:3px; font-size:13px; line-height:1.45; font-weight:800; color:#fff; background:rgba(0,0,0,.62); border-radius:5px; padding:0 5px; z-index:2; pointer-events:none; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.card-image-tile__value { position:absolute; bottom:25px; right:3px; font-size:13px; line-height:1.45; font-weight:800; color:#fff; background:rgba(226,60,66,.9); border-radius:5px; padding:0 5px; z-index:2; pointer-events:none; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.card-image-tile__value .card-image-tile-badge-label { font-size:13px; font-weight:700; opacity:.92; }
/* R72(2026-08-20 W3-CSS) 명칭 띠 대비 강화 — 사용자가 실서빙에서 이름을 «못 읽은» 실증에 따른 수리.
   ■ 왜 안 읽혔나 ─ 글자가 앉는 자리(띠 위쪽 절반)의 검정 농도가 .55 였다. 카드 그림은 대부분
     밝고 알록달록해서, 그 위에 흰 13px 글자가 .55 그늘만 깔고 앉으면 형태가 그림에 묻힌다.
   ■ 처분 ─ 새 장치를 더하지 않고 «있던 두 값»만 올린다: 그늘 농도 .55→.74 · 바닥 .88→.96 ·
     글자 굵기 700→800. 부드럽게 사라지는 띠라는 원래 생김새(위쪽 transparent 시작)는 그대로다.
   🔒 글자 크기 13px 는 건드리지 않는다(13px 하한 확정 규칙).
   🔒 캐스케이드 안전 ─ 이 이름의 정의는 :6836(펼친 판)과 여기 둘뿐이고 여기가 «뒤»라 이긴다.
      :4805 의 선택자 목록은 user-select 계열만 정하므로 굵기·바탕과 겹치지 않는다(실측). */
.card-image-tile__name { position:absolute; left:0; right:0; bottom:0; padding:2px 5px 3px; z-index:2; pointer-events:none; font-size:13px; line-height:1.35; font-weight:800; color:#fff; text-align:center; background:linear-gradient(transparent,rgba(0,0,0,.74)38%,rgba(0,0,0,.96)); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.data-story-tile__bars s { position:absolute; bottom:-1px; left:0; right:0; text-align:center; font-size:13px; color:var(--mut); text-decoration:none; transform:translateY(100%); line-height:1.2; }
.list-page-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; flex-wrap:wrap; margin-bottom:12px; }  /* 기준판 */
.list-page-bar .list-scope-caption { font-size:13.4px; color:var(--mut); }  /* 기준판 */
.page-number-list { display:flex; gap:5px; flex-wrap:wrap; }
.page-number-list a { min-width:31px; height:31px; display:grid; place-items:center; border-radius:7px; font-size:13.4px; font-weight:700; border:1px solid var(--line2); background:var(--surf); color:var(--ink2); text-decoration:none; }
.page-number-list a.state-current-active { background:var(--acc); border-color:var(--acc); color:#fff; }
.page-number-list a:hover { border-color:var(--acc); }
.page-number-list .single-page-note { align-self:center; font-size:13px; color:var(--mut); font-weight:600; }
/* 🆕 2026-08-23(눈검수 N2) — card-oppo.php 쪽 넘김 «동작» 결함 수리(지휘자 실측: 넘버링이 장식으로만
   서 있었다 — 비활성 페이지를 숨기는 규칙 0 · 넘버 클릭 핸들러 0, 그래서 전량이 한 화면에 나열됐다).
   기본값(무-JS 포함)으로 0쪽만 남기고 나머지를 숨긴다 — 짝 JS(assets/js/card-oppo.js)가 클릭마다
   인라인 style.display 로 이 값을 덮어써 다른 쪽을 보인다(칸은 지워지지 않는다 · 색인 논리 유지).
   🩹 2026-08-23 재수리(사용자 실측 — 버튼 2 클릭 시 51~100 «전부 사라짐») — showPage() 는 활성 칸에
   style.display='' 을 준다. 빈 문자열은 인라인 «값»이 아니라 인라인 «해제»라 특이도를 안 지고, 그러면
   이 아래 정적 규칙이 non-0 활성 칸에도 다시 이겨 버렸다(옛 주석의 "인라인이 항상 이긴다"는 이 경우엔
   틀렸다 — 실제 값이 있는 style.display='none' 만 항상 이긴다). JS 가 켜지면(.oppo-paged 부여) 이
   정적 규칙 자체를 끄고 표시를 JS 의 인라인 값(0쪽='' · 나머지='none')에 «전담»시킨다 — 무-JS 환경은
   가드가 안 걸려 이 규칙이 그대로 살아 있으므로 0쪽만 보이는 폴백은 변하지 않는다. */
.holo-thumb-popup-thumb:not(.oppo-paged) .holo-thumb-popup-thumb__grid .holo-thumb-popup-thumb__image[data-page]:not([data-page="0"]) { display:none; }
.list-unfold-button { display:inline-block; margin-top:10px; padding:8px 15px; border-radius:var(--r-s); border:1px solid var(--acc); background:var(--acc-s); color:var(--acc-i); font-size:13.6px; font-weight:700; text-decoration:none; cursor:pointer; transition:border-color .15s,color .15s,background .15s; }
.list-unfold-button:hover { border-color:var(--acc-i); background:var(--surf2); color:var(--acc-i); }
details.remaining-list-fold { border:0; background:transparent; margin:0; border-radius:0; margin-bottom:8px; }
.cross-link-list-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
summary.list-unfold-button { cursor:pointer; list-style:none; display:flex; align-items:center; gap:11px; width:100%; box-sizing:border-box; text-align:left; margin-top:0; }
summary.list-unfold-button::-webkit-details-marker { display:none; }
details.remaining-list-fold[open]>summary.list-unfold-button { border-color:var(--line2); background:var(--surf2); color:var(--ink2); }
.cross-link-list-column { padding:13px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
/* R68(2026-08-20 W3-CSS) 이중 테두리 소거 — «상자 안 상자»의 안쪽을 벗긴다.
   ■ 실측 구조 ─ cell-dex-chain.php:61·82 와 hub-chain.php:73 이 둘 다
     `.ranked-thumbnail-list-value-row`(바깥) > `.evolution-chain-diagram-link`(안쪽) 로 싼다.
     바깥이 이미 테두리·바탕·라운드·안여백을 다 지고 있어(:7903) 선이 두 겹으로 그려졌다.
   ■ 처분 ─ 안쪽에서 background·border·border-radius 를 걷는다. 바깥은 그대로 둔다(지시 확정).
   🔍 A-5 박스 4종 점검 결과 ─ 남긴 것은 padding:14px 하나뿐이다. 테두리와 바탕이 함께 사라지면
      안여백은 «칠할 것이 없어» 상자로 보이지 않고 칸 사이 숨결로만 남는다(How-far-apart 때
      배경·라운드가 남아 상자가 살아 있던 경우와 다르다). 라운드는 칠할 테두리·바탕이 없어
      아무것도 깎지 않는 죽은 선언이라 함께 지운다(overflow:hidden 도 여기 없다 — 실측). */
.evolution-chain-diagram-link { --chw:200px; display:flex; align-items:center; gap:20px; margin-bottom:12px; padding:14px; }
.cross-link-list-column h3 { margin:0 0 4px; font-size:15px; }
.cross-link-list-column .cross-link-list-scope { margin:0 0 10px; font-size:13px; color:var(--mut); }
.evolution-chain-diagram-link__row { display:flex; align-items:flex-start; gap:10px; flex:0 1 auto; flex-wrap:wrap; }
.cross-link-list-column ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.evolution-chain-diagram-link__description { flex:1 1 0; min-width:300px; padding-left:20px; border-left:1px solid var(--line); }
.cross-link-list-column li { display:flex; justify-content:space-between; gap:8px; font-size:13px; padding:6px 8px; background:var(--surf); border:1px solid var(--line2); border-radius:7px; }
.evolution-chain-diagram-link__title { display:block; font-size:14.6px; font-weight:800; margin-bottom:7px; }
.cross-link-list-column a { color:var(--ink2); text-decoration:none; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); }
.evolution-chain-diagram-link__description ul { margin:0; padding-left:17px; font-size:14px; color:var(--ink2); line-height:1.7; }
.cross-link-list-column a:hover { color:var(--acc-i); text-decoration:underline; }
.evolution-chain-diagram-link__description li { margin-bottom:2px; }
.cross-link-list-column b { font-variant-numeric:tabular-nums; flex:none; }
.evolution-chain-diagram-link__description b { color:var(--ink); font-weight:800; }
.cross-link-list-column .cross-link-list-more-link { display:flex; margin-top:8px; font-size:13px; color:var(--acc-i); text-decoration:none; font-weight:700; align-items:center; gap:5px; }
.content-section-block>.section-lead-paragraph { margin:0 0 15px; color:var(--ink2); font-size:16px; line-height:1.7; }
.evolution-chain-diagram-link__content { width:var(--chw); text-align:center; flex:0 0 auto; perspective:700px; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.evolution-chain-diagram-link__picture { display:block; width:100%; aspect-ratio:745/1040; border-radius:7px; border:1px solid var(--line2); background-size:cover; background-position:center; transform-origin:50% 100%; transition:transform .26s cubic-bezier(.18,.75,.28,1),box-shadow .26s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.two { display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.evolution-chain-diagram-link__content:hover .evolution-chain-diagram-link__picture { transform:translateY(-14px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.6); }
.body-prose-block { display:grid; grid-template-columns:minmax(0,1fr)288px; column-gap:26px; align-items:start; }
.evolution-chain-diagram-link__name { display:block; font-size:14px; font-weight:800; margin-top:5px; line-height:1.3; text-decoration:none; color:inherit; }
.body-prose-block>p { grid-column:1; margin:0 0 13px; color:var(--ink2); font-size:16px; line-height:1.78; }
.evolution-chain-diagram-link__meta { display:flex; align-items:center; justify-content:center; gap:4px; font-size:13px; color:var(--mut); margin-top:1px; }
.body-prose-block>p:last-of-type { margin:0; }
.evolution-chain-diagram-link__arrow { flex:0 0 auto; width:36px; height:36px; display:grid; place-items:center; color:var(--acc); margin-top:calc(var(--chw)* 1040 / 745 / 2 - 18px); }
.body-prose-block strong { color:var(--ink); }
/* F17(2026-08-22 눈검수 배치3) — 인라인 텍스트 링크(문장 안에 박힌 카드명·세트명 등)는 카드/타일처럼
   화살표 배지를 달 자리가 없다(문장 흐름을 깨뜨림) → 밑줄로 「링크임」을 표시(F1 화살표 체계와 짝
   — 카드/타일=화살표, 문장 내 링크=밑줄). 프로즈 컨테이너(sec-prose 모듈 출력 = .body-prose-block)
   본문 <p> 안의 링크에 한정(다른 곳의 무밑줄 링크 회귀 0 — 카드/타일 <a>는 이 셀렉터에 안 걸림). */
.body-prose-block p a { text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1.5px; }
.body-prose-block p a:hover { color:var(--acc); }
/* F18 + 클릭카드 구분(2026-08-22 눈검수 배치3 · F18=재발·사용자 신규 「클릭카드 구분」 병합) —
   .module-link-grid__pill(허브/축 헤더 「Every X in the archive」 등 전 인스턴스가 공유하는 클릭
   타일)이 투명(흰) 배경 + 옅은 테두리라 같은 판의 「정보 칸」과 구분이 안 됨. modules.css 원본은
   이 옅은 배경을 「호버 시에만」 낸다(:1264-1270) — 그 옅은 배경을 기본(비호버) 상태로 승격한다.
   팔레트도 함께 정합: 원본 hover 색(#eff6ff/#2563eb/#1e40af)은 이 사이트 톤(vault 계열)이 아니라
   다른 사이트 공유분(modules.css)의 파랑이다(사용자 확정: 팔레트 밖이면 테마 조화 톤으로) → 이
   시트(tcggrail 전용 item-modules.css)에서 --surf2/--acc-s/--acc 로 재정의한다. 선례 = 같은 문법을
   이미 쓰는 .sibling-axis-link-card(:7481 — 기본 상태부터 --surf2 배경)와 정합시킨 것뿐, 새 문법 0.
   item-modules.css 는 modules.css 뒤에 로드되어(loader.php:142) 같은 특이도에서 이 규칙이 이긴다
   (새 !important 0). */
.module-link-grid__pill {
  background: var(--surf2);
  border-color: var(--line2);
  color: var(--acc-i);
}
.module-link-grid__pill:hover {
  background: var(--acc-s);
  border-color: var(--acc);
}
.module-info-box .module-link-grid__pill,
.module-info-box a.module-link-grid__pill {
  color: var(--acc-i);
}
.module-info-box .module-link-grid__pill:hover,
.module-info-box a.module-link-grid__pill:hover {
  color: var(--acc-i);
  background: var(--acc-s);
  border-color: var(--acc);
}
.evolution-chain-diagram-link__arrow svg { width:100%; height:100%; display:block; fill:none; stroke:currentColor; stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round; }
/* 🆕 2026-08-10(r7) 델타 화살표 — 마디 사이 증분 글자를 획 «아래»에 세운다.
   ── 신규 이름 2개를 만든 사유(명명 3규칙 준수: 밑동 = 그 모듈 이름 · 줄임말 0 · 직관명)
      기존 어휘에 「사슬 화살표에 붙는 증분 라벨」이 없다. 가장 가까운 .*__meta 는 «칸»의
      곁줄이라 자리가 다르고(칸 아래), 그것을 이 자리에 쓰면 칸 곁줄과 화살표 곁줄이 한
      이름을 나눠 갖게 되어 어느 쪽을 고치는지 이름으로 갈리지 않는다.
   ■ width 를 풀어 준다 — 본체는 36px 고정이라 「+40 HP · +60 damage」가 잘린다. 최소 폭만
     지키고 글자만큼 늘어나게 한다(획 자체는 아래 svg 규칙이 36px 로 붙든다).
   ■ 13px 하한 준수 · 색은 획과 같은 강조색(같은 뜻을 지는 둘이 같은 색을 진다). */
.evolution-chain-diagram-link__arrow--with-increment { width:auto; min-width:36px; height:auto; grid-auto-flow:row; justify-items:center; row-gap:2px; }
.evolution-chain-diagram-link__arrow--with-increment svg { width:36px; height:36px; }
.evolution-chain-diagram-link__arrow-increment { font-style:normal; font-size:13px; font-weight:800; line-height:1.15; color:var(--acc); white-space:nowrap; font-variant-numeric:tabular-nums; }
.calculation-basis-aside { grid-column:2; grid-row:1/span 99; align-self:start; padding:13px 15px 14px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); position:sticky; top:calc(var(--chrome-h, 96px) + 16px); max-height:calc(100vh - var(--chrome-h, 96px) - 32px); overflow:auto; }
/* 🩹 2026-08-11(p28) ⑩ 「그때 ↔ 지금」 두 장이 데스크톱에서도 세로로 쌓이던 결함의 뿌리.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 이 규칙은 3열 격자를 «선언»해 놓고(왼 칸 auto 오른 칸) 정작
     display 를 block 으로 두었다. block 상자에서 grid-template-columns 는 아무 일도 하지
     않으므로 세 자식(기준 칸 · 가운데 화살표 · 견줄 칸)이 그냥 위아래로 쌓인다.
     실측(수리 전 · 1280px): 두 칸의 top 이 372.12px 벌어져 있었다 — 맞세운 그림이 아니라
     그냥 카드 두 장이 세로로 놓인 화면이었다.
   ■ 이 규칙이 «의도»는 격자였다는 증거 — 좁은 화면 규칙(:10393 max-width:760 · :10960)이
     `grid-template-columns:1fr` 로 «1열로 되돌린다». 되돌릴 격자가 애초에 없었던 것이다.
     짝인 .versus-compare-panel-compact(:7949)는 같은 구조에 display:grid 로 제대로 서 있다.
   ■ 수리 = display 만 grid 로 고친다. 열 폭·간격·정렬은 이미 이 규칙이 들고 있던 값 그대로다.
     데스크톱 = minmax(180px,1fr) auto minmax(180px,1fr) 로 카드 1장 vs 1장이 나란히 서고,
     ≤760px 에서는 위 규칙이 1열로 되돌려 세로가 유지된다(모바일 요구와 충돌하지 않는다).
   🔒 값을 새로 짓지 않았다 — 한 낱말(block→grid)만 바꿨다. */
.versus-compare-panel { display:grid; grid-template-columns:minmax(180px,1fr)auto minmax(180px,1fr); gap:14px; align-items:center; padding:11px 12px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin-bottom:12px; text-decoration:none; color:inherit; position:relative; padding-right:30px; }  /* 기준판 */
.calculation-basis-entry__title { margin:0 0 9px; font-size:13px; font-weight:800; letter-spacing:.05em; color:var(--mut); }
.calculation-basis-entry__label { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.calculation-basis-entry__label li { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:6px 0; border-bottom:1px solid var(--line); font-size:13px; color:var(--mut); font-weight:600; }
.calculation-basis-entry__label li:last-child { border-bottom:0; }
.calculation-basis-entry__label li b { font-size:14px; font-weight:800; color:var(--ink); letter-spacing:-.02em; text-align:right; }  /* R36-정정(2026-08-18) — home.php:800 "The biggest groups"(Pikachu·177 등) 값 우측정렬 override. justify-content:space-between(:7759)가 이미 값을 행 끝에 붙이지만, 사용자가 명시적 우측정렬을 재지시(좌측 유지 판정 철회)해 text-align도 명시로 못박는다(회귀 0 — 값 텍스트 자체는 이미 한 줄이라 정렬 변화 없이 안전판만 추가). */
.calculation-basis-entry__name { margin:9px 0 0; font-size:13px; line-height:1.6; color:var(--mut); }
.versus-compare-side { text-align:center; perspective:700px; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; min-width:0; }
/* 🔧 p28-f(2026-08-13) T — VS 패널 카드가 «왼쪽 위 귀퉁이만» 보이던 결함
   ■ 뿌리 = 같은 선언 블록 «안»에서 줄임말이 앞의 낱말을 지웠다
     이 줄은 background-size:cover 와 background-position:center 를 먼저 적고, 맨 끝에서
     background:var(--surf2) 라는 «줄임말»을 다시 적고 있었다. background 줄임말은 적지 않은
     낱말을 전부 처음값으로 되돌리므로(사양), 앞서 적은 cover·center 가 그 자리에서 지워진다.
     실측(CDP · cell set sv4pt5 · 1280px·390px) — 상자 132×184.27(비 0.7163 = 745/1040 정확)인데
     computed background-size:auto · background-position:0% 0% → 큰 원본이 제 크기 그대로
     왼쪽 위에 얹혀 카드의 «귀퉁이»만 보였다. 상자는 멀쩡했으므로 비율만 재는 판정식은 이걸 못 잡는다.
   ■ 수리 = 줄임말을 낱말로 바꾼다(background → background-color). 바탕색은 그림이 없을 때
     자리를 지키는 색이라 그대로 두되, 그림의 크기·자리를 더 이상 지우지 않는다.
   🔒 새 값 0 · 새 규칙 0 — 있던 선언 한 개의 «이름»만 좁혔다.
   🔒 같은 병 계보 = 허브 히어로 정사각 잘림(p26 · 뒤에 온 선언이 앞의 aspect-ratio 를 무력화).
      뒤에 온 선언이 앞을 지우는 같은 문법 사고이므로, 이 시트에서 줄임말 background 를
      쓰는 자리는 앞에 background-size/position 이 있는지 함께 본다(census = 아래 T-census 주석). */
.versus-compare-side__picture { width:132px; aspect-ratio:745/1040; border-radius:8px; border:1px solid var(--line2); display:block; margin:0 auto; background-color:var(--surf2); background-size:cover; background-position:center; object-fit:cover; transform-origin:50% 100%; transition:transform .26s cubic-bezier(.18,.75,.28,1),box-shadow .26s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; overflow:hidden; }
.versus-compare-side img { width:132px; aspect-ratio:745/1040; border-radius:8px; border:1px solid var(--line2); display:block; margin:0 auto; background-size:cover; background-position:center; object-fit:cover; transform-origin:50% 100%; transition:transform .26s cubic-bezier(.18,.75,.28,1),box-shadow .26s; }
.versus-compare-side:hover .versus-compare-side__picture { transform:translateY(-14px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.6); }
/* R-versusnone(2026-08-23 · coder 지시서) — 무이미지 폴백 슬롯 크기 보정.
   .versus-compare-side__picture--none 는 core_pk_dex_pic()(cell-dex-kit.php:48)가 img='' 일 때
   자동으로 붙이는 클래스인데, 이 규칙이 없어 안쪽 .card-image-fallback(자체 aspect-ratio:745/1040·
   자체 border·자체 background — :8777)이 부모의 132px×aspect(745/1040) 슬롯을 못 채우고 이중
   테두리·이중 배경으로 겹쳐 자리가 밀렸다. 같은 병(부모 슬롯 vs card-image-fallback 자체 치수 충돌)을
   이미 고친 형제 규칙과 같은 문법으로 맞춘다(예: .holo-thumb-popup-thumb__image--none:11916-11917 ·
   .gainers-losers-board__image--none:10020·10026 · .evolution-chain-diagram-link__picture--none:11900-11901).
   ①부모의 자체 테두리·배경을 지워 이중 박스를 없앤다 ②안쪽 폴백을 부모 슬롯에 꽉 채우고
   aspect-ratio 를 auto 로 풀어 745/1040 강제를 해제한다(부모가 이미 그 비율이다) ③radius 는
   부모(:8235 8px)와 맞춘다. 이미지 있는 변형(.versus-compare-side__picture 자체·img 자식)은 무변경. */
.versus-compare-side__picture--none { border:0; background:transparent; }
.versus-compare-side__picture--none .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:8px; }
.price-trend-line-titled-box { padding:15px; background:var(--surf2); border:1px solid var(--line); border-radius:var(--r); margin:0 0 12px; }
.versus-compare-side:hover img { transform:translateY(-14px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.6); }
.price-trend-line-titled-box figcaption { margin:0 0 10px; font-size:15px; font-weight:700; color:var(--ink2); }
.versus-compare-side__rank { display:block; font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; margin-bottom:15px; }
.price-trend-line-titled-box svg { display:block; width:100%; height:170px; }  /* 기준판 */
.versus-compare-side--current .versus-compare-side__rank { color:var(--acc-i); }
.versus-compare-side--opponent .versus-compare-side__rank { color:var(--gold,var(--mut)); }  /* 기준판 */
.versus-compare-side__name { display:block; font-size:14px; font-weight:800; margin-top:6px; }
.versus-compare-side__meta { display:block; align-items:center; justify-content:center; gap:5px; font-size:13px; color:var(--mut); margin-top:2px; }  /* 기준판 */
.versus-compare-middle { display:flex; flex-direction:column; align-items:center; gap:9px; min-width:0; padding:0 6px; }  /* 기준판 */
.versus-compare-middle__arrow { width:52px; height:44px; display:grid; place-items:center; color:var(--dn); }
.versus-compare-middle__arrow svg { width:100%; height:100%; display:block; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
.versus-compare-middle__title { font-size:19px; font-weight:800; color:var(--ink); letter-spacing:-.02em; text-align:center; }  /* 기준판 */
.versus-compare-middle__subtitle { font-size:15px; color:var(--ink2); text-align:center; line-height:1.55; }
.versus-compare-middle__subtitle b { font-size:23px; font-weight:800; display:inline-block; margin-top:2px; }
.versus-compare-middle__versus { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; font-size:17px; font-weight:800; letter-spacing:.04em; color:var(--mut); border:2px solid var(--line2); background:var(--surf2); }
.versus-compare-middle--versus { gap:9px; }
.reasoning-step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:12px; }
.reasoning-step-card { padding:12px 13px; border-radius:var(--r-s); background:var(--surf2); border:1px solid var(--line2); border-top:3px solid var(--acc); }
.reasoning-step-card--bad { border-top-color:var(--dn); }
.reasoning-step-card--good { border-top-color:var(--up); }
.reasoning-step-card__name { font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--mut); }
.reasoning-step-card__title { font-size:14.6px; font-weight:800; margin-top:3px; line-height:1.35; }
.reasoning-step-card__description { font-size:14px; color:var(--ink2); margin-top:4px; line-height:1.55; }
/* 🩹 2026-08-11(p28-b) ⑫ — 선언된 칸 간격이 집 안 자(≤12px)를 넘어 있었다.
   실측(수리 전 · 축 artist 1280px): 순번↔그림 · 그림↔본문 · 본문↔값 세 자리가 모두 14px.
   같은 계열의 형제 행(artist-row 10px · card-row 10px · gap-row 11px)과 이 줄만 어긋났다.
   🔒 안여백·테두리·정렬은 그대로다. 바뀌는 것은 칸 사이 2px 뿐이다. */
/* R24-c(2026-08-20 W3) 감싸개 디박스 — ⚠️ 이 이름은 «두 역할»을 겸한다(실측 확인).
   ─────────────────────────────────────────────────────────────────────────────
   ① 감싸개 <div> — 진화 사슬·갈래 대표 카드 격자를 감싸는 판
        cell-dex-chain.php:61 · cell-dex-vc.php:61 · cell-dex-kit.php · axis-podium.php:268
   ② 누르는 행 <a> — 그 자체가 링크인 목록 한 줄
        axis-rows.php:230
   지시는 «이 판을 제거»이고, 같은 지시의 census 기준은 «개별 타일 배경(누르는 카드)은 제거 대상
   아님 — 상호작용 윤곽»이다. 두 조건을 함께 지키는 길은 «상자를 링크 쪽으로 옮기는» 것뿐이라,
   상자 네 값(padding·border·radius·background)을 밑동에서 걷어 바로 아래 a. 규칙으로 내렸다.
   ▶ 결과: 감싸개(div)는 상자가 사라지고, 누르는 행(a)은 종전과 «한 픽셀도» 다르지 않다.
   ▶ 만약 누르는 행까지 벗기는 것이 본래 의도라면 아래 a. 규칙만 지우면 된다(지휘자 판정 대기).
   🔒 :8503 `:has(>__heading){display:block;padding:0}` 는 그대로 둔다 — 제목을 인 감싸개를
      세로 흐름으로 되돌리는 «배치» 규칙이라 상자와 무관하다(지우면 제목이 옆으로 붙는다). */
.ranked-thumbnail-list-value-row { margin-bottom:16px; display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink2); }  /* 다수결17장 · R24-c */
a.ranked-thumbnail-list-value-row { padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-s); background:var(--surf); }  /* R24-c(2026-08-20 W3) 상호작용 윤곽 유지 */
.ranked-thumbnail-list-value-row__heading { display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; margin-bottom:8px; padding-bottom:7px; }  /* R24(2026-08-17): 점선 밑줄 제거 — 패딩은 유지(회귀 0) */
.ranked-thumbnail-list-value-row__value { font-size:15.5px; font-weight:800; letter-spacing:-.02em; flex:0 0 auto; text-align:right; }
.ranked-thumbnail-list-value-row__meta { font-size:14px; color:var(--mut); }
.sibling-axis-link-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.sibling-axis-link-card:hover { transform:translateY(-3px); border-color:var(--acc); background:var(--surf); }
.sibling-axis-link-card__image { width:46px; flex:0 0 auto; display:grid; place-items:center; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.sibling-axis-link-card__image img { width:100%; border-radius:5px; display:block; border:1px solid var(--line2); }
.sibling-axis-link-card__body { min-width:0; }
.sibling-axis-link-card__title { display:block; font-size:14px; font-weight:800; line-height:1.3; }
.sibling-axis-link-card__description { display:block; font-size:13px; color:var(--mut); margin-top:1px; }
.sibling-axis-link-card__extra { display:block; font-size:13px; color:var(--acc-i); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sibling-axis-link-card__arrow { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }
.sibling-axis-link-card__arrow::after { content:"→"; }
.sibling-axis-link-card:hover .sibling-axis-link-card__arrow { background:var(--acc); color:#fff; transform:translateX(2px); }
.sibling-axis-link-card:focus-visible .sibling-axis-link-card__arrow { background:var(--acc); color:#fff; transform:translateX(2px); }
.block-followup-note { font-size:13px; color:var(--mut); margin:8px 0 0; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; }
table { border-collapse:collapse; width:100%; min-width:540px; font-size:15px; }  /* 기준판 */
/* ⚠️ 머리 정렬만 시안 기본값(left)을 «쓰지 않는다» — 2026-08-13 p28-g W5 보정(지휘 판정).
   사용자 확정 규칙 「표 머리는 전열 가운데」가 시안 기본값보다 위다(머리는 이름표라 칸 폭이
   달라도 같은 자리에서 읽혀야 한다). 나머지 시안 값(13px·대문자·흐린색·여백·테두리·무줄무늬)은
   그대로다. 이 한 줄을 left 로 되돌리면 수식자 없는 표 전부가 어긋난다. */
th { padding:9px 14px; text-align:center; border-bottom:1px solid var(--line); border-left:1px solid color-mix(in srgb,var(--line2)45%,transparent); border-top:1px solid var(--line); border-right:1px solid color-mix(in srgb,var(--line)60%,transparent); font-size:13px; letter-spacing:.05em; color:var(--mut); text-transform:uppercase; font-weight:700; }  /* 기준판 + 머리정렬 보정 */
td { padding:9px 14px; text-align:left; border-bottom:1px solid var(--line); border-left:1px solid color-mix(in srgb,var(--line2)45%,transparent); border-top:1px solid var(--line); border-right:1px solid color-mix(in srgb,var(--line)60%,transparent); }  /* 기준판 */
th:first-child { border-left:0; }
.price-trend-line-legend { display:flex; gap:14px; margin-top:9px; font-size:13px; color:var(--mut); flex-wrap:wrap; }
td:first-child { border-left:0; }
.price-trend-line-legend i { display:inline-block; width:11px; height:3px; border-radius:2px; margin-right:5px; vertical-align:3px; }
thead th { font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--mut); font-weight:700; border-bottom:2px solid var(--line2); }
.visual-box-table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:linear-gradient(to right,var(--surf2)30%,transparent)left / 28px 100% no-repeat,linear-gradient(to left,var(--surf2)30%,transparent)right / 28px 100% no-repeat,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.22),transparent)left / 12px 100% no-repeat,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.22),transparent)right / 12px 100% no-repeat,var(--surf2); position:relative; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scroll-snap-type:x proximity; background-attachment:local,local,scroll,scroll,local; }
/* ── 표의 «마감선» — 마지막 줄 아래가 열려 있던 것 (2026-08-09 · 사용자 검수) ──────
   ■ 무엇이 보였나 — 규모 구간 표(Size band / {무리} / Cards they hold)의 마지막 줄
     아래에 선이 없어, 표가 끝난 것이 아니라 «잘린» 것처럼 보였다.
   ■ 원인 = 바로 이 한 줄이었다. 시안에서 이 표는 «테두리 있는 상자» 안에 앉아 있어
     상자의 아래 획이 마감선 노릇을 했고, 그래서 마지막 줄의 선을 껐다. 라이브의
     감싼 상자(.table-scroll-frame)에는 그 테두리가 없다(전 시트 실측: 규칙 2건 —
     둘 다 margin 뿐). 상자를 두고 온 채 「상자가 있으니 꺼도 된다」는 규칙만 따라온 것이다.
   ■ 마감선 값 = 발명이 아니라 «이 코드가 이미 쓰는 표 문법»이다. 셋이 한 값으로 모인다:
       .module-table          tbody tr:last-child td → border-bottom:2px  (:9685 · 표준 표)
       .module-calc-detail    같은 자리               → border-bottom:2px  (:9553)
       .module-table--salary  같은 자리               → border-bottom:2px  (:9634)
     굵기는 그 셋을 따르고, 색은 이 표 «자신의» 경계선 색을 쓴다 — 머리줄 아래 획이
     이미 `2px solid var(--line2)`(:7664)라, 위아래 두 경계가 같은 굵기·같은 색으로 맞물린다.
   🔒 표준 표(.module-table)는 영향이 없다 — 제 규칙을 !important 로 지고 있어 그대로 이긴다. */
tbody tr:last-child td { border-bottom:2px solid var(--line2); }
td.table-number-cell { font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; font-weight:700; }
caption { text-align:left; padding:14px 16px 10px; font-weight:700; font-size:14px; }
tr.state-current-active td { background:var(--acc-s); }
tr.state-current-active td:first-child { font-weight:800; }
.table-share-inline-bar { display:flex; justify-content:flex-start; align-items:center; gap:8px; }
th:last-child { border-right:0; }
.table-share-inline-bar b { flex:0 0 auto; font-weight:700; margin-left:auto; }  /* R-lanchor(2026-08-18) — 막대는 좌측앵커(flex-start)로 채우되 숫자는 셀 우측 엣지로(사용자 「왼쪽 채움 + 우측정렬 숫자」·가이드 표와 일치). margin-left:auto 가 막대와 숫자 사이 여백을 흡수해 숫자를 오른쪽으로 민다. */
td:last-child { border-right:0; }
.inline-mini-bar { display:grid; height:7px; border-radius:4px; background:var(--acc); flex:0 0 auto; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:9px; padding-top:9px; border-top:1px solid var(--line); }  /* 기준판 */
.official-source-quote { margin:0 0 12px; padding:12px 14px; border-left:3px solid var(--acc); background:var(--acc-s); border-radius:0 var(--r-s)var(--r-s)0; font-size:16px; color:var(--ink); }
.official-source-quote b { font-weight:800; letter-spacing:-.01em; display:block; font-size:18px; line-height:1.55; }  /* 다수결19장 */
tbody tr:hover { background:var(--surf); }
.official-source-quote span { display:block; font-size:13px; color:var(--mut); margin-top:6px; font-weight:400; }
.bar-segment-emphasis { background:var(--acc-s); }
.caution-note-callout { margin:0 0 12px; padding:12px 14px; border-left:3px solid var(--warn); background:var(--warn-s); border-radius:0 var(--r-s)var(--r-s)0; font-size:14.6px; color:var(--ink); }
.visual-box-table-scroll--matrix td:first-child { border-right-color:var(--line2); }
.energy-cost-ladder-step { display:flex; flex-direction:column; gap:8px; }
.visual-box-table-scroll--matrix th:first-child { border-right-color:var(--line2); }
.energy-cost-ladder-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
/* 줄 이름 칸 — 폭을 «부르는 쪽»이 정할 수 있게 변수로 연다(2026-08-10 r5).
   기본값 62px 는 셀 기둥 판의 「1 energy」에 맞춘 폭이고 그대로 남는다(그 두 판 계산값 동일).
   성능판은 이 자리에 기술 «이름»을 넣어 늘 두 줄로 접혔다(실측 「Super Psy / Bolt」 62×44.2px).
   🔒 새 클래스를 만들지 않는다 — 값 하나를 변수로 바꾼 것뿐이고, 변수를 안 주면 전과 같다. */
.energy-cost-ladder-row .list-scope-caption { flex:0 0 var(--ladder-label-w,62px); font-size:13.4px; color:var(--mut); font-weight:700; }
.attribute-distribution-label-row { display:flex; justify-content:space-between; font-size:13px; margin-bottom:4px; gap:10px; }  /* 기준판 */
.energy-cost-ladder-row .energy-cost-ladder-row-symbol-slot { display:flex; gap:4px; }
/* R46(2026-08-20 W3-CSS) 로고와 장터 이름을 «한 줄 브랜드 단위»로 — offer-dist.php:62-76 처방의 시트 짝.
   뿌리 = `.marketplace-logo` 가 display:flex(:3885·:4591) 라 인라인 span 안에서 «블록 상자»로 서고
   앞뒤 줄을 끊는다 → 로고만 첫 줄, 글자는 다음 줄. R38 이 판매처 행에서 쓴 처방과 동일:
   담는 칸을 가로 흐름으로 만들고(display:flex) 배송말만 다음 줄로 내린다(flex:0 0 100%).
   SSOT = 이 한 곳(:5061 의 죽은 중복 정의는 같은 회차에 제거). */
.attribute-distribution-label { color:var(--ink2); font-weight:600; min-width:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }  /* 기준판 */
.attribute-distribution-label__shipping-note { flex:0 0 100%; font-size:13px; font-weight:600; color:var(--mut); }  /* R46(2026-08-20 W3-CSS) */
.energy-cost-ladder-row .energy-cost-ladder-row-note { font-size:14px; color:var(--ink2); }
.energy-cost-ladder-row .energy-cost-ladder-row-note b { color:var(--ink); font-variant-numeric:tabular-nums; }
.energy-cost-ladder-row--active { background:var(--acc-s); border-radius:var(--r-s); padding:7px 9px; margin:-7px -9px; }
details { border:1px solid var(--line); border-radius:var(--r-s); background:var(--surf2); margin-bottom:6px; padding:11px 14px; }
.attribute-distribution-bar-fill--group { background:var(--gold); }
summary { padding:11px 13px; font-size:16px; font-weight:700; cursor:pointer; list-style:none; }  /* 기준판 */
.dn2 { margin:4px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }
details p { margin:10px 0 0; padding:0 13px 12px; font-size:16px; color:var(--ink2); line-height:1.72; }  /* 기준판 */
/* 🩹 2026-08-11(p28-b · 범위 밖 ④ 승인 수리) 이름 충돌 — «작은 번호 칩»이 «카드 칸»의 이름을 쓰고 있었다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 이 규칙의 내용물(min-width 26px · 단자폭 글꼴 · padding 2px 5px ·
     margin-right 6px · inline-block)은 누가 봐도 «글자 두어 자짜리 칩»이다. 그런데 이름이
     .ranked-thumbnail-list-feature-cell 이라, 허브의 «카드 칸»(그림+이름+곁수치+값을 세로로 담는
     큰 칸 · card-row.php:67 이 내는 그것)에 그대로 걸렸다. 이 규칙이 «뒤»라 이겼다.
     실측(수리 전 · 허브 1280px): 카드 칸이 자기 규칙의 padding 8px 이 아니라 이 칩의
     padding 2px 5px 를 쓰고 있었고, 글꼴도 단자폭(ui-monospace)을 뒤집어썼다.
   ■ 왜 «개명»이 답인가 — 지우면 이 칩의 생김새가 사라지고, 그냥 두면 카드 칸이 계속 오염된다.
     둘이 서로 다른 것이므로 이름을 갈라 주는 것이 뿌리 수리다(단축명 금지·분별 가능한
     직관명 규칙 · 2026-08-08 확정). 새 이름 = .compact-ordinal-badge(작은 순번 칩).
   ■ 사용처 전수 치환 = «0건» — 이 칩 모양을 내는 마크업이 스코프 어디에도 없다
     (feature-cell 을 내는 곳은 card-row.php «한 곳»뿐이고 그것은 카드 칸이다).
     즉 이 규칙은 개명 시점에 화면을 하나도 안 그린다 — 이름만 바로잡아 오염을 끊는다.
     🔎 남은 일: 이 칩의 «진짜 주인» 마크업이 어디선가 짧은 이름으로 살아 있을 수 있다
        (개명 회차가 이 이름을 여기에 잘못 얹은 흔적이다). 주인이 나타나면 이 이름을 쓰면 된다.
   🔒 선언은 한 글자도 안 바꿨다 — 이름만 갈랐다. */
.compact-ordinal-badge { display:inline-block; min-width:26px; text-align:center; font-size:13px; font-weight:800; letter-spacing:.04em; padding:2px 5px; margin-right:6px; border-radius:4px; background:var(--surf2); color:var(--ink2); border:1px solid var(--line2); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; vertical-align:1px; text-decoration:none; perspective:760px; transition:border-color .18s,background .18s; }  /* 기준판 */
.ranked-thumbnail-list-card-rows { border:1px solid var(--line); border-radius:var(--r-s); background:var(--surf2); margin-top:12px; overflow:hidden; }
.pr { list-style:none; margin:0 0 6px; padding:0; display:flex; flex-direction:column; gap:7px; }
/* 🩹 2026-08-11(p28-b) ⑫ — 고정 폭 칸이 «글자를 옆 칸 위로» 흘려보내고 있었다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 뒤 두 칸이 78px·62px 고정인데, 그 칸의 글(세트 이름·배수 설명)은
     `overflow:visible`(데이터 값 말줄임 금지 조항 :6512 의 짝)이라 넘쳐도 안 잘린다.
     그래서 「Dragon Frontiers #100」이 칸을 넘어 옆의 「$4,000.00」 위로 67.98px 파고들었다
     (실측 · 셀 dex 1280px · 한 쪽에서 48건). 이것은 p28 에서 artist-row 를 고친 것과 «같은 병»이다
     — 그때 세운 처방(칸을 제 내용 폭으로)을 여기에도 그대로 쓴다.
   ■ 첫 칸(56px)도 함께 auto 로 — 그 칸에 서는 썸네일은 행 높이에 눌려 33.3px 로 정해지므로
     56px 은 22.7px 이 남고, 그 여백이 그림과 이름 사이 «빈 골»로 보였다(같은 회차 :11504 참조).
   ■ 실측 대조(셀 dex 1280px · 글자 교차 건수):
       현재 48 → auto…auto auto 0 · 56px…auto auto 0 · auto…max-content 0  (셋 다 0)
     가장 적게 바꾸면서 두 병(빈 골·넘침)을 다 없애는 조합을 골랐다.
   🔒 가운데 두 칸(1fr·225px)은 그대로다 — 이름 칸이 남는 폭을 가져가는 구조도 그대로다.
   🔒 좁은 폭(≤700px·≤520px)의 3열 재구성(:10476·:10498)은 손대지 않았다. */
.ranked-thumbnail-list-card-row { display:grid; grid-template-columns:auto minmax(0,1fr)225px auto auto; gap:10px; align-items:center; padding:7px 12px; border-top:1px solid var(--line); font-size:15px; color:var(--ink2); text-decoration:none; min-width:0; position:relative; }  /* 다수결12장·다수결20장·다수결9장 */
/* 🔧 p28-f(2026-08-13) U — 「랭크 숫자와 카드 썸네일 사이 여백이 너무 넓다」(사용자)
   ■ 실측이 말한 것 (CDP · cell set sv4pt5 «Every … card with a price on file» 50행 · 1280px)
       열   auto | minmax(0,1fr) | 225px | auto | auto            ← 다섯 칸
       자식 그림 · 랭크 · 이름 · 곁줄 · 수치 · 꼬리표                ← 여섯 개
     칸이 하나 모자라 여섯째(꼬리표)가 «둘째 줄»로 밀렸고, 더 나쁜 것은 늘어나는 칸(1fr)이
     이름이 아니라 «랭크»에 걸렸다는 점이다 — 랭크 상자가 774.63px 로 부풀어, 한 자리 숫자
     뒤에 750px 짜리 빈 골이 생겼다(사용자가 본 그 여백). 이름은 225px 에 갇혀 잘렸다.
   ■ 왜 이렇게 됐나 — 위 줄(다수결판)은 «랭크·그림·이름·값·곱» 다섯 자식짜리 행(list-row)을
     기준으로 정해졌다. 그런데 같은 이름을 쓰는 다른 행(cell-dex-list · cell-rarity-vis)은
     그림·랭크·이름·곁줄·수치·꼬리표 여섯 자식이다. 한 이름에 두 모양이 살면서, 칸을 정하는
     쪽이 한 모양만 보고 정한 것이 뿌리다(:6429·:6451 주석이 경고한 바로 그 사고).
   ■ 수리 — «그림을 진 행»에만 칸을 여섯으로 편다. 앞 두 칸을 둘 다 auto 로 두었으므로
     그림이 먼저 오든 랭크가 먼저 오든 각자 제 내용 폭을 갖고, 늘어나는 칸은 이름이 가진다.
     🔒 위 다수결 줄은 그대로 둔다 — 다섯 자식 행의 모양을 바꾸지 않는다(회귀 0).
     🔒 :has() 는 이 시트가 이미 쓰는 문법이다(:도넛 격자 판정) — 새 문법 도입 0.
     🔒 새 값 0 — 225px·auto·minmax(0,1fr) 은 전부 위 줄이 이미 지고 있던 값이다.
   ■ 조건이 «그림 + 이름» 두 개인 이유 — 그림만으로 가르면 list-row 의 촘촘한 행(그림 ·
     이름을 감싼 span · 값 · 곱 = 자식 넷)까지 걸린다. 그 행은 이름을 __name 이 아니라
     감싸개 안의 __name-oneline 으로 세우므로, «직계 __name 이 있는가»가 여섯 자식 모양을
     정확히 갈라낸다(실측: cell-dex-list · cell-rarity-vis · list-row 순위판 셋만 해당).
   ⚠️ 이 규칙의 «자리»는 파일 맨 끝이다(p28-f-2 에서 옮겼다) — 뒤에 오는
      `.visual-block-box > … > .ranked-thumbnail-list-card-row`(네 칸판)과 굵기가 같아(0,3,0),
      여기 두면 뒤엣것이 이긴다. 실제로 작가 셀의 그 목록이 여섯 자식인데 네 칸에 눌려
      두 줄로 접혔다. 실체는 파일 끝 「p28-f-2 U 재배치」 구획에 있다. */
.pr li { display:grid; grid-template-columns:40px 1fr 72px; gap:9px; align-items:center; border-radius:5px; outline-offset:3px; }
.ranked-thumbnail-list-card-row:first-child { border-top:0; }
.pr li:hover { background:color-mix(in srgb,var(--acc)7%,transparent); }
.ranked-thumbnail-list-card-row:hover { background:var(--surf); color:var(--ink); }  /* 다수결20장 */
.pr li:focus-visible { background:color-mix(in srgb,var(--acc)7%,transparent); }
.ranked-thumbnail-list-card-row>* { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pr li:hover .prb { opacity:.62; }
.ranked-thumbnail-list-card-row__rank { font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; }
.pr li:focus-visible .prb { opacity:.62; }
.ranked-thumbnail-list-card-row__name { font-weight:700; color:var(--ink); }
.prtip { position:absolute; left:50%; bottom:calc(100% + 9px); transform:translate(-50%,4px); z-index:5; min-width:186px; padding:8px 11px; border-radius:8px; background:var(--ink); color:var(--surf); font-size:13px; font-weight:600; line-height:1.62; text-align:center; white-space:nowrap; box-shadow:0 8px 20px rgba(0,0,0,.28); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .14s ease,transform .14s ease; }
.ranked-thumbnail-list-card-row__subtitle { font-size:13px; color:var(--mut); }
.prtip::after { content:""; position:absolute; top:100%; left:50%; margin-left:-5px; border:5px solid transparent; border-top-color:var(--ink); }
.ranked-thumbnail-list-card-row__description { font-weight:800; color:var(--dn); font-variant-numeric:tabular-nums; text-align:right; overflow:visible; text-overflow:clip; font-size:14px; }  /* 다수결19장 */
.prtip b { font-weight:800; }
.ranked-thumbnail-list-card-row__title { font-size:13px; color:var(--mut); text-align:right; overflow:visible; text-overflow:clip; }  /* 다수결19장 */
.pr li:hover .prtip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.pr li:focus-visible .prtip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.prl { font-size:13px; font-weight:700; color:var(--mut); text-align:right; }
.prt { position:relative; height:14px; border-radius:4px; background:var(--surf2); border:1px solid var(--line); }
.prb { position:absolute; top:0; bottom:0; background:var(--acc); opacity:.35; border-radius:3px; }
.prd { position:absolute; top:50%; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; border-radius:50%; background:var(--dn); box-shadow:0 0 0 2px var(--surf); }
.prv { font-size:13px; font-weight:700; color:var(--ink2); text-align:right; }
.ranked-thumbnail-list-card-row__picture { box-sizing:border-box; position:relative; display:block; width:28px; height:31px; border-radius:4px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); aspect-ratio:745/1040; align-self:center; left:12px; top:7px; }  /* 다수결8장·다수결4장·다수결7장 */
.pra { display:flex; justify-content:space-between; font-size:13px; color:var(--mut); padding:0 81px 0 49px; }
.ranked-thumbnail-list-card-row__picture img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.ranked-thumbnail-list-card-row__picture--none { border:0; background:transparent; }
.ranked-thumbnail-list-card-row__picture--none .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:4px; }  /* 다수결8장 */
.gtx { display:contents; }
.page-share-links-block__heading { margin:0 0 10px; font-size:14px; font-weight:700; color:var(--ink); }  /* 기준판 */
.page-share-links-block__label { display:flex; flex-wrap:wrap; gap:8px; }
.page-share-links-block__button { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border:1px solid var(--line); border-radius:8px; background:var(--surf2); font:inherit; font-size:13px; font-weight:600; color:var(--ink2); text-decoration:none; cursor:pointer; }  /* 기준판 */
.page-share-links-block__button:hover { border-color:var(--acc); color:var(--acc-i); }
:where(.content-section-block,.app-layer-panel,.page-summary-box)>* { margin-bottom:12px; }
/* ── 표 전체 정렬 «사용자 확정 예외» (2026-08-09) ────────────────────────────
   부르는 쪽이 data 계약에서 align 을 말하면 조각이 이 이름을 단다
   (items/pokemon/modules/cell-artist-spec.php 참조 — 왜 계약 층인지 거기 적혀 있다).
   표준(A19)은 「수는 오른쪽」이고 그 규칙은 그대로다 — 이 이름을 단 표만 예외다.
   🔒 :first-child 로 왼쪽을 되돌리는 규칙(td:first-child)이 없는 표라 th·td 를 함께 잡는다. */
.table-scroll-frame--align-center th,
.table-scroll-frame--align-center td { text-align:center; }
.table-scroll-frame--align-left th,
.table-scroll-frame--align-left td { text-align:left; }
.table-scroll-frame--align-right th,
.table-scroll-frame--align-right td { text-align:right; }
/* 🚨 수 칸은 «따로» 적는다 — td.table-number-cell(:7667)이 text-align:right 을 지고 있고
   그 선택자는 위 규칙과 «가중치가 같다»(클래스1+타입1). 가중치가 같으면 시트에서 뒤에 온
   쪽이 이기는데, 그 승패를 줄 순서에 맡기면 시트를 한 번 재배열하는 순간 조용히 뒤집힌다.
   가중치로 이기게 못 박는다(클래스2+타입1). */
.table-scroll-frame--align-center td.table-number-cell { text-align:center; }
.table-scroll-frame--align-left   td.table-number-cell { text-align:left; }
.content-section-block>.table-scroll-frame { margin-bottom:12px; }
.content-section-block>.holo-thumb-popup-grid { margin-bottom:12px; }
/* 🩹 2026-08-11(p28-b) ⑪ — 이 «마지막 요소 하단 여백 0» 규칙에 .entry-content 를 더한다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 사용자 지적 — 홈(/)의 「Share this page」 아래 여백만 눈에 띄게 크다(축 페이지는 정상).
   ■ 실측(1280px · share 하단에서 조상 사슬을 층별로 떴다):
       홈      share → SECTION.content-section-block(mb 32px) → .entry-content → .inside-article(pb 26px)
       세트 축 share → .entry-content → .inside-article(pb 26px)          ← 중간 층이 «없다»
       그래서 홈만 inside-article 하단이 26px 이 아니라 58px(=26+32) 였다.
   ■ 왜 홈만인가 — 홈은 공유 조각을 «구역 상자»로 한 겹 감싸고, 축·허브는 본문에 바로 놓는다.
     그 구역 상자가 :7320 의 `margin-bottom:32px` 을 지는데, 본문의 «마지막» 자식일 때도
     그 여백이 그대로 남았다. 즉 결함은 홈의 여백값이 아니라 «마지막인데도 여백을 문» 것이다.
   ■ 왜 새 규칙을 안 만드나 — 이 줄이 이미 그 일을 하는 규칙이다. 다만 적용 범위가
     구역 상자·앱층 판·요약 상자 «안»으로만 한정돼 있어, 본문(.entry-content) 바로 아래
     마지막 자식은 아무도 안 봤다. 과거 수리가 «갈래에 미전파»된 사례라, 고칠 곳은
     새 선택자가 아니라 이 목록이다(사용자 지시: 범위 확장).
   🔒 부작용 검토 — .entry-content 의 마지막 자식은 어느 갈래에서나 «본문의 끝»이다.
      그 아래 여백은 inside-article 의 padding-bottom 26px 이 이미 진다. 따라서 이 확장은
      모든 갈래에서 같은 리듬을 만든다(홈만 특별대우 0). */
:where(.content-section-block,.app-layer-panel,.page-summary-box,.entry-content)>*:last-child { margin-bottom:0; }
.content-section-block>.table-scroll-frame:last-child { margin-bottom:0; }
.content-section-block>.holo-thumb-popup-grid:last-child { margin-bottom:0; }
.content-section-block>.composition-donut-ring-box:last-child { margin-bottom:0; }
.content-section-block>.block-followup-note:last-child { margin-bottom:0; }
.content-section-block>.list-page-bar:last-child { margin-bottom:0; }
.content-section-block>details.remaining-list-fold:last-child { margin-bottom:0; }
summary::-webkit-details-marker { display:none; }
/* 🩹 2026-08-11(p28-b) ⑧-1 — 전역 «+ / −» 글자 표식을 없앤다(사용자 확정: 글자 기호 금지).
   ─────────────────────────────────────────────────────────────────────────────
   ■ 여기 있던 두 줄: `summary::after{content:" +";color:var(--mut);float:right}` ·
     `details[open] summary::after{content:" −"}`
   ■ 무엇이 어긋났나 — 이 규칙은 «모든» <summary> 에 붙는다. 그래서 정본 셰브론 부품을 쓰는
     세 갈래에도 그 옆에 회색 「+」가 하나 더 떠 있었고, 셰브론이 없는 세트 축에서는
     그 «+» 하나가 유일한 표식이 되어 사용자가 펼침 자리를 못 찾았다(사용자 지적).
     즉 이 두 줄은 정본 표식을 «보조»한 적이 없고, 어디서는 중복이고 어디서는 오해였다.
   ■ 수리 = 지운다. 표식은 도형 하나로 통일한다 — .unfold-chevron(26px 원·강조색 실선·SVG
     셰브론·펼치면 180° 회전 :7957). 이 회차에 마지막 이탈 갈래(axis-rows :189)까지
     그 부품으로 옮겼으므로, 지워도 표식 없는 접기는 남지 않는다(전수 census 4/4 정본).
   🔒 ::-webkit-details-marker 숨김은 그대로 둔다 — 브라우저 기본 삼각형을 지우는 규칙이라
      이것까지 지우면 셰브론 «옆»에 기본 삼각형이 되살아난다. */
.page-footer-band { margin-top:26px; padding:20px 22px 24px; border-top:1px solid var(--line); background:var(--surf2); }
.year-histogram-strip .year-histogram-column-year-label { line-height:1.2; }
.footer-link-grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); margin-top:4px; }
.ranked-thumbnail-list-gap-rows { margin-bottom:12px; }
.footer-link-grid h3 { margin:0 0 8px; font-size:13px; letter-spacing:.07em; text-transform:uppercase; color:var(--mut); }
.ranked-thumbnail-list-gap-rows__heading { display:flex; align-items:center; gap:11px; padding:10px 13px; border:1px solid var(--line); border-bottom:0; border-radius:var(--r-s)var(--r-s)0 0; background:var(--surf); }
.footer-link-grid ul { list-style:none; margin:0; padding:0; font-size:13.5px; line-height:1.9; }
.ranked-thumbnail-list-gap-rows__body { flex:1 1 auto; min-width:0; }
.footer-link-grid a { color:var(--ink2); text-decoration:none; text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); }
.ranked-thumbnail-list-gap-rows__title { display:block; font-size:14.6px; font-weight:800; line-height:1.3; color:var(--ink); }
.legal-notice-line { margin:18px 0 0; font-size:13px; color:var(--mut); line-height:1.7; }
.ranked-thumbnail-list-gap-rows__description { display:block; font-size:13px; color:var(--mut); margin-top:2px; }
.footnote-block-grid { margin-top:30px; display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); }
.ranked-thumbnail-list-gap-rows>.ranked-thumbnail-list-card-rows--peek { margin-top:0; border-radius:0; }
.footnote-block { background:var(--surf); border:1px solid var(--line); border-radius:var(--r); padding:17px 18px; margin:0 0 12px; font-size:14px; color:var(--ink2); line-height:1.7; }  /* 기준판 */
.ranked-thumbnail-list-gap-rows>details.remaining-list-fold { margin-bottom:0; }
.footnote-block .footnote-block__heading { margin:0 0 10px; font-size:16px; font-weight:800; color:var(--ink); }  /* 기준판 */
.ranked-thumbnail-list-gap-rows>details.remaining-list-fold>summary.list-unfold-button { border-radius:0 0 var(--r-s)var(--r-s); margin-top:0; width:100%; }
.footnote-block p { margin:0 0 10px; font-size:16px; color:var(--ink2); line-height:1.7; }  /* 기준판 */
.ranked-thumbnail-list-gap-rows>details.remaining-list-fold[open]>summary.list-unfold-button { border-radius:0; }
.footnote-block p:last-child { margin:0; }
.ranked-thumbnail-list-gap-rows>details.remaining-list-fold>.ranked-thumbnail-list-card-rows { margin-top:0; border-top:0; border-radius:0 0 var(--r-s)var(--r-s); }
.ranked-thumbnail-list-gap-rows>.ranked-thumbnail-list-card-rows--peek:first-child { border-radius:var(--r-s)var(--r-s)0 0; }
.ranked-thumbnail-list-group-header__body { flex:1 1 auto; min-width:0; }
.ranked-thumbnail-list-group-header__title { display:block; font-size:14.6px; font-weight:800; line-height:1.3; }
.ranked-thumbnail-list-group-header__description { display:block; font-size:13px; color:var(--mut); margin-top:2px; }
.deep-dive-panel a { text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:color-mix(in srgb,currentColor 55%,transparent); }
.ranked-thumbnail-list-group-header__picture { display:flex; gap:5px; flex:0 0 auto; }
.ranked-thumbnail-list-group-header__side-note { flex:0 0 auto; font-size:13px; color:var(--mut); }
.cross-link-list-column a:focus-visible { text-decoration:underline; }
.unfold-chevron { flex:0 0 auto; display:grid; place-items:center; width:26px; height:26px; border-radius:999px; background:var(--surf); border:1px solid var(--acc); transition:transform .18s,border-color .15s; }
.footer-link-grid a:hover { text-decoration:underline; color:var(--acc-i); }
.unfold-chevron svg { width:15px; height:15px; display:block; fill:none; stroke:var(--ink2); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.footer-link-grid a:focus-visible { text-decoration:underline; }
details[open]>summary>.unfold-chevron { transform:rotate(180deg); border-color:var(--acc); }
details[open]>summary>.unfold-chevron svg { stroke:var(--acc-i); }
.block-followup-note a:focus-visible { text-decoration:underline; }
summary.list-unfold-button:hover .unfold-chevron { border-color:var(--acc); }
.distribution-bar-label-row a:hover { text-decoration:underline; }
.unfold-count-badge { flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; padding:2px 10px; border-radius:999px; background:var(--acc); color:#fff; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; }
.distribution-bar-label-row a:focus-visible { text-decoration:underline; }
details[open]>summary .unfold-count-badge { background:var(--surf2); color:var(--mut); }
.deep-dive-panel a:hover { text-decoration:underline; }
.year-rail-card-thumbnail { position:relative; display:block; width:42px; flex:0 0 auto; border-radius:5px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); aspect-ratio:745/1040; cursor:pointer; transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .15s; }  /* 다수결18장 */
.deep-dive-panel a:focus-visible { text-decoration:underline; }
.year-rail-card-thumbnail img { width:100%; height:100%; object-fit:cover; display:block; }
/* 🚨 클래스가 아니라 «속성»으로 건다 — 판정식 여럿이 자리 클래스와 그림 클래스를 «붙은 채 통째로» 맞춰 세고 있어,
   클래스를 한 글자라도 더하면 그 판정이 대상 자체를 못 찾는다(사전 실측). ⚠️ 이 주석에 그 문자열을 예시로 적지 않는다 — 그림 CSS 를 고르는 가드가 주석 속 예시까지 «불린 그림»으로 세어 빌드가 멈춘다(2026-07-31 실증).
   🔧 2026-08-08 «원천 수리»(지휘자 승인) — 이 주석이 열리지도 닫히지도 않은 채로 이식돼 있었다.
      원문 시안에서 앞 줄이 «닫는 주석 기호»로 일찍 닫히는 바람에 이 문단이 주석 «밖» 글자로 남았고,
      이식기가 그것을 선택자로 읽어 아래 규칙의 선언 블록을 두 벌로 복제해 붙였다(수리 전 :7691 은 이 문단
      앞부분이 선택자, :7692 는 뒷부분 + 고아가 된 «닫는 기호»가 선택자). 둘 다 무효 선택자라
      «규칙이 통째로 소실»된 상태였다.
      🔒 이 주석 안에 그 «닫는 기호» 두 글자를 절대 적지 않는다 — 적는 순간 여기서 주석이 끊겨
         똑같은 사고가 재발한다(2026-08-08 수리 도중 실제로 한 번 재발시켰다가 판정식이 잡아냈다).
      증상 = data-ent 앵커가 밑줄 + 브라우저 기본 링크색으로 렌더(축 렌더 56개·카드 렌더 187개).
      바로 아래 :focus-visible 짝만 살아남아 있던 것이 이 진단의 확증이었다.
      고친 것은 «주석 경계»뿐 — 선언값은 한 글자도 바꾸지 않았다. */
a[data-ent] { text-decoration:none; color:inherit; cursor:pointer; }
.next-step-link-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:16px 0 0; padding-top:13px; }  /* R24(2026-08-17): 점선 구분선 제거 — 패딩은 유지(회귀 0) */
a[data-ent]:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.next-step-link-row__key { font-size:13px; font-weight:800; letter-spacing:.04em; color:var(--mut); margin-right:2px; }
.elink { color:var(--acc-i); text-decoration:none; border-bottom:1px solid color-mix(in srgb,var(--acc)42%,transparent); }
.next-step-link-row a { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:999px; border:1px solid var(--line2); background:var(--surf); color:var(--ink2); font-size:13px; font-weight:700; text-decoration:none; transition:border-color .13s,background .13s,color .13s; }
.elink:hover { border-bottom-color:var(--acc); }
.next-step-link-row a::after { content:"→"; opacity:.75; font-weight:800; }
.elink:focus-visible { border-bottom-color:var(--acc); }
.next-step-link-row a:hover { border-color:var(--acc); background:var(--acc-s); color:var(--acc-i); text-decoration:none; }
b .elink { font-weight:inherit; }
.next-step-link-row a:focus-visible { border-color:var(--acc); background:var(--acc-s); color:var(--acc-i); text-decoration:none; }
strong .elink { font-weight:inherit; }
.next-step-link-row a:hover::after { opacity:1; }
a.rail__c { text-decoration:none; color:inherit; border-radius:var(--r-s); padding:4px 2px; }
.next-step-link-row a:focus-visible::after { opacity:1; }
a.rail__c:hover { background:var(--surf2); }
.price-trend-line-hover-layer--fit svg { height:auto; aspect-ratio:600/130; }
a.rail__c:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.year-histogram-strip .year-histogram-column { appearance:none; -webkit-appearance:none; font:inherit; color:inherit; background:transparent; border:0; padding:0; margin:0; cursor:pointer; position:relative; }
.year-histogram-strip .year-histogram-column:focus-visible { outline:2px solid var(--acc); outline-offset:2px; border-radius:4px; }
.year-histogram-strip .year-histogram-column:focus-visible .year-histogram-column-bar { background:var(--acc-i); }
.year-histogram-strip .year-histogram-column .price-trend-line-tooltip { left:50%; top:auto; bottom:calc(100% + 6px); transform:translate(-50%,4px); }  /* p24: top:auto — :9438 기본 규칙이 top·bottom 동시 지정이라 이 문맥(--yp 없음→top:0)에서 상자가 21px로 눌려 글이 막대 위로 넘쳤다(차트 문맥들의 bottom:auto와 같은 해제) */
.year-histogram-strip .year-histogram-column:hover .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.year-histogram-strip .year-histogram-column:focus-visible .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.year-histogram-strip .year-histogram-column:active .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.year-histogram-strip .year-histogram-column:first-child .price-trend-line-tooltip { left:0; transform:translate(0,4px); }
.compact-value-bar-row--current code { color:var(--dn); }
.year-histogram-strip .year-histogram-column:first-child:hover .price-trend-line-tooltip { transform:translate(0,0); }
.year-histogram-strip .year-histogram-column:first-child:focus-visible .price-trend-line-tooltip { transform:translate(0,0); }
.data-story-tile::after { content:none; position:absolute; top:10px; right:11px; font-size:13px; font-weight:800; color:var(--mut); opacity:.5; transition:opacity .13s ease,transform .13s ease,color .13s ease; }
.year-histogram-strip .year-histogram-column:first-child:active .price-trend-line-tooltip { transform:translate(0,0); }
.data-story-tile:hover::after { opacity:1; color:var(--acc-i); transform:translateX(2px); }
.year-histogram-strip .year-histogram-column:last-child .price-trend-line-tooltip { left:auto; right:0; transform:translate(0,4px); }
/* 🩹 2026-08-11(p28-b · 범위 밖 ① 승인 수리) 좁은 화면에서 문서가 «가로로» 밀리던 유일한 원인.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 말풍선은 제 기둥에 «가운데»로 선다(left:50% + translate(-50%)).
     기둥은 31px 인데 말풍선은 172~183px 이라 절반(86px)이 기둥 밖으로 나간다. 맨 끝 기둥은
     위 :last-child 규칙이 오른쪽에 붙여 막아 두었지만, «끝에서 두 번째» 기둥은 아무도 안 막았다.
     실측(스테이징 · 열 12/13 = :nth-last-child(2)): 390·480px 에서 12.73px · 600px 에서 3.03px
     화면 밖으로 나가 문서 전체에 가로 스크롤을 만들었다. 그 페이지에서 «문서를 넓히는 요소는
     이것 하나»였다(전수 조사 결과 1건).
   ■ 왜 폭을 줄이는 것으로는 안 되나 — 지시서의 처방(min-width 완화)을 네 가지로 실측했더니
     넘침이 12.73 → 10.66px 로만 줄었다(min-width:0 · max-width clamp 포함). 말풍선의 실제 폭은
     min-width 172px 가 아니라 «글 내용»이 정하는 183.2px 이라, 폭 규칙으로는 못 줄인다.
     즉 이것은 «폭» 문제가 아니라 «어디에 붙느냐» 문제다 — 그래서 자리로 고친다.
   ■ 수리 = 위 :last-child 가 이미 쓰는 «오른쪽 붙임»을 끝에서 두 칸까지 넓힌다(같은 문법 재사용).
     실측 대조(오른쪽 넘침 / 문서 가로 넘침):
       360·390·480px  12.73px·있음 → 0px·없음     600px  3.03px·있음 → 0px·없음
       1280px         0px·없음     → 0px·없음(변화 0)
   🔒 값을 새로 짓지 않았다 — left/right/transform 세 값 모두 위 줄에서 그대로 가져왔다. */
.year-histogram-strip .year-histogram-column:nth-last-child(-n+2) .price-trend-line-tooltip { left:auto; right:0; transform:translate(0,4px); }
.year-histogram-strip .year-histogram-column:nth-last-child(-n+2):hover .price-trend-line-tooltip,
.year-histogram-strip .year-histogram-column:nth-last-child(-n+2):focus-visible .price-trend-line-tooltip,
.year-histogram-strip .year-histogram-column:nth-last-child(-n+2):active .price-trend-line-tooltip { transform:translate(0,0); }
.data-story-tile:focus-visible::after { opacity:1; color:var(--acc-i); transform:translateX(2px); }
.year-histogram-strip .year-histogram-column:last-child:hover .price-trend-line-tooltip { transform:translate(0,0); }
.year-histogram-strip .year-histogram-column:last-child:focus-visible .price-trend-line-tooltip { transform:translate(0,0); }
.year-histogram-strip .year-histogram-column:last-child:active .price-trend-line-tooltip { transform:translate(0,0); }
.year-histogram-strip { overflow:visible; display:flex; align-items:flex-end; gap:3px; height:196px; padding:14px 12px 8px; background:var(--surf2); border:1px solid var(--line); border-radius:var(--r-s); margin-bottom:12px; }
/* 🔧 p26(2026-08-11) 여백 수리 — 순번+썸네일 칸(88px)과 이름 칸 사이 틈이 58px 로 벌어져 있었다
   (CDP 실측 1280px: 그림 우변 52px → 이름 좌변 110px). 첫 칸이 88px 인 것은 머리줄 라벨
   「…card」가 한 줄로 서는 폭이 필요해서다(:8070 부근 주석 — 그 폭은 그대로 둔다). 그림은
   40px 그대로 두고 justify-self:end 로 칸의 «오른쪽»에 붙인다 — 그러면 그림과 이름 사이는
   격자 gap(10px)만 남고, 남는 여백은 칸의 왼쪽(행 앞머리)으로 옮겨간다(모바일 46px 칸은
   여백이 6px 뿐이라 사실상 안 보인다). 값 발명 0 — 폭·간격 수는 그대로, 자리만 바꾼다. */
.ranked-thumbnail-list-artist-row__picture { position:relative; display:block; width:40px; aspect-ratio:745/1040; border-radius:5px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); flex:0 0 auto; justify-self:end; }
.ranked-thumbnail-list-artist-row__picture img { width:100%; height:100%; object-fit:cover; display:block; }
.ranked-thumbnail-list-artist-row__picture b { position:absolute; left:0; top:0; padding:0 5px; border-radius:0 0 5px 0; background:rgba(0,0,0,.66); color:#fff; font-size:13px; font-weight:800; line-height:1.45; font-variant-numeric:tabular-nums; }
.ranked-thumbnail-list-artist-row__picture--none { border:0; background:transparent; }
.ranked-thumbnail-list-artist-row__picture--none .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:5px; }
/* 🩹 2026-08-11(p28) ⑫ 행 정렬 전수 검수에서 잡힌 «한 뿌리» — 손으로 넣은 -3px 이 과했다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 이 배지는 `vertical-align:-3px` 로 «아래로 3px» 밀려 있었다.
     같은 줄에 선 다른 글자들의 시각 중심은 서로 0.5px 안에 모여 있는데 이 배지만 3.23px
     아래에 앉는다(실측 · 축 artist 1280px: 이웃 평균 5302.77 vs 배지 5306.00).
     한 줄에 든 것 중 «하나만» 내려앉으면 줄이 기울어 보인다.
   ■ 어디에 퍼져 있었나 — 이 배지를 쓰는 두 변형(artist-row 465행 · share-row 142행)이
     같은 값으로 함께 틀어져 있었다. 칸마다 고치지 않고 부품 한 곳에서 뿌리를 고친다.
   ■ 왜 «지우는» 것이 수리인가 — 네 갈래를 실제로 재 보고 골랐다(값을 지어내지 않았다):
        현재(-3px) 편차 3.23px · -1px 1.31px · middle 2.06px · baseline(기본값) 0.31px
     기본값으로 되돌리는 것이 가장 잘 맞는다. 즉 이 줄은 «없어야 맞는» 손질이었다.
   🔒 다른 값은 한 자도 안 건드린다 — 크기·색·테두리·간격 전부 그대로다. */
.row-entrance-arrow-badge { flex:0 0 auto; margin-left:7px; display:inline-grid; place-items:center; width:19px; height:19px; border-radius:999px; background:var(--surf2); border:1px solid var(--line2); color:var(--mut); font-size:13px; font-weight:800; line-height:1; }
a:hover .row-entrance-arrow-badge { border-color:var(--acc); color:var(--acc-i); }
/* B-4(2026-08-14 눈검수 #11·#17·#18) — 카드형 <a> 타일 전용 변형. 위 .row-entrance-arrow-badge
   (원형 19px·중립색)를 그대로 상속하고 카드 우상단에 절대 배치해 «호버 전에도 상시 표시»한다
   (§11 보강 — 정본 5-l). 부모 카드는 position:relative 필요(module-link-grid__card 보강 완료 —
   modules.css:1305 근처). 밑줄은 카드형 링크 밑줄 방어 규칙(:5788 이하)이 별도로 진다. */
.row-entrance-arrow-badge--card {
  position: absolute;
  top: 10px;
  right: 10px;
  margin-left: 0;
  transition: transform .13s ease, background .13s ease, color .13s ease, border-color .13s ease;
}
a:hover .row-entrance-arrow-badge--card,
a:focus-visible .row-entrance-arrow-badge--card {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
  transform: translateX(2px);
}
/* F1(2026-08-21 눈검수) — 같은 페이지 #앵커용 변형. 정답 참조 = .data-story-tile__go::after
   (:10250)의 4시반 회전(rotate(45deg)) — 새 도형 없이 기존 글자「→」를 돌려 ↘로 읽히게 한다.
   호버 규칙은 transform 을 통째로 대체하므로(값을 더하지 않음) 위 :hover/:focus-visible 규칙이
   그대로 걸리면 회전이 지워지고 수평(→ 꼴)으로 순간 회전한다(W-B5-2·:9673 실증 버그) — 그래서
   앵커 변형은 회전을 유지한 채 색만 바뀌도록 아래에서 다시 못박는다(specificity 로 확실히 이김). */
.row-entrance-arrow-badge--anchor { transform: rotate(45deg); }
a:hover .row-entrance-arrow-badge--card.row-entrance-arrow-badge--anchor,
a:focus-visible .row-entrance-arrow-badge--card.row-entrance-arrow-badge--anchor {
  background: var(--acc);
  border-color: var(--acc);
  color: #fff;
  transform: rotate(45deg);
}
/* B-5(2026-08-14 눈검수 #8) — 엔티티 대표 이미지 슬롯 전용 프레임. 정사각 강제(aspect-ratio:1
   또는 object-fit:cover)가 포켓몬 카드 실물 비율(63:88≈745/1040 — 이 시트가 이미 여러 곳에서
   쓰는 값·:6470 등)을 훼손하던 결함(#8)의 수리 클래스. cover 는 «잘라서 채움», 이 프레임은
   반대로 «잘리지 않게 담음»이 목적이라 object-fit:contain(여백 허용)을 쓴다. link-grid
   썸네일(위 badge 류)은 대상이 아니다 — 마크업 부여는 패키지 A(A-5) 소관. */
.card-portrait-ratio-frame {
  aspect-ratio: 63 / 88;
  object-fit: contain;
}
.ranked-thumbnail-list-value-row:first-child { border-top:0; }
a.ranked-thumbnail-list-value-row:hover { background:var(--surf); }  /* R24-c(2026-08-20 W3): a 자격 — 상자를 벗은 감싸개(div)가 손 올릴 때만 흰 판을 되찾는 일이 없게 */
.ranked-thumbnail-list-value-row:has(>.ranked-thumbnail-list-value-row__heading) { display:block; padding:0; border-top:0; }
.ranked-thumbnail-list-value-row:has(>.ranked-thumbnail-list-value-row__heading):hover { background:transparent; }
.ranked-thumbnail-list-value-row__key { flex:0 0 auto; display:grid; place-items:center; width:34px; height:34px; border-radius:999px; background:var(--acc-s); color:var(--acc-i); font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; }
.ranked-thumbnail-list-value-row__picture { flex:0 0 auto; display:block; width:64px; aspect-ratio:745/1040; border-radius:7px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); }
.ranked-thumbnail-list-value-row__picture img { width:100%; height:100%; object-fit:cover; display:block; }
.ranked-thumbnail-list-value-row__body { flex:1 1 auto; min-width:0; }
.ranked-thumbnail-list-value-row__name { display:block; font-size:17px; font-weight:800; color:var(--ink); letter-spacing:-.02em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ranked-thumbnail-list-value-row__description { display:block; font-size:13px; color:var(--mut); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1 0 100%; line-height:1.6; }  /* 다수결19장 */
.ranked-thumbnail-list-value-row__value b { display:block; font-size:21px; font-weight:800; color:var(--acc-i); letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1.2; }
.ranked-thumbnail-list-value-row__value span { display:block; font-size:13px; color:var(--mut); }
.vertical-timeline-rail { list-style:none; margin:0 0 12px; padding:0; position:relative; }
.vertical-timeline-rail__image { position:relative; padding-left:26px; }
.versus-compare-panel-compact { display:grid; grid-template-columns:minmax(150px,1fr)auto minmax(150px,1fr); gap:14px; align-items:center; padding:16px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin-bottom:12px; }
.vertical-timeline-rail__image::before { content:""; position:absolute; left:5px; top:0; bottom:0; width:1.5px; background:var(--line2); }
.vertical-timeline-rail__image:first-child::before { top:22px; }
.vertical-timeline-rail__image:last-child::before { bottom:calc(100% - 22px); }
.vertical-timeline-rail__dot { position:absolute; left:-26px; top:16px; width:11px; height:11px; border-radius:50%; background:var(--surf); border:2px solid var(--line2); box-sizing:border-box; }
.versus-compare-side__picture img { width:100%; height:100%; object-fit:cover; display:block; }
.vertical-timeline-rail__rank { display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:var(--r-s); text-decoration:none; color:var(--ink2); position:relative; }
a.vertical-timeline-rail__rank:hover { background:var(--surf2); }
a.vertical-timeline-rail__rank:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
span.vertical-timeline-rail__rank { cursor:default; }
.vertical-timeline-rail__picture { flex:0 0 auto; display:block; }
.vertical-timeline-rail__picture .year-rail-card-thumbnail { width:46px; }
.versus-compare-side__value { display:block; font-size:23px; font-weight:800; margin-top:4px; letter-spacing:-.02em; }
.holo-thumb-popup-effect-layer { margin:12px 0 0; padding:14px 16px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
.vertical-timeline-rail__year { white-space:nowrap; flex:0 0 auto; font-size:14px; font-weight:800; color:var(--acc-i); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.holo-thumb-popup-effect-layer__heading { margin:0 0 12px; font-size:15px; font-weight:800; color:var(--ink); }
.vertical-timeline-rail__name { white-space:nowrap; flex:0 0 auto; font-size:13px; font-weight:800; color:var(--acc-i); background:var(--acc-s); border-radius:999px; padding:2px 10px; }
.holo-thumb-popup-effect-layer__row { display:grid; grid-template-areas:"holo rev"; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(10px,2.2vw,22px); align-items:start; }
.vertical-timeline-rail--markets .vertical-timeline-rail__rank { display:grid; grid-template-columns:auto auto minmax(0,1fr); grid-template-areas:"pic y num" "pic s s" "pic desc desc"; align-items:start; gap:2px 10px; }
.vertical-timeline-rail--markets .vertical-timeline-rail__picture { grid-area:pic; align-self:start; }
.holo-thumb-popup-effect-layer__single-panel { min-width:0; padding:5% 9%; display:grid; grid-template-rows:auto auto auto; row-gap:8px; align-content:start; }
.vertical-timeline-rail--markets .vertical-timeline-rail__picture .year-rail-card-thumbnail { width:62px; }
.holo-thumb-popup-effect-layer__single-panel--holo { grid-area:holo; }
.holo-thumb-popup-effect-layer__single-panel--reverse-holo { grid-area:rev; }
.vertical-timeline-rail--markets .vertical-timeline-rail__body { display:contents; }
.holo-thumb-popup-effect-layer__caption { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin:0 0 8px; font-size:13.5px; font-weight:800; color:var(--ink); line-height:1.45; }
.vertical-timeline-rail--markets .vertical-timeline-rail__heading { display:contents; }
.matchup-triad-diagram { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:12px; align-items:center; padding:18px 16px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin-bottom:12px; }
.holo-thumb-popup-effect-layer__tag { font-size:13px; font-weight:700; padding:0 7px; border-radius:999px; background:var(--surf2); border:1px solid var(--line2); color:var(--mut); }
.vertical-timeline-rail--markets .vertical-timeline-rail__year { grid-area:y; }
.holo-thumb-popup-effect-layer__tag--active { background:var(--acc-s); border-color:var(--acc); color:var(--acc-i); }
.vertical-timeline-rail--markets .vertical-timeline-rail__name { grid-area:num; justify-self:start; width:fit-content; margin:0; }
.holo-thumb-popup-effect-layer__hero { width:100%; margin:0 auto; perspective:900px; padding:4% 0; }
.vertical-timeline-rail--markets .vertical-timeline-rail__subtitle { grid-area:s; font-size:16px; font-weight:800; color:var(--ink); white-space:normal; overflow:visible; text-overflow:clip; line-height:1.35; word-break:keep-all; }
.holo-thumb-popup-effect-layer__single-panel--holo .holo-thumb-popup-effect-layer__hero { max-width:clamp(132px,26vw,286px); }
.vertical-timeline-rail--markets .vertical-timeline-rail__width { grid-area:desc; margin-top:1px; }
.matchup-triad-diagram>* { min-width:0; }
.holo-thumb-popup-effect-layer__single-panel--reverse-holo .holo-thumb-popup-effect-layer__hero { max-width:clamp(132px,26vw,286px); }
.matchup-triad-cell { position:relative; text-align:center; padding:14px 12px; border-radius:var(--r-s); border:1px solid var(--line2); background:var(--surf2); }
.vertical-timeline-rail__subtitle { font-size:15px; font-weight:800; color:var(--ink); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.matchup-triad-cell--current { border-color:var(--acc); background:var(--acc-s); }
.vertical-timeline-rail__width { display:block; margin-top:2px; font-size:13px; line-height:1.5; color:var(--mut); word-break:keep-all; }
.matchup-triad-cell--bad { border-color:color-mix(in srgb,var(--dn)45%,transparent); background:var(--dn-s); }
.price-value-text { font-variant-numeric:tabular-nums; font-weight:800; }
.matchup-triad-cell--good { border-color:color-mix(in srgb,var(--up)45%,transparent); background:var(--up-s); }
.holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card { width:100%; --card-radius:12px; }
.holo-thumb-popup-grid-cell__value.price-value-text { color:var(--acc-i); }
.vertical-timeline-rail__image--current>.vertical-timeline-rail__rank { background:var(--acc-s); box-shadow:inset 0 0 0 1px var(--acc); }
.matchup-triad-cell__rank { display:block; font-size:13px; font-weight:800; letter-spacing:.05em; color:var(--mut); margin-bottom:7px; }
.holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__front { border-radius:var(--card-radius); overflow:hidden; }
.holo-thumb-popup-grid-cell__value.price-value-text small { font-size:13px; color:var(--mut); font-weight:700; }
.vertical-timeline-rail__image--current .vertical-timeline-rail__dot { background:var(--acc); border-color:var(--acc); }
.matchup-triad-cell__subtitle { display:flex; justify-content:center; gap:5px; margin-bottom:6px; }
.holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__front img { width:100%; height:auto; display:block; }
.price-trend-line-tooltip-hitarea:focus-within>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.vertical-timeline-rail__current { flex:0 0 auto; font-size:13px; font-weight:800; color:var(--acc-i); border:1px solid var(--acc); border-radius:999px; padding:0 8px; line-height:1.5; }
.matchup-triad-cell__value { display:block; font-size:31px; font-weight:800; letter-spacing:-.035em; line-height:1.05; }
.holo-thumb-popup-effect-layer__shine-note { display:inline-block; margin-top:8px; padding:2px 9px; border-radius:999px; font-size:13px; font-weight:800; color:var(--acc-i); background:var(--acc-s); border:1px solid var(--acc); }
.matchup-triad-cell__value small { font-size:15px; font-weight:700; color:var(--mut); margin-left:4px; }
.holo-thumb-popup-effect-layer__description { margin:6px 0 0; font-size:13.5px; color:var(--ink2); line-height:1.55; }
.matchup-triad-cell__description { display:block; font-size:14px; color:var(--ink2); margin-top:4px; line-height:1.5; }
.holo-thumb-popup-effect-layer__source-note { display:block; margin:5px 0 0; font-size:13px; color:var(--mut); line-height:1.5; }
.matchup-triad-cell--current .matchup-triad-cell__value { color:var(--acc-i); }
.holo-thumb-popup-effect-layer__source-note a { color:var(--acc-i); font-weight:700; }
.card-image-fallback { position:relative; display:grid; grid-template-rows:auto 1fr auto; gap:4px; aspect-ratio:745/1040; padding:7px 7px 8px; border-radius:6px; background:var(--surf2); border:1px solid var(--line2); cursor:default; overflow:hidden; text-align:left; container-type:inline-size; }  /* 다수결20장 */
.matchup-triad-cell--bad .matchup-triad-cell__value { color:var(--dn); }
.holo-thumb-popup-effect-layer__name { margin:12px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
.card-image-fallback__header { display:flex; align-items:baseline; justify-content:space-between; gap:5px; min-width:0; padding:2px 5px; border-radius:4px; background:var(--line2); }  /* 다수결20장 */
.matchup-triad-cell--good .matchup-triad-cell__value { color:var(--up); }
.card-image-fallback__footer { display:flex; align-items:baseline; justify-content:space-between; gap:5px; min-width:0; padding:2px 5px; border-radius:4px; background:var(--line2); }  /* 다수결20장 */
.matchup-triad-card-slot { display:grid; place-items:center; margin-top:8px; }
.vfxcmp__c { display:grid; grid-template-rows:auto auto auto; row-gap:8px; align-content:start; }
.card-image-fallback__name { font-size:13px; font-weight:800; color:var(--ink2); line-height:1.3; min-width:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }  /* 다수결20장 */
.matchup-triad-card-slot .evolution-chain-diagram-link__picture { width:104px; }  /* 최신 */
.holo-thumb-popup-effect-layer__single-panel>* { min-width:0; margin-top:0; margin-bottom:0; }
.versus-compare-panel>* { min-width:0; }
.gainers-losers-board__key { display:block; min-width:0; }
.card-image-fallback__hp { flex:0 0 auto; font-style:normal; font-size:13px; font-weight:700; color:var(--mut); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.matchup-triad-arrow { width:44px; height:38px; display:grid; place-items:center; color:var(--mut); }
.vfxcmp__c>* { min-width:0; margin-top:0; margin-bottom:0; }
.sibling-axis-link-card>* { min-width:0; }
.card-image-fallback__content { flex:0 0 auto; font-style:normal; font-size:13px; font-weight:700; color:var(--mut); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.matchup-triad-arrow svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.holo-thumb-popup-effect-layer .holo-thumb-popup-card__translater { --translate-z:0.01px; }
.quick-fact-card>* { min-width:0; }
.card-image-fallback__set { min-width:0; font-size:13px; font-weight:700; color:var(--mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.matchup-triad-arrow--bad { color:var(--dn); }
.vfxcmp .holo-thumb-popup-card__translater { --translate-z:0.01px; }
.vertical-timeline-rail--markets>* { min-width:0; }
.card-image-fallback__artwork { grid-row:2; display:grid; place-items:center; min-height:0; border-radius:4px; background:var(--surf); overflow:hidden; }  /* 다수결20장 */
.matchup-triad-arrow--good { color:var(--up); }
.vertical-timeline-rail__rank>* { min-width:0; }
.card-image-fallback__meta { margin:0; text-align:center; font-size:13px; font-style:normal; font-weight:700; color:var(--mut); line-height:1.35; word-break:keep-all; padding:0 4px; }  /* 다수결20장 */
.vfxcmp__w { padding:4% 0; }
.card-image-fallback__hp:empty { min-height:0; }
.ranked-thumbnail-list-bar-row { display:grid; gap:20px; margin-top:12px; }
.rank-dial-panel>* { min-width:0; }
.card-image-fallback__content:empty { min-height:0; }
.ranked-thumbnail-list-bar-row__content { display:grid; grid-template-columns:clamp(96px,13vw,132px)minmax(0,1fr); column-gap:clamp(12px,1.6vw,16px); align-items:center; text-decoration:none; color:inherit; min-width:0; }
.card-image-fallback__set:empty { min-height:0; }
.ranked-thumbnail-list-bar-row__picture { display:block; width:100%; aspect-ratio:745/1040; border-radius:8px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); container-type:inline-size; }
.card-image-fallback--small { padding:5px 6px; gap:3px; }
.ranked-thumbnail-list-bar-row__picture img { width:100%; height:100%; object-fit:cover; display:block; }
.ranked-thumbnail-list-bar-row__picture .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border:0; border-radius:8px; }
.proportion-segment-strip { display:flex; height:34px; border-radius:8px; overflow:hidden; border:1px solid var(--line2); }  /* B-8 확장(2026-08-14 지휘자 판정): 기본 선언에서 animation 제거 — 정지 상태=최종 모양 그대로(폭/색은 애니와 무관한 자식 요소가 그림). 트리거 shorthand는 .rv-anim-go 규칙으로 이동. */
.badge-bar-row__picture--none .card-image-fallback { display:grid; grid-template-rows:auto 1fr auto; width:100%; height:100%; aspect-ratio:auto; border:1px solid var(--line2); border-radius:6px; background:var(--surf2); padding:3px 4px; gap:1px; text-align:center; overflow:hidden; }
.proportion-segment-strip i { display:block; height:100%; background:var(--line2); border-right:1px solid var(--surf2); }
.badge-bar-row__picture--none .card-image-fallback__artwork { display:grid; place-items:center; min-height:0; }
.proportion-segment-strip i:last-child { border-right:0; }
.ranked-thumbnail-list-bar-row__body { display:grid; row-gap:6px; align-content:center; min-width:0; }
.proportion-segment-strip i.state-current-active { background:var(--acc); }
.card-image-fallback--row { grid-template-rows:1fr; padding:0; gap:0; }
.ranked-thumbnail-list-bar-row__name { display:block; font-size:15px; font-weight:800; line-height:1.35; color:var(--ink2); overflow-wrap:anywhere; }
.ranked-thumbnail-list-gap-row>* { min-width:0; }
.proportion-segment-strip__legend { display:flex; flex-wrap:wrap; gap:5px 16px; margin-top:10px; font-size:13px; color:var(--mut); }
.card-image-fallback--row .card-image-fallback__header { display:none; }
.ranked-thumbnail-list-bar-row__current { display:inline-block; margin-left:7px; padding:1px 7px; border-radius:999px; font-size:13px; font-weight:800; line-height:1.6; vertical-align:middle; background:var(--acc); color:#fff; }
.proportion-segment-strip__legend span { display:inline-flex; align-items:center; gap:6px; }
.card-image-fallback--row .card-image-fallback__footer { display:none; }
.ranked-thumbnail-list-bar-row__meta { display:block; font-size:13px; color:var(--mut); line-height:1.45; overflow-wrap:anywhere; }
.proportion-segment-strip__legend i { width:10px; height:10px; border-radius:3px; background:var(--line2); display:inline-block; }
.card-image-fallback--row .card-image-fallback__artwork { grid-row:1; background:transparent; border-radius:0; }
.ranked-thumbnail-list-bar-row__content[href]:hover .ranked-thumbnail-list-bar-row__picture { border-color:var(--acc); }
.proportion-segment-strip__legend .state-current-active i { background:var(--acc); }
.card-image-fallback--row .card-image-fallback__meta { font-size:13px; font-weight:800; line-height:1; color:var(--line2); }
.ranked-thumbnail-list-bar-row__note { display:block; margin-top:20px; font-size:13px; color:var(--mut); line-height:1.6; }
.proportion-segment-strip__legend .state-current-active { color:var(--ink); }
.card-image-fallback:hover { transform:none; box-shadow:none; border-color:var(--line2); }
.ranked-thumbnail-list-bar-row__note b { font-weight:800; color:var(--ink2); }
.proportion-segment-strip__legend b { color:var(--ink2); font-weight:800; font-variant-numeric:tabular-nums; }
a.card-image-fallback { cursor:pointer; }
.holo-thumb-popup-effect-layer__bar { min-width:0; }
.price-band-navigator { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
a .card-image-fallback { cursor:pointer; }
a .card-image-fallback * { cursor:pointer; }
.card-image-tile .card-image-fallback__header { display:none; }
.vfxd { position:relative; width:100%; aspect-ratio:745/1040; border-radius:9px; padding:5.5%; display:grid; grid-template-rows:auto 40.4% auto auto; gap:3.4%; background:linear-gradient(160deg,#e8c65a,#d8b444 46%,#c8a339); box-shadow:inset 0 0 0 1px rgba(0,0,0,.28); }
.ranked-thumbnail-list-gap-row--current .ranked-thumbnail-list-gap-row__bar i { opacity:1; background:var(--acc-i); }
.price-band-navigator>* { min-width:0; }
.card-image-tile .card-image-fallback__footer { display:none; }
/* 첫 칸 88px — 그림 폭이 아니라 «그 칸 머리말이 한 줄로 서는 폭»이다(2026-08-09 · 4b ⓑ안).
   ■ 왜 넓혔나 — 머리줄 첫 라벨 「Dearest card」의 한 줄 폭이 84.3px 인데 칸이 56px 이라
     두 줄로 접혔다(실측). 머리줄과 데이터 행은 «같은 격자»를 써야 라벨이 제 칸을 가리키므로
     (그것이 이 수리의 계약이다) 한쪽만 넓힐 수 없다 — 둘을 함께 88px 로 옮긴다.
   ■ 88px = 84.3px(라벨 한 줄) 를 담고 남는 가장 가까운 값. 그림은 40px 그대로다.
   ■ 32px 는 이름 칸이 낸다 — 이름·대표카드 칸은 fr 이라 남는 폭을 나눠 갖고, 실측 여유가
     각각 421.8px·461px 이었다. 32px 를 내어도 말줄임이 걸릴 자리가 아니다.
   🔒 좁은 화면(:10223)은 46px 그대로 — 거기서는 라벨 다섯째 칸을 숨기고 4칸으로 접으므로
      이 문제가 없다(머리줄도 같은 4칸이다). */
/* 🩹 2026-08-11(p28) ⑫ 전수 검수에서 «글자가 겹치는» 진짜 결함이 여기서 나왔다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 셋째 열이 82px «고정»이었다. 그 칸(:8152 __content)은
     `overflow:visible; text-overflow:clip` 이라 넘쳐도 잘리지 않고 그대로 흘러나온다.
     그래서 「Legendary Collection」(155px)이 82px 칸을 73px 넘겨, 바로 옆 값 칸의
     「$799.99」 위로 37.4px 파고들었다(실측 · 셀 artist 1280px · 한 쪽에서 12건).
     같은 이유로 값 칸 38개가 제 폭을 넘긴 채 서 있었다(scrollWidth > clientWidth).
   ■ 왜 «말줄임»이 답이 아닌가 — 이 열은 페이지마다 든 것이 다르다. 축 갈래에서는
     「1,615 cards」(데이터 값)이고 셀 갈래에서는 「Legendary Collection」(세트 이름)이다.
     말줄임을 켜면 확정 조항 「데이터 값은 말줄임 금지」(:6512)를 어기고, 끄면 지금처럼 넘친다.
   ■ 수리 = 열을 «제 내용 폭»으로 준다(auto). 그러면 값은 절대 안 잘리고 이름도 안 넘친다.
     남는 폭은 양옆 1.15fr·1.35fr 열이 양보한다 — 2026-08-07 에 card-row 가 같은 병을
     같은 처방으로 고쳤고(:6512 주석), 그때 정한 「이름 열이 양보한다」를 그대로 따른다.
   ■ 실측으로 고른 범위 (겹침 건수 · 값 칸 잘림 수):
        1280px  12·38 → 0·0      700px  29·38 → 5·0
        ≤560px  29·38 → (auto 로 두면 35·0 으로 «더» 나빠진다)
     그래서 ≤560px 에서는 원래 값을 그대로 되돌린다(아래 :11020 블록). 좁은 폭의 29건은
     이 회차 «이전부터» 있던 별개 상태이고, 이 수리가 그것을 건드리지 않는다(회귀 0).
   🔒 82px·74px 은 지우지 않고 좁은 폭으로 «옮겼다» — 값을 버린 것이 아니다. */
.ranked-thumbnail-list-artist-row { display:grid; grid-template-columns:88px minmax(0,1.15fr)auto 74px minmax(0,1.35fr); gap:10px; align-items:center; padding:7px 12px; border-top:1px solid var(--line); font-size:15px; color:var(--ink2); text-decoration:none; }
.vfxd__hd { display:flex; align-items:center; justify-content:space-between; gap:5px; padding:1px 6px; border-radius:4px; background:rgba(255,255,255,.72); }
.price-band-navigator__content { position:relative; display:block; padding:12px 34px 12px 13px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf2); text-decoration:none; color:inherit; transition:transform .16s,border-color .16s,background .16s; }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>:nth-child(n+2) { margin-top:22px; }
.ranked-thumbnail-list-artist-row:first-child { border-top:0; }
.vfxd__n { font-size:13px; font-weight:800; color:#2b2410; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
a.price-band-navigator__content:hover { transform:translateY(-3px); border-color:var(--acc); background:var(--surf); }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>.block-followup-note:nth-child(n+2) { margin-top:8px; }
.ranked-thumbnail-list-artist-row:hover { background:var(--surf); color:var(--ink); }
.vfxd__hp { font-size:13px; font-weight:800; color:#8a1f1f; white-space:nowrap; }
.price-band-navigator__content--active { border-color:var(--acc); background:var(--acc-s); }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>.list-page-bar:nth-child(n+2) { margin-top:8px; }
.ranked-thumbnail-list-artist-row>* { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vfxd__art { position:relative; display:grid; place-items:center; border-radius:3px; background:linear-gradient(150deg,#cfd8e3,#aab6c6); box-shadow:inset 0 0 0 2px rgba(0,0,0,.32); }
.price-band-navigator__key { display:block; font-size:16px; font-weight:800; letter-spacing:-.02em; }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>.body-prose-block+.body-prose-block { margin-top:12px; }
.ranked-thumbnail-list-artist-row__rank { font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; }
.vfxd__fig { width:44%; height:auto; display:block; fill:none; stroke:#5b6472; stroke-width:2.4; opacity:.85; }
.price-band-navigator__name { display:block; font-size:13px; color:var(--mut); margin-top:2px; line-height:1.5; }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>.ranked-thumbnail-list-gap-rows+.ranked-thumbnail-list-gap-rows { margin-top:12px; }
.ranked-thumbnail-list-artist-row__name { font-weight:700; color:var(--ink); }
.vfxd__atk { display:grid; gap:4px; padding:4px 6px; border-radius:4px; background:rgba(255,255,255,.66); }
.ranked-thumbnail-list-rank-row-link>* { min-width:0; }
.price-band-navigator__name b { color:var(--ink2); font-weight:800; font-variant-numeric:tabular-nums; }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>.section-lead-paragraph+* { margin-top:0; }
.ranked-thumbnail-list-artist-row__content { font-weight:800; color:var(--acc-i); font-variant-numeric:tabular-nums; text-align:right; overflow:visible; text-overflow:clip; }
.vfxd__bar { height:4px; border-radius:3px; background:#9aa3af; }
.price-band-navigator__bar { display:block; margin-top:9px; height:7px; border-radius:4px; background:var(--line2); overflow:hidden; }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>*+h3 { margin-top:28px; }
.ranked-thumbnail-list-artist-row__subtitle { font-size:14px; font-variant-numeric:tabular-nums; text-align:right; overflow:visible; text-overflow:clip; }
.vfxd__bar--s { width:62%; }
.price-band-navigator__bar i { display:block; height:100%; border-radius:4px; background:var(--acc); }
.distribution-bar-label-note { font-size:13px; color:var(--mut); font-weight:700; margin-left:6px; }
:is(.content-section-block,.app-layer-panel,.page-summary-box)>h3+* { margin-top:9px; }
.vfxd__bar--m { width:84%; }
.price-band-navigator__now { display:inline-block; margin-top:8px; font-size:13px; font-weight:800; color:var(--acc-i); }
.section-subheading { font-size:17px; font-weight:800; line-height:1.35; letter-spacing:-.02em; margin:0 0 9px; }
.vfxd__ft { display:flex; align-items:center; justify-content:space-between; gap:5px; padding:1px 6px; border-radius:4px; background:rgba(255,255,255,.6); font-size:13px; font-weight:700; color:#3a3320; }
.price-band-navigator__arrow { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }
.holo-thumb-popup-card { --glitter:url("data:image/png;base64,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");
  --glittersize:25%;

  --space:5%;
  --angle:133deg;
  --imgsize:cover;

  --red:#f80e35;
  --yellow:#eedf10;
  --green:#21e985;
  --blue:#0dbde9;
  --violet:#c929f1;

  --clip:inset( 9.85% 8% 52.85% 8% );
  --clip-stage:polygon(91.5% 9.85%, 57% 9.85%, 54% 12%, 17% 12%, 16% 14%, 12% 16%, 8% 16%, 8% 47.15%, 92% 47.15%);
  --clip-trainer:inset(14.5% 8.5% 48.2% 8.5%);
  --clip-borders:inset(2.8% 4% round 2.55% / 1.5%);
  
  --clip-invert:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0 47.15%, 91.5% 47.15%, 91.5% 9.85%, 8% 9.85%, 8% 47.15%, 0 50%);
  --clip-stage-invert:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0 47.15%, 91.5% 47.15%, 91.5% 9.85%, 57% 9.85%, 54% 12%, 17% 12%, 16% 14%, 12% 16%, 8% 16%, 8% 47.15%, 0 50%); }
.vfxd__z { position:absolute; pointer-events:none; border-radius:3px; opacity:.9; box-shadow:inset 0 0 0 2px var(--acc); background:linear-gradient(115deg,var(--sunpillar-1),var(--sunpillar-2),var(--sunpillar-3),var(--sunpillar-4),var(--sunpillar-5),var(--sunpillar-6)); background-size:280% 100%; mix-blend-mode:screen; filter:saturate(.6); animation:vfxdshim 7s linear infinite; }
.price-band-navigator__arrow::after { content:"→"; }
.process-step-card__extra { display:flex; gap:4px; margin-top:2px; }
.visual-block-box--split { display:grid; grid-template-columns:minmax(300px,360px)minmax(0,1fr); gap:16px; align-items:center; }
/* 🩹 2026-08-11(p28-b) ⑧-2 — 펼친 줄만 «오른쪽으로 밀리던» 결함. padding 을 못 껐던 것이다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 시트에 일반 규칙 `details{…padding:11px 14px}`(:7803)이 있다. 이 접기는
     그 규칙의 테두리·배경·여백은 되잡았는데 «padding 만» 안 잡았다. 그래서 펼친 줄들이
     담긴 상자가 14px + 테두리 1px = 15px 안쪽으로 들어가, 접힌 줄과 시작선이 어긋났다.
     실측(세트 축 1280px · 전 7개 그룹 전수): 썸네일 left 34 → 49 (차 15px · 그룹마다 동일).
   ■ 왜 이 처방인가 — 짝이 되는 접기(details.remaining-list-fold)는 :11407 에서 `padding:0` 으로
     같은 일반 규칙을 이미 끄고 있다. 새 방식이 아니라 «그때 쓴 방식»을 이 갈래에도 적용한다.
   🔒 다른 값은 그대로 — 위아래 테두리·배경·아래 여백은 이 규칙이 원래 지던 것 그대로다. */
/* 🆕 ⑧-여백 모드(2026-08-11 p28-b · 사용자 확정 «문맥별 2형») — 이 접기는 «흐름형»이다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 두 형 — 구획 말미에 독립으로 서는 접기(구획형)는 위아래 여백으로 분리하고,
     목록 흐름 안에서 «행처럼» 이어지는 접기(흐름형)는 그 목록의 행 간격을 그대로 쓴다.
   ■ 이 자리는 흐름형이다 — 연도 그룹의 앞줄 몇 개(peek) 바로 다음에 서고, 펼치면 «같은 목록의
     나머지 줄»이 이어진다. 트리거가 곧 그 목록의 한 행처럼 읽혀야 순서가 끊기지 않는다.
   ■ 그래서 상단 여백을 주지 않는다 — 이 목록의 행 간격은 실측 0px 이다(행은 서로 붙고
     테두리로 갈린다). 앞서 구 정본 수치(10px)를 넣어 봤으나 그것은 «구획형»의 리듬이라,
     흐름 안에서는 트리거만 홀로 떠 목록이 끊겨 보였다 — 사용자 정정에 따라 되돌린다.
   🔒 표기 문법(맥락 라벨 + «+N» 알약 + 셰브론)은 두 형이 «같다» — 여백만 문맥을 따른다. */
.ranked-thumbnail-list-series-fold { border:1px solid var(--line); border-left:0; border-right:0; border-radius:0; background:var(--surf2); margin-bottom:7px; padding:0; }
.holo-thumb-popup-card__shine { will-change:transform,opacity,background-image,background-size,background-position,background-blend-mode,filter; display:grid; transform:translateZ(1px); overflow:hidden; z-index:3; background:transparent; background-size:cover; background-position:center; filter:brightness(.85)contrast(2.75)saturate(.65); mix-blend-mode:color-dodge; opacity:var(--card-opacity); }
.vfxd--in .vfxd__z { left:5.5%; right:5.5%; top:calc(5.5% + 22px); height:40.4%; }
a.price-band-navigator__content:hover .price-band-navigator__arrow { background:var(--acc); color:#fff; transform:translateX(2px); }
.visual-block-box--split>* { min-width:0; }
.ranked-thumbnail-list-series-fold-summary { display:grid; grid-template-columns:auto minmax(0,1fr)auto; gap:6px 12px; align-items:center; padding:11px 13px; cursor:pointer; list-style:none; font-size:15px; font-weight:700; }
.holo-thumb-popup-card__glare { will-change:transform,opacity,background-image,background-size,background-position,background-blend-mode,filter; transform:translateZ(1.41px); overflow:hidden; background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsla(0,0%,100%,0.8)10%,hsla(0,0%,100%,0.65)20%,hsla(0,0%,0%,0.5)90%); opacity:var(--card-opacity); mix-blend-mode:overlay; }
.ranked-thumbnail-list-artist-row__width img { width:40px; height:auto; aspect-ratio:745/1040; object-fit:cover; border-radius:4px; border:1px solid var(--line2); flex:0 0 auto; }
.vfxd--out .vfxd__z { inset:0; border-radius:9px; -webkit-mask-image:linear-gradient(#000 0 100%),linear-gradient(#000 0 100%); mask-image:linear-gradient(#000 0 100%),linear-gradient(#000 0 100%); -webkit-mask-size:100% 100%,89% 40.4%; mask-size:100% 100%,89% 40.4%; -webkit-mask-position:0 0,50% 26%; mask-position:0 0,50% 26%; -webkit-mask-repeat:no-repeat,no-repeat; mask-repeat:no-repeat,no-repeat; -webkit-mask-composite:xor; mask-composite:exclude; }
a.price-band-navigator__content:focus-visible .price-band-navigator__arrow { background:var(--acc); color:#fff; transform:translateX(2px); }
.ranked-thumbnail-list-series-fold-summary::-webkit-details-marker { display:none; }
.ranked-thumbnail-list-artist-row__width span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.value-representative-card-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }  /* 최신 */
.ranked-thumbnail-list-series-fold-summary__name { font-size:16px; font-weight:800; letter-spacing:-.02em; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* ── 목록 머리줄 = «데이터 행과 같은 격자» ────────────────────────────────────
   ■ 무엇이 틀렸나 (확인판 축 실측 2026-08-09)
     머리줄은 라벨 «다섯»(Top card·Artist·Cards·Typical·Card name — axis-rows.php :265
     이 $d['cols'] 를 그대로 span 다섯으로 낸다)을 내는데, 격자는 칸이 «둘»이었다
     (minmax(0,300px) minmax(0,1fr)). 그래서 다섯이 두 칸에 접혀 «3줄»이 되었고,
     머리 배경(--surf)이 118px 높이로 깔려 목록 위에 «회색 띠»가 생겼다.
     동시에 라벨 x 가 데이터 칸 x 와 전혀 맞지 않아, 머리줄이 어느 칸을 가리키는지
     읽을 수 없었다(라벨 두 칸 · 데이터 다섯 칸 = 대응 자체가 성립하지 않음).
   ■ 값의 출처 = «데이터 행 실측», 발명 0
     .ranked-thumbnail-list-artist-row 가 쓰는 격자를 글자 그대로 가져왔다:
       grid-template-columns:88px minmax(0,1.15fr)82px 74px minmax(0,1.35fr)
       (첫 칸 88px 로 옮긴 사유 = 데이터 행 구획 주석 참조 — 두 곳을 «함께» 옮겨야 한다)
       gap:10px · 좌우 여백 12px
     머리줄이 같은 값을 지면 라벨 x 와 데이터 x 가 «구조적으로» 같아진다
     (수치를 맞춰 적는 것이 아니라 같은 자를 쓰는 것이다 — 행 격자가 바뀌어도 따라간다).
   ■ 회색 띠 제거 = 높이가 1줄로 돌아오면 배경도 1줄이 된다(배경 자체는 머리줄의 표식이라 남긴다).
   🔒 margin-bottom:0 — 목록 표준. 행들은 border-top 1px 로만 갈리고 여백이 없다.
      머리줄만 13px 를 더 지면 머리와 첫 행 사이에 «빈 회색 아래 틈»이 한 겹 더 생긴다.
      머리와 목록은 border-bottom:2px 로 이미 갈린다.
   🔒 align-items:center — 1줄이 된 뒤로는 stretch 가 뜻을 지지 않는다(칸 높이 = 글줄 높이).
   🔒 좁은 화면 재정의(:10225)는 그대로 둔다 — 거기서는 이미 데이터 행과 같은 4칸이다. */
.ranked-thumbnail-list-artist-header { display:grid; grid-template-columns:88px minmax(0,1.15fr)82px 74px minmax(0,1.35fr); gap:10px; padding:8px 12px; font-size:13px; letter-spacing:.05em; color:var(--mut); font-weight:700; background:var(--surf); border-bottom:2px solid var(--line2); align-items:center; margin-bottom:0; }  /* 최신 */
.process-step-diagram { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:12px; align-items:stretch; padding:18px 16px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin-bottom:12px; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card__front img { width:100%; height:100%; object-fit:cover; display:block; }
.ranked-thumbnail-list-standout-compare .module-review-panel { margin:0; }
.ranked-thumbnail-list-series-fold-summary__meta { font-size:14px; color:var(--mut); font-weight:700; text-align:right; }
.ranked-thumbnail-list-artist-header span:nth-child(3) { text-align:right; }
.value-representative-card-grid>* { min-width:0; }
a.versus-compare-panel::after { content:"→"; position:absolute; top:10px; right:10px; display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }  /* R52(2026-08-20 W3-CSS) 링크일 때만 */
a.versus-compare-panel[href^="#"]::after { transform:rotate(45deg); }  /* N15(2026-08-23) 같은-페이지 앵커=4시30분(↘) — 회전만 추가, base content/색/크기 무변경 */
a.versus-compare-panel[href^="#"]:hover::after,
a.versus-compare-panel[href^="#"]:focus-visible::after { transform:rotate(45deg) translate(1.5px,1.5px); }  /* N15 */
.holo-thumb-popup-artwork-frame--medium { flex:0 0 auto; width:216px; }  /* V1(2026-08-18) — flex:0 0 216px 의 flex-basis 216px 가 flex-direction:column 부모에서 «높이»를 216px로 앉혀 정사각이 됐다(허브 dearest-card 위젯). 기본 프레임은 :5255/:7363서 flex:0 0 auto 로 고쳤는데 이 --medium 사이즈 변형만 누락(클래스 놓침). width:216px + 상속 aspect-ratio:745/1040 + height:auto 로 세로 비율 복귀. */
.ranked-thumbnail-list-standout-compare .module-overall-score--withpic .module-overall-score__head { display:flex; flex-wrap:nowrap; align-items:flex-start; gap:16px; }
.ranked-thumbnail-list-series-fold-summary__title { grid-column:1/-1; height:7px; border-radius:4px; background:var(--line2); overflow:hidden; }
.holo-thumb-popup-card * { outline:1px solid transparent; }
.ranked-thumbnail-list-artist-header span:nth-child(4) { text-align:right; }
.value-representative-card { display:grid; grid-template-columns:88px minmax(0,1fr); gap:13px; align-items:center; text-align:center; padding:10px 8px; border-radius:var(--r-s); border:1px solid var(--line2); background:var(--surf); perspective:700px; }  /* 최신 */
a.versus-compare-panel:hover::after { background:var(--acc); color:#fff; transform:translateX(2px); }  /* R52(2026-08-20 W3-CSS) */
.ranked-thumbnail-list-standout-compare .module-overall-score__pic { flex:0 0 auto; width:114px; margin:0; }
.value-representative-card--active { border-color:var(--acc); background:var(--acc-s); }
a.versus-compare-panel:focus-visible::after { background:var(--acc); color:#fff; transform:translateX(2px); }  /* R52(2026-08-20 W3-CSS) */
.ranked-thumbnail-list-standout-compare .module-overall-score__pic>a { display:block; width:100%; aspect-ratio:745/1040; border-radius:7px; overflow:hidden; border:1px solid var(--color-border,#e2e8f0); background:#f1f5f9; box-shadow:0 6px 16px rgba(15,23,42,.14); transition:transform .2s cubic-bezier(.18,.75,.28,1),box-shadow .2s; }
.ranked-thumbnail-list-series-fold-summary__content { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }
.holo-thumb-popup-card__rotator { aspect-ratio:var(--card-aspect); border-radius:var(--card-radius); display:grid; perspective:600px; will-change:transform,box-shadow; transform-origin:center; transform-style:preserve-3d; transform:rotateY(var(--rotate-x))rotateX(var(--rotate-y)); pointer-events:auto; transition:box-shadow 0.4s ease,opacity .33s ease-out; box-shadow:0 0 3px -1px transparent,0 0 2px 1px transparent,0 0 5px 0px transparent,0px 10px 20px -5px black,0 2px 15px -5px black,0 0 20px 0px transparent; }
.process-step-diagram>* { min-width:0; }
.value-representative-card__picture { display:block; width:88px; min-width:0; }
.ranked-thumbnail-list-rank-row-link--current { border-color:var(--acc); }
.holo-thumb-popup-artwork-column { flex:0 0 300px; display:flex; flex-direction:column; gap:12px; align-items:center; }
.ranked-thumbnail-list-standout-compare .module-overall-score__pic>a:hover { transform:translateY(-4px); box-shadow:0 14px 26px -8px rgba(15,23,42,.32); }
.ranked-thumbnail-list-series-fold-summary__content::after { content:"↓"; }
.holo-thumb-popup-card.interacting { z-index:calc(var(--card-scale)* 120); }
.process-step-card { padding:14px 13px; border-radius:var(--r-s); border:1px solid var(--line2); background:var(--surf2); border-top:3px solid var(--acc); display:flex; flex-direction:column; gap:5px; }
.value-representative-card__value { display:block; width:fit-content; font-size:13px; font-weight:800; color:var(--mut); background:var(--surf2); border:1px solid var(--line2); border-radius:999px; padding:1px 9px; white-space:nowrap; margin-bottom:6px; }  /* 최신 */
.versus-compare-panel:focus-visible { border-color:var(--acc); }
.ranked-thumbnail-list-rank-row-link--current .bar-row-track i { background:var(--acc-i); }
.price-trend-line-titled-box__x-axis { display:flex; justify-content:space-between; gap:10px; margin-top:8px; font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; }
.ranked-thumbnail-list-standout-compare .module-overall-score__pic img { width:100%; height:100%; object-fit:cover; display:block; }
.ranked-thumbnail-list-series-fold[open]>.ranked-thumbnail-list-series-fold-summary .ranked-thumbnail-list-series-fold-summary__content { background:var(--acc); color:#fff; transform:rotate(180deg); }
.holo-thumb-popup-card.active .holo-thumb-popup-card__translater { touch-action:none; }
.process-step-card__name { font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--mut); }
.value-representative-card--active .value-representative-card__value { color:var(--acc-i); background:var(--acc-s); border-color:var(--acc); }
.holo-thumb-popup-artwork-caption { font-size:13px; color:var(--mut); text-align:center; line-height:1.45; }
.price-trend-line-titled-box__plot { line-height:0; }
.ranked-thumbnail-list-standout-compare .module-overall-score__pic figcaption { margin-top:7px; font-size:13px; line-height:1.35; font-weight:700; color:var(--color-text-body,#334155); word-break:keep-all; }
.ranked-thumbnail-list-series-fold[open]>.ranked-thumbnail-list-series-fold-summary { border-bottom:1px solid var(--line); }
.holo-thumb-popup-card.active .holo-thumb-popup-card__rotator { touch-action:none; box-shadow:0 0 3px -1px white,0 0 3px 1px var(--card-edge),0 0 12px 2px var(--card-glow),0px 10px 20px -5px black,0 0 40px -30px var(--card-glow),0 0 50px -20px var(--card-glow); }
.ranked-thumbnail-list-artist-tag { display:inline-block; margin-left:6px; padding:0 7px; border-radius:999px; font-size:13px; font-weight:700; line-height:1.5; background:var(--surf2); border:1px solid var(--line2); color:var(--mut); }
.process-step-card__title { font-size:16px; font-weight:800; line-height:1.3; }
.value-representative-card__body { min-width:0; display:flex; flex-direction:column; gap:5px; }
.cross-link-list-column .cross-link-list-more-link::after { content:"→"; display:inline-grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }
.cross-link-list-column .cross-link-list-more-link[href^="#"]::after { transform:rotate(45deg); }  /* N15(2026-08-23) 같은-페이지 앵커=4시30분(↘) — 회전만 추가, base content/색/크기 무변경 */
.cross-link-list-column .cross-link-list-more-link[href^="#"]:hover::after,
.cross-link-list-column .cross-link-list-more-link[href^="#"]:focus-visible::after { transform:rotate(45deg) translate(1.5px,1.5px); }  /* N15 */
.search-intent-triad { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:14px; }
.ranked-thumbnail-list-standout-compare .module-overall-score__pic figcaption span { display:block; font-weight:600; color:var(--color-text-muted,#64748b); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ranked-thumbnail-list-series-fold-summary:hover .ranked-thumbnail-list-series-fold-summary__name { color:var(--acc-i); }
.holo-thumb-popup-card__translater { display:grid; perspective:600px; will-change:transform,box-shadow; transform-origin:center; transform-style:preserve-3d; width:auto; position:relative; --translate-z:calc(var(--card-scale)* 150px + 0.01px); transform:translate3d(var(--translate-x),var(--translate-y),var(--translate-z))scale(var(--card-scale)); }
.card-image-tile__value--artwork { background:rgba(124,108,245,.92); }
.process-step-card__description { font-size:14px; color:var(--ink2); line-height:1.55; }
.value-representative-card__header { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-width:0; }
.cross-link-list-column .cross-link-list-more-link:hover::after { background:var(--acc); color:#fff; transform:translateX(2px); }
.ranked-thumbnail-list-standout-compare .module-overall-score--withpic .module-overall-score__meta { flex:1 1 auto; min-width:0; }
.holo-thumb-popup-grid-cell__value--artwork { color:var(--acc-i); }
.process-step-arrow { width:40px; display:grid; place-items:center; color:var(--acc); }
.value-representative-card .evolution-chain-diagram-link__picture { width:100%; transform-origin:50% 100%; transition:transform .26s cubic-bezier(.18,.75,.28,1),box-shadow .26s,filter .26s; }
.cross-link-list-column .cross-link-list-more-link:focus-visible::after { background:var(--acc); color:#fff; transform:translateX(2px); }
.search-intent-triad>* { min-width:0; }
.process-step-arrow svg { width:100%; height:36px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.value-representative-card img { width:100%; transform-origin:50% 100%; transition:transform .26s cubic-bezier(.18,.75,.28,1),box-shadow .26s,filter .26s; }
.search-intent-card { position:relative; display:block; padding:14px 34px 13px 14px; border-radius:var(--r-s); border:1px solid var(--line2); border-top:3px solid var(--acc); background:var(--surf); text-decoration:none; color:inherit; transition:transform .15s,border-color .15s,background .15s; }
.ranked-thumbnail-list-share-row__picture { display:block; width:30px; aspect-ratio:745/1040; border-radius:4px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); }
.dual-panel-compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:12px; }
.value-representative-card:hover .evolution-chain-diagram-link__picture { transform:translateY(-13px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.62); filter:saturate(1.06); }
.search-intent-card:hover { transform:translateY(-3px); border-color:var(--acc); background:var(--acc-s); }
.ranked-thumbnail-list-share-row__picture img { width:100%; height:100%; object-fit:cover; display:block; }
.holo-thumb-popup-preview { pointer-events:none; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; position:fixed; z-index:90; width:260px; aspect-ratio:745/1040; --pop-w:260px; left:0; top:0; transform:translate3d(-9999px,-9999px,0); transition:none; opacity:1; will-change:transform; filter:none; }
.value-representative-card:hover img { transform:translateY(-13px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.62); filter:saturate(1.06); }
.position-spread-gauge-dial--bare { border:0; background:none; padding:0; }
.search-intent-card__question { display:block; font-size:16px; font-weight:800; letter-spacing:-.02em; line-height:1.3; }
.ranked-thumbnail-list-share-row__picture--none { border:0; background:transparent; }
.holo-thumb-popup-preview * { pointer-events:none; }
.dual-panel-compare-grid>* { min-width:0; }
.value-representative-card:hover { border-color:var(--acc); }
.search-intent-card__description { display:block; font-size:14px; color:var(--ink2); margin-top:4px; line-height:1.5; }
.ranked-thumbnail-list-share-row__picture--none .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:4px; }
button.holo-thumb-popup-card__rotator { border:none; background:transparent; padding:0; appearance:none; }
.contrast-side-panel { padding:14px 15px; border-radius:var(--r-s); border:1px solid var(--line2); background:var(--surf); text-align:center; }  /* 다수결2장 */
.search-intent-card__name { display:block; font-size:13px; color:var(--mut); margin-top:6px; font-weight:700; }
.ranked-thumbnail-list-series-fold-summary__title--head { grid-column:auto; flex:0 0 96px; }
.contrast-side-panel--tone-a { border-left:3px solid var(--acc); background:var(--acc-s); }
.ranked-thumbnail-list-share-row__meta { display:contents; }
.holo-thumb-popup-card.active .holo-thumb-popup-card__rotator:focus { transition:box-shadow 0.4s ease,opacity .33s ease-out; box-shadow:0 0 3px -1px transparent,0 0 2px 1px transparent,0 0 5px 0px transparent,0px 10px 20px -5px black,0 2px 15px -5px black,0 0 20px 0px transparent; }
.contrast-side-panel--tone-b { border-left:3px solid var(--up); background:var(--up-s); }
.ranked-thumbnail-list-share-row { display:grid; grid-template-columns:30px minmax(0,1.7fr)86px 72px 100px minmax(130px,1fr); gap:10px; align-items:center; padding:7px 12px; border-top:1px solid var(--line); font-size:15px; color:var(--ink2); text-decoration:none; }
.contrast-side-panel__title { font-size:16px; font-weight:800; margin-bottom:7px; }
.ranked-thumbnail-list-feature-row { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:12px; }
.price-trend-line-hover-layer__dots { position:absolute; inset:0; pointer-events:none; }
.ranked-thumbnail-list-share-row:first-child { border-top:0; }
.holo-thumb-popup-card__rotator:focus { box-shadow:0 0 3px -1px white,0 0 3px 1px var(--card-edge),0 0 12px 2px var(--card-glow),0px 10px 20px -5px black,0 0 40px -30px var(--card-glow),0 0 50px -20px var(--card-glow); }
.contrast-side-panel ul { margin:0; padding-left:17px; font-size:14px; color:var(--ink2); line-height:1.7; text-align:left; }  /* F43(2026-08-22 눈검수) — 부모 .contrast-side-panel의 text-align:center(:8981·죽은 hub-versus.php 겸용 값·큰 수치 가운데맞춤용)가 상속돼 불릿(왼쪽 고정)과 문장(가운데)이 어긋났다. guide-vs.php가 실제로 쓰는 목록만 좌측정렬로 되돌린다(제목 __title은 무변경). */
.value-representative-card__name { font-size:14px; font-weight:700; line-height:1.3; min-width:0; word-break:keep-all; display:block; margin-top:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }  /* 최신 */
.price-trend-line-hover-layer__dots>i { position:absolute; left:calc(var(--x)*1%); top:calc(var(--yp)*1%); width:7px; height:7px; margin:-3.5px 0 0 -3.5px; border-radius:50%; background:var(--up); display:block; }
.ranked-thumbnail-list-share-row:hover { background:var(--surf); color:var(--ink); }
.holo-thumb-popup-card__rotator>* { width:100%; display:grid; grid-area:1/1; aspect-ratio:var(--card-aspect); border-radius:var(--card-radius); image-rendering:optimizeQuality; transform-style:preserve-3d; pointer-events:none; overflow:hidden; }  /* 눈검수 23호(2026-08-25) — 원래 서술식(*)은 «후손 전체»에 grid-area:1/1을 강제해 .holo-thumb-popup-card__rotator 안에 중첩된 .card-image-fallback(그림없음 정본 폴백)의 header/artwork/footer 3단까지 전부 같은 칸에 겹쳐 찍었다(hsp-hgss18/price 글자 겹침 실증). 자식결합자(>)로 좁혀 rotator의 직계자식(front/back 면)만 겹치게 한다 — 의도는 :12060의 이미 올바르게 좁혀진 중복 규칙과 동일. */
.contrast-side-panel b { color:var(--ink); }
.value-representative-card__extra { display:flex; font-size:13px; color:var(--mut); min-height:18px; white-space:normal; line-height:1.4; word-break:keep-all; overflow-wrap:anywhere; justify-content:center; gap:3px; margin-top:4px; }  /* 최신 */
.price-trend-line-hover-layer__dots>i.price-trend-line-point-marker--accent { background:var(--acc); }
.ranked-thumbnail-list-share-row>* { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.holo-thumb-popup-card__rotator img { height:auto; }
.price-trend-line-hover-layer__dots>i.price-trend-line-point-marker--down { background:var(--dn); }
.module-review-panel>.module-overall-score { margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--color-border); }
.ranked-thumbnail-list-share-row__rank { display:inline-block; margin-right:7px; font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; }
.holo-thumb-popup-card__rotator img:not(.holo-thumb-popup-card__back) { transform:translate3d(0px,0px,0.01px); }
.ranked-thumbnail-list-value-row__description b { color:var(--ink); font-weight:800; }
.ranked-thumbnail-list-feature-row>* { min-width:0; }
.price-trend-line-hover-layer__dots>i.price-trend-line-point-marker--current { width:11px; height:11px; margin:-5.5px 0 0 -5.5px; box-shadow:0 0 0 2.5px var(--surf2); }
.module-review-panel>.module-rate-bar { margin-top:0; }
.ranked-thumbnail-list-share-row__name { font-weight:700; color:var(--ink); }
.holo-thumb-popup-card__front { backface-visibility:hidden; opacity:1; transition:opacity 0.33s ease-out; transform:translate3d(0px,0px,0.01px); -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.unverified-pending-badge { display:inline-block; font-size:13px; font-weight:800; padding:2px 9px; border-radius:999px; background:var(--warn-s); color:var(--warn); margin-left:6px; vertical-align:2px; }
.delta i { display:inline-block; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; }
.module-review-panel>.module-pros-cons { margin-top:22px; }
.ranked-thumbnail-list-share-row__subtitle { font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; }
.holo-thumb-popup-card__front * { backface-visibility:hidden; }
.type-showcase-row { display:grid; grid-template-columns:132px minmax(0,1fr); gap:15px; align-items:center; padding:13px 14px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
.delta--up { color:var(--up); }
.ranked-thumbnail-list-feature-cell:hover { border-color:var(--acc); background:var(--acc-s); z-index:6; }
.module-review-panel__cta { margin-top:22px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.ranked-thumbnail-list-share-row__description { overflow:visible; text-overflow:clip; white-space:nowrap; font-weight:800; color:var(--acc-i); font-variant-numeric:tabular-nums; text-align:right; }
.delta--up i { border-bottom:8px solid var(--up); }
.ranked-thumbnail-list-feature-cell:focus-visible { border-color:var(--acc); background:var(--acc-s); z-index:6; }
.module-review-panel__cta-btn { display:inline-block; padding:11px 22px; border-radius:10px; background:var(--color-primary,#1d4ed8); color:#fff; font-weight:800; font-size:15px; text-decoration:none; transition:background .15s; }
.type-showcase-row>* { min-width:0; }
.delta--dn { color:var(--dn); }
.ranked-thumbnail-list-feature-cell__image { display:block; position:relative; aspect-ratio:745/1040; border-radius:6px; background:var(--surf2); }
.module-review-panel__cta-btn:hover { background:var(--color-primary-dark,#1e40af); color:#fff; }
.ranked-thumbnail-list-share-row__title { overflow:visible; text-overflow:clip; white-space:nowrap; font-size:13px; color:var(--mut); font-variant-numeric:tabular-nums; text-align:right; }
.holo-thumb-popup-card__shine:before { --sunpillar-clr-1:var(--sunpillar-5); --sunpillar-clr-2:var(--sunpillar-6); --sunpillar-clr-3:var(--sunpillar-1); --sunpillar-clr-4:var(--sunpillar-2); --sunpillar-clr-5:var(--sunpillar-3); --sunpillar-clr-6:var(--sunpillar-4); grid-area:1/1; transform:translateZ(1px); border-radius:var(--card-radius); }
.type-showcase-card-image { width:132px; aspect-ratio:745/1040; border-radius:8px; background-size:cover; background-position:center; border:1px solid var(--line2); box-shadow:0 10px 22px rgba(0,0,0,.32); transition:transform .24s cubic-bezier(.18,.75,.28,1),box-shadow .24s; }
.delta--dn i { border-top:8px solid var(--dn); }
.ranked-thumbnail-list-feature-cell__picture { position:relative; display:block; width:100%; height:100%; border-radius:6px; background-size:cover; background-position:center; transform-origin:50% 100%; transition:transform .3s cubic-bezier(.18,.75,.28,1),box-shadow .3s; }
.module-review-panel__cta-notice { font-size:13px; font-weight:700; color:var(--color-text-muted); }
.holo-thumb-popup-card__shine:after { --sunpillar-clr-1:var(--sunpillar-6); --sunpillar-clr-2:var(--sunpillar-1); --sunpillar-clr-3:var(--sunpillar-2); --sunpillar-clr-4:var(--sunpillar-3); --sunpillar-clr-5:var(--sunpillar-4); --sunpillar-clr-6:var(--sunpillar-5); grid-area:1/1; transform:translateZ(1.2px); border-radius:var(--card-radius); }
.type-showcase-row:hover .type-showcase-card-image { transform:translateY(-9px)scale(1.04); box-shadow:0 20px 30px -10px rgba(0,0,0,.6); }
.ranked-thumbnail-list-feature-cell:hover .ranked-thumbnail-list-feature-cell__picture { transform:translateY(-18px)rotateX(8deg)scale(1.05); box-shadow:0 22px 30px -14px rgba(0,0,0,.72); }
.module-review-panel__attribution { margin:18px 0 0; font-size:13px; color:var(--color-text-muted); line-height:1.5; }
.ranked-thumbnail-list-feature-cell:focus-visible .ranked-thumbnail-list-feature-cell__picture { transform:translateY(-18px)rotateX(8deg)scale(1.05); box-shadow:0 22px 30px -14px rgba(0,0,0,.72); }
.ranked-thumbnail-list-share-row__bar { display:flex; align-items:center; min-width:0; }
.compact-value-bar-row--gap::before { content:""; flex:1; height:1px; background:var(--line2); margin:0 7px; }
.ranked-thumbnail-list-share-row__bar .ranked-thumbnail-list-share-row__track { flex:1 1 auto; min-width:0; }
.holo-thumb-popup-card[data-fx="holo"] .holo-thumb-popup-card__shine { --scanlines-space:1px; --scanlines-light:#666; --scanlines-dark:black; --bars:3%; --bar-color:hsla(0,0%,70%,1); --bar-bg:hsla(0,0%,0%,1); clip-path:var(--clip); background-image:repeating-linear-gradient(110deg,var(--violet),var(--blue),var(--green),var(--yellow),var(--red),var(--violet),var(--blue),var(--green),var(--yellow),var(--red),var(--violet),var(--blue),var(--green),var(--yellow),var(--red)),repeating-linear-gradient(90deg,var(--scanlines-dark)calc(var(--scanlines-space)* 0),var(--scanlines-dark)calc(var(--scanlines-space)* 2),var(--scanlines-light)calc(var(--scanlines-space)* 2),var(--scanlines-light)calc(var(--scanlines-space)* 4)); background-position:calc(((50% - var(--background-x))* 2.6)+ 50%)calc(((50% - var(--background-y))* 3.5)+ 50%),center center; background-size:400% 400%,cover; background-blend-mode:overlay; filter:brightness(1.1)contrast(1.1)saturate(1.2); mix-blend-mode:color-dodge; }
.type-showcase-row__body { font-size:14px; color:var(--ink2); line-height:1.6; }
.compact-value-bar-row--gap::after { content:""; flex:1; height:1px; background:var(--line2); margin:0 7px; }
.stat-tile-link--span-2 { grid-column:span 2; }
.holo-thumb-popup-card[data-fx="holo"] .holo-thumb-popup-card__shine:before { content:""; background-image:repeating-linear-gradient(90deg,var(--bar-bg)calc(var(--bars)*2),var(--bar-color)calc(var(--bars)*3),var(--bar-bg)calc(var(--bars)*3.5),var(--bar-color)calc(var(--bars)*4),var(--bar-bg)calc(var(--bars)*5),var(--bar-bg)calc(var(--bars)*14)),repeating-linear-gradient(90deg,var(--bar-bg)calc(var(--bars)*2),var(--bar-color)calc(var(--bars)*3),var(--bar-bg)calc(var(--bars)*3.5),var(--bar-color)calc(var(--bars)*4),var(--bar-bg)calc(var(--bars)*5),var(--bar-bg)calc(var(--bars)*10)); background-position:calc((((50% - var(--background-x))* 1.65)+ 50%)+(var(--background-y)* 0.5))var(--background-x),calc((((50% - var(--background-x))* -0.9)+ 50%)-(var(--background-y)* 0.75))var(--background-y); background-size:200% 200%,200% 200%; background-blend-mode:screen; filter:brightness(1.15)contrast(1.1); mix-blend-mode:hard-light; }
.type-showcase-row__body b { color:var(--ink); font-weight:800; }
.data-story-tile__donut-row { display:flex; align-items:center; gap:13px; }
.ranked-thumbnail-list-feature-cell__name { display:block; font-size:14px; font-weight:800; line-height:1.3; margin-top:7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.holo-thumb-popup-card[data-fx="holo"] .holo-thumb-popup-card__shine:after { content:""; background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsla(0,0%,90%,0.8)0%,hsla(0,0%,78%,0.1)25%,hsl(0,0%,0%)90%); background-position:center center; background-size:cover; mix-blend-mode:luminosity; filter:brightness(0.6)contrast(4); }
.type-showcase-row__name { display:block; font-size:14px; color:var(--mut); margin-top:6px; }
.data-story-tile__distribution-donut::after { content:""; position:absolute; inset:13px; border-radius:50%; background:var(--surf); }
.ranked-thumbnail-list-feature-cell__meta { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--mut); margin-top:2px; }
.versus-compare-side__description { display:block; font-size:14px; color:var(--ink2); line-height:1.5; margin-top:6px; }
.data-story-tile__distribution-donut b { position:relative; z-index:1; font-size:23px; font-weight:800; letter-spacing:-.04em; line-height:1; color:var(--ink); }
.ranked-thumbnail-list-feature-cell__value { display:block; font-size:17px; font-weight:800; margin-top:3px; color:var(--dn); }
.holo-thumb-popup-card[data-fx="holo"] .holo-thumb-popup-card__glare { opacity:calc(var(--card-opacity)* .8); filter:brightness(0.8)contrast(1.5); mix-blend-mode:overlay; }
.versus-compare-side--host { border-color:color-mix(in srgb,var(--up)34%,var(--line2)); }
.data-story-tile__distribution-donut s { position:relative; z-index:1; text-decoration:none; font-size:13px; color:var(--mut); font-weight:600; line-height:1; letter-spacing:.04em; opacity:.85; }
.stat-tile-link { position:relative; display:flex; flex-direction:column; gap:5px; text-decoration:none; color:inherit; padding:12px 13px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); transition:transform .12s,border-color .12s; }
.ranked-thumbnail-list-feature-cell__value small { font-size:13px; color:var(--mut); font-weight:700; }
.holo-thumb-popup-card[data-fx="holo"] .holo-thumb-popup-card__glare:after { content:""; background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsl(180,100%,95%)5%,hsla(0,0%,39%,0.25)55%,hsla(0,0%,0%,0.36)110%); mix-blend-mode:overlay; filter:brightness(.6)contrast(3); }
.versus-compare-side--host .versus-compare-side__rank { color:var(--up); }
.data-story-tile__donut-legend { display:flex; flex-direction:column; gap:5px; flex:1; min-width:0; }
.stat-tile-link:hover { transform:translateY(-2px); border-color:var(--acc); }
.mini-card-thumbnail-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:7px; margin-bottom:8px; touch-action:pan-y; }
.holo-thumb-popup-card[data-fx="vmax"] .holo-thumb-popup-card__shine { --space:6%;
  --angle:133deg;
  --imgsize:cover;

  background-image:
    var(--foil),
    repeating-linear-gradient( -33deg,
      hsl(2, 70%, 47%) calc(var(--space)*1),
      hsl(228, 60%, 64%) calc(var(--space)*2),
      hsl(176, 55%, 39%) calc(var(--space)*3),
      hsl(123, 68%, 35%) calc(var(--space)*4),
      hsl(283, 75%, 57%) calc(var(--space)*5),
      hsl(2, 70%, 47%) calc(var(--space)*6)
    ),
    repeating-linear-gradient(
      var(--angle),
      hsla(227, 53%, 12%, 0.5) 0%,
      hsl(180, 10%, 50%) 2.5%,
      hsl(83, 50%, 35%) 5%,
      hsl(180, 10%, 50%) 7.5%,
      hsla(227, 53%, 12%, 0.5) 10% ,
      hsla(227, 53%, 12%, 0.5) 15%
      ),
    radial-gradient(
      farthest-corner circle
      at var(--pointer-x) var(--pointer-y),
      hsla(189, 76%, 77%, 0.6) 0%,
      hsla(147, 59%, 77%, 0.6) 25%,
      hsla(271, 55%, 69%, 0.6) 50%,
      hsla(355, 56%, 72%, 0.6) 75%
    );

  background-blend-mode:difference, luminosity, soft-light;
  background-size:var(--imgsize), 1100% 1100%, 600% 600%, 200% 200%;
  background-position:
    center,
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y);

  filter:brightness(calc((var(--pointer-from-center) * .4) + .4)) contrast(2) saturate(1); }
.data-story-tile__donut-legend>span { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--ink2); }
.stat-tile-link:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.holo-thumb-popup-card[data-fx="vmax"] .holo-thumb-popup-card__shine:after { content:"";
  background-image:repeating-linear-gradient( 0deg,
    var(--sunpillar-clr-1) calc(var(--space)*1),
    var(--sunpillar-clr-2) calc(var(--space)*2),
    var(--sunpillar-clr-3) calc(var(--space)*3),
    var(--sunpillar-clr-4) calc(var(--space)*4),
    var(--sunpillar-clr-5) calc(var(--space)*5),
    var(--sunpillar-clr-6) calc(var(--space)*6),
    var(--sunpillar-clr-1) calc(var(--space)*7)
  ),
  repeating-linear-gradient(
    var(--angle),
    #0e152e 0%,
    hsl(180, 10%, 60%) 3.8%,
    hsl(180, 29%, 66%) 4.5%,
    hsl(180, 10%, 60%) 5.2%,
    #0e152e 10% ,
    #0e152e 12%
  );

  background-blend-mode:hue, hard-light;
  background-size:200% 700%, 300% 100%, 200% 100%;
  background-position:0% var(--background-y), var(--background-x) var(--background-y), var(--background-x) var(--background-y);

  mix-blend-mode:lighten;
  opacity:calc( (0.3 * var(--card-opacity)) + var(--card-opacity) * var(--pointer-from-center) * 0.5 );
  filter:saturate(1.5); }
.year-histogram-strip>* { min-width:0; }
.data-story-tile__donut-legend i { width:9px; height:9px; border-radius:2px; flex:0 0 auto; box-shadow:0 0 0 1px color-mix(in srgb,var(--ink)12%,transparent); }
.year-histogram-column { flex:1 1 0; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:5px; height:100%; }
.data-story-tile__donut-legend em { margin-left:auto; font-style:normal; font-weight:800; color:var(--ink); }
.mini-card-thumbnail-grid>* { min-width:0; }
.card-image-tile-grid--set .card-image-tile__value { background:rgba(124,108,245,.94); }
.year-histogram-column-bar { width:100%; border-radius:3px 3px 0 0; background:var(--line2); transition:background .15s; }
.deep-dive-panel .key-value-line--current { background:color-mix(in srgb,var(--dn)8%,transparent); border-radius:4px; padding-left:5px; padding-right:5px; margin:0 -5px; }
.stat-tile-value small { font-size:14px; font-weight:700; color:var(--mut); margin-left:2px; }
.mini-card-thumbnail { position:relative; display:block; border-radius:7px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); aspect-ratio:745/1040; transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .15s; }
.card-image-tile-grid--set .card-image-tile--none { background:transparent; }
.holo-thumb-popup-card[data-fx="vmax"] .holo-thumb-popup-card__glare { mix-blend-mode:hard-light; filter:brightness(1)contrast(1); background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsla(0,0%,100%,0.75)0%,hsl(0,0%,0%)120%); opacity:calc((0.2 * var(--card-opacity))+ var(--card-opacity)* var(--pointer-from-center)* 0.8); }
.year-histogram-column:hover .year-histogram-column-bar { background:var(--acc-i); }
.data-story-tile__distribution-donut { width:84px; height:84px; gap:0; box-shadow:inset 0 0 0 1.5px var(--surf); }
.mini-card-thumbnail img { width:100%; height:100%; object-fit:cover; display:block; }
.card-image-tile-grid--set .card-image-tile--none .card-image-fallback { position:absolute; left:0; right:0; top:0; bottom:0; aspect-ratio:auto; border:0; border-radius:0; padding:22px 7px 30px; }
.holo-thumb-popup-card[data-fx="secret"] .holo-thumb-popup-card__shine { --shift:1px;
  --imgsize:cover;
  --foil:url("data:image/png;base64,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");

  background-image:
    var(--glitter),
    var(--glitter),
    conic-gradient(
      var(--sunpillar-clr-4),
      var(--sunpillar-clr-5),
      var(--sunpillar-clr-6),
      var(--sunpillar-clr-1),
      var(--sunpillar-clr-4)
    ),
    radial-gradient(
      farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(150, 00%, 0%, .98) 10%,
      hsla(0, 0%, 95%, .15) 90%
    );

  background-size:var(--glittersize) var(--glittersize), var(--glittersize) var(--glittersize), cover, cover;
  background-position:45% 45%, 55% 55%, center center, center center;
  background-blend-mode:soft-light, hard-light, overlay;
  mix-blend-mode:color-dodge;
  filter:brightness( calc( ( var( --pointer-from-center ) * 0.3 ) + 0.2 ) ) contrast(2) saturate(0.75); }
.year-histogram-column--active .year-histogram-column-bar { background:var(--acc); }
.stat-tile-link__bars { display:flex; align-items:flex-end; gap:3px; height:34px; margin-top:auto; padding-top:6px; }
.mini-card-thumbnail:hover { transform:translateY(-8px)scale(1.08); border-color:var(--acc); z-index:5; box-shadow:0 16px 26px -10px rgba(0,0,0,.6); }
.versus-compare-middle--time .versus-compare-middle__arrow { color:var(--acc); }
.holo-thumb-popup-card[data-fx="secret"] .holo-thumb-popup-card__shine:before { content:""; --imgsize:33%; background-image:var(--foil),linear-gradient(45deg,hsl(46,95%,50%),hsl(52,100%,69%)),radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsla(10,20%,90%,0.95)10%,hsl(0,0%,0%)70%); background-size:var(--imgsize),cover,cover; background-position:center center,center center,center center; background-blend-mode:hard-light,multiply; mix-blend-mode:lighten; filter:brightness(1.25)contrast(1.25)saturate(0.35); opacity:.8; }
.year-histogram-column-year-label { font-size:13px; font-style:normal; color:var(--mut); line-height:1; }
.mini-card-thumbnail__value { position:absolute; bottom:3px; right:3px; font-size:13px; line-height:1.45; font-weight:800; color:#fff; background:rgba(226,60,66,.9); border-radius:5px; padding:0 5px; z-index:2; pointer-events:none; }
/* R53 썸네일 명칭(census 확정 2026-08-16) — 「그림은 제 이름을 말하지 못한다」(:7639 axis-directory-card__dearest
   와 같은 문제). 이 칸은 42~72px 짜리 카드 비율 상자라(머리말 주석 「배지가 칸을 넘어 잘린다」) 항상
   보이는 캡션을 두면 그 좁은 칸에서 그림 자체를 가린다. 그래서 위 __value 배지와 같은 자리 다툼
   없이 위쪽에 두고, 평소엔 숨겨 두었다가 짚었을 때만 보인다(짚기 전 상태 = 회귀 0). */
.mini-card-thumbnail__name, .year-rail-card-thumbnail__name {
  position: absolute; left: 0; right: 0; top: 0; z-index: 1;
  padding: 3px 5px; font-size: 10.5px; font-weight: 700; line-height: 1.3; color: #fff;
  background: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,0));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  opacity: 0; transition: opacity .15s ease; pointer-events: none;
}
.mini-card-thumbnail:hover .mini-card-thumbnail__name, .mini-card-thumbnail:focus-visible .mini-card-thumbnail__name,
.year-rail-card-thumbnail:hover .year-rail-card-thumbnail__name, .year-rail-card-thumbnail:focus-visible .year-rail-card-thumbnail__name { opacity: 1; }
.versus-compare-side--record .versus-compare-side__rank { color:var(--gold); }
.holo-thumb-popup-card[data-fx="secret"] .holo-thumb-popup-card__shine:after { content:""; background-image:var(--glitter); background-size:var(--glittersize)var(--glittersize); background-position:calc(50% -((var(--shift)*2)* var(--pointer-from-left))+ var(--shift))calc(50% -((var(--shift)*2)* var(--pointer-from-top))+ var(--shift)); filter:brightness(calc((var(--pointer-from-center)*0.6)+ 0.6))contrast(1.5); mix-blend-mode:overlay; }
.stat-tile-link__bars i.bar-segment-emphasis { background:var(--acc); }
.grid-source-caption { font-size:13px; color:var(--mut); margin:0 0 12px; }
.holo-thumb-popup-card[data-fx="secret"] .holo-thumb-popup-card__glare { background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsla(45,8%,80%,0.3)0%,hsl(22,15%,12%)180%); filter:brightness(1.3)contrast(1.5); mix-blend-mode:hard-light; }
.data-story-tile__dcol { display:flex; flex-direction:column; align-items:center; gap:5px; flex:0 0 auto; }
.stat-tile-link__track { height:8px; border-radius:99px; background:var(--surf2); overflow:hidden; margin-top:auto; }
.holo-thumb-popup-card[data-fx="plain"] .holo-thumb-popup-card__shine { opacity:0; }
/* 🩹 2026-08-11(p28-b) ⑨ — 「연대 막대가 전부 파랑」의 뿌리. 규칙을 «지우는» 것이 수리다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 여기 있던 줄: `.year-histogram-column--rail .year-histogram-column-bar{background:var(--acc-i)}`
   ■ 무엇이 어긋났나 — 이 줄은 «레일에 놓인 해»를 강조색으로 칠했다. 그런데 세트 축은
     «모든 해»가 레일이라 막대가 전부 같은 파랑이 된다. 전부 강조하면 강조가 사라진다
     — 어느 해가 두드러지는지 눈이 고를 수 없게 된다(사용자 지적 · 세트 축 실증).
     명시도(0,2,0)가 표준 기본색(:12097 `.year-histogram-column-bar{background:var(--c4)}` · 0,1,0)을
     이겨서, 순서와 무관하게 언제나 이 줄이 이겼다.
   ■ 수리 = 이 줄을 없애 막대를 p23 표준 문법으로 되돌린다:
        기본 --c4  ·  호버/포커스 --acc-i(:8582·:7985)  ·  --active 만 --acc(:8611)
     즉 «지금 보고 있는 해»만 색으로 튄다.
   ■ 레일의 짝 신호는 그대로 산다 — 기둥 하단 밑줄(:10969 `--rail{border-bottom:2px solid var(--acc)}`)과
     해 라벨 강조(바로 아래 줄)가 「이 해가 레일 위에 있다」를 계속 말한다. 신호를 뺀 것이
     아니라 «막대색이라는 잘못된 자리»에서 «밑줄이라는 제자리»로 되돌린 것이다.
   🔒 밑줄 규칙·라벨 규칙은 한 글자도 안 건드렸다. */
.holo-thumb-popup-card[data-fx="reverse"] { --foil-brightness:0.55; }
.year-histogram-column--rail .year-histogram-column-year-label { color:var(--acc-i); font-weight:800; }
.stat-tile-link__dot { display:flex; align-items:flex-end; gap:2px; height:34px; margin-top:auto; padding-top:6px; }
.holo-thumb-popup-card[data-fx="reverse"] .holo-thumb-popup-card__shine { --foil:none; clip-path:var(--clip-invert); background-image:radial-gradient(circle at var(--pointer-x)var(--pointer-y),#fff 5%,#000 50%,#fff 80%),linear-gradient(-45deg,#000 15%,#fff,#000 85%),var(--foil); background-blend-mode:soft-light,difference; background-size:120% 120%,200% 200%,cover; background-position:center center,calc((100% * var(--pointer-from-left)))calc((100% * var(--pointer-from-top))),center center; filter:brightness(var(--foil-brightness))contrast(1.5)saturate(1); mix-blend-mode:color-dodge; opacity:calc((1.5 * var(--card-opacity))- var(--pointer-from-center)); }
.price-trend-line-hover-layer { position:relative; }
.holo-thumb-popup-card[data-fx="reverse"][data-subtypes^="stage"] .holo-thumb-popup-card__shine { clip-path:var(--clip-stage-invert); }
.price-trend-line-hover-layer__hitarea { position:absolute; inset:0; display:flex; }
.data-story-tile__dcap { font-size:13px; font-weight:700; color:var(--ink2); letter-spacing:.02em; line-height:1.25; padding:3px 10px; border:1px solid var(--line2); border-radius:999px; background:var(--surf2); white-space:nowrap; }
.holo-thumb-popup-card[data-fx="reverse"] .holo-thumb-popup-card__glare { opacity:var(--card-opacity); background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsla(0,0%,100%,0.8)10%,hsla(0,0%,100%,0.5)20%,hsla(0,0%,0%,0.75)90%); filter:brightness(.7)contrast(1.5); }
.price-trend-line-hover-layer__hitarea>button { flex:1 1 0; min-width:0; height:100%; border:0; background:transparent; padding:0; cursor:pointer; position:relative; border-radius:3px; }
.holo-thumb-popup-card[data-fx="reverse"] .holo-thumb-popup-card__glare:after { content:""; opacity:var(--card-opacity); clip-path:var(--clip); background-image:radial-gradient(farthest-corner circle at var(--pointer-x)var(--pointer-y),hsl(0,0%,100%)10%,hsla(0,0%,100%,0.5)20%,hsla(0,0%,0%,0.5)120%); filter:brightness(1)contrast(1.5); }
.price-trend-line-hover-layer__hitarea>button:hover { background:color-mix(in srgb,var(--acc)9%,transparent); outline:0; }
.holo-thumb-popup-card[data-fx="reverse"][data-subtypes^="stage"] .holo-thumb-popup-card__glare:after { clip-path:var(--clip-stage); }
.price-trend-line-hover-layer__hitarea>button:focus-visible { background:color-mix(in srgb,var(--acc)9%,transparent); outline:0; }
.compact-value-bar-row[style*="--bar"] { border-left-color:var(--bar); }
.price-trend-line-hover-layer__hitarea>button::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--acc); opacity:0; transition:opacity .12s; }  /* 기준판 */
.card-set-name { display:block; margin-top:3px; font-size:15px; font-weight:700; color:var(--ink2); letter-spacing:-.01em; line-height:1.35; }
img { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.price-trend-line-hover-layer__points>button { position:absolute; left:calc(var(--x)*1%); top:calc(var(--yp)*1%); width:26px; height:26px; margin:-13px 0 0 -13px; border:0; background:transparent; padding:0; cursor:pointer; border-radius:50%; }
/* 🔧 2026-08-13(p28-g W6-보정 · 사용자 판정 「별로」) — 점 강조 룩을 «원판 그대로» 되돌렸다.
   ■ 내가 무엇을 잘못했나 — W6 에서 점(<i>)에 `transform:scale(1.45)` 와 `box-shadow:0 0 0 2px`
     를 새로 만들어 붙였다. 점에는 인라인으로 `box-shadow:0 0 0 1px var(--surf2)` 가 이미 있어서
     둘이 겹쳐 «이중 원»이 됐고, 게다가 아래의 넓은 `[data-ent-key]` 규칙이 점·과녁까지 잡아
     흰 배경(var(--surf))까지 얹혔다. 원판에는 그런 것이 하나도 없었다.
   ■ 원판(회차 백업 시트 :8756)이 정한 강조는 «이것 하나»다 —
       button:hover { background:color-mix(in srgb,var(--acc)18%,transparent) }
     26px 과녁에 옅은 강조색 원이 깔리면서 점이 «약간 커 보이는» 그 효과다. 그것이 전부였다.
   👉 그래서 클래스는 그 원판 규칙에 «나란히» 달기만 한다(값은 한 글자도 안 바꾼다).
   🚫 점(<i>)에는 어떤 강조 규칙도 두지 마라 — 인라인 그림자와 겹쳐 이중 원이 된다.
   🚫 목록 쪽 강조를 «태그 없는» 넓은 선택자로 쓰지 마라 — 점·과녁도 [data-ent-key] 를 지므로
      그림까지 함께 칠해진다(이번 흰 배경의 뿌리). 아래처럼 «목록 쪽 요소만» 지목한다. */
.price-trend-line-hover-layer__points>button:hover,
.price-trend-line-hover-layer__points>button.entity-link-lit { background:color-mix(in srgb,var(--acc)18%,transparent); outline:0; }
/* 🔧 2026-08-13(p28-g W6-보정2 · 사용자 관찰 → 지휘 판정) — 점 «자체»를 소폭 균일 확대한다.
   ■ 무엇이 문제였나 — 강조는 26px 과녁의 옅은 원 하나뿐이었는데 그 원은 «고정 크기»다.
     그래서 작은 점(실측 9px)에서는 원이 점을 감싸 「테두리가 커진 것」처럼 보이고,
     큰 점(실측 최대 40px · 과녁보다 큰 점 10개)에서는 원이 점 뒤에 통째로 가려져
     **아무 일도 안 일어난 것처럼** 보였다. 「확대가 덜하다」의 실체가 이것이다.
   ■ 그래서 크기에 «비례하는» 강조가 하나 필요하다 — 배율은 점 크기와 무관하게 같은 비율로
     커지므로 9px 도 40px 도 각자 제 몫만큼 커진다. 실측 배율 1.15 = 9px→10.4px · 40px→46.1px.
     1.2 는 가장 큰 점이 8px 자라 이웃과 겹치기 시작했고, 1.12 는 큰 점에서 체감이 옅었다.
   🚫 흰 배경·추가 테두리 금지(직전 회차 교훈) — 점에는 인라인 그림자가 이미 있어 겹치면
      «이중 원»이 된다. 여기서 더하는 것은 **scale 하나뿐**이다.
   🔒 확대의 중심 — <i> 는 제 지름의 절반만큼 음수 여백으로 «자기 중심»에 놓여 있어
      transform-origin 기본값(가운데)으로 커져도 점의 중심이 움직이지 않는다(자리 이동 0). */
.price-trend-line-hover-layer__points>i { transition:transform .16s ease; }
.price-trend-line-hover-layer__points>i.entity-link-lit,
.price-trend-line-hover-layer__points>i.dot-hover-lit { transform:scale(1.15); }
@media (prefers-reduced-motion:reduce) {
  /* 커지는 «결과»는 정보이므로 남기고, 커지는 «과정»만 끈다 */
  .price-trend-line-hover-layer__points>i { transition:none; }
}
/* W6 — 목록 «쪽»(표 줄·범례 줄)만 강조한다. 점·과녁은 위 원판 규칙이 전담한다. */
tr[data-ent-key].entity-link-lit { background:var(--surf) !important; box-shadow:inset 0 0 0 2px var(--acc); }
tr[data-ent-key].entity-link-lit>td { background:var(--surf) !important; }
.scatter-plot-legend>span[data-ent-key].entity-link-lit { background:var(--surf); box-shadow:inset 0 0 0 2px var(--acc); }
/* 산점 자체 범례 줄(W6-보강) — 강조가 글자에 딱 붙지 않게 «평소에» 자리를 잡아 둔다.
   음수 여백으로 배치는 그대로이므로 켜지기 전 화면은 한 픽셀도 안 바뀐다. */
.scatter-plot-legend>span[data-ent-key] { padding:2px 7px; margin:-2px -7px; border-radius:6px; }
.scatter-plot-legend>span[data-ent-key].entity-link-lit { font-weight:800; color:var(--ink); }
.offer-compare-panel { margin-top:12px; padding:14px 15px 12px; background:var(--surf2); border:1px solid var(--line2); border-radius:var(--r-s); border-color:var(--acc); box-shadow:0 0 0 3px color-mix(in srgb,var(--acc)12%,transparent); }
.lens-entry-panel__footnote { margin:10px 0 0; font-size:13px; color:var(--mut); line-height:1.62; }
.price-trend-line-hover-layer__points>button:focus-visible { background:color-mix(in srgb,var(--acc)18%,transparent); outline:0; }
.denominator-labelled-row__heading { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.denominator-labelled-row__heading .visual-block-heading { margin:0; }
.denominator-labelled-row__reading-hint { font-size:13px; color:var(--mut); font-weight:600; }
.name-group-block { margin-bottom:10px; padding:13px 14px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); }
.denominator-labelled-row__label { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.name-group-block:last-child { margin-bottom:0; }
/* 🔧 2026-08-09 «말풍선 상자가 세로로 안 늘어난다» 원천 수리 (⑰ 재수리 · 전수 소거)
   ■ 무엇이 틀렸나 (확인판 axis-v1 · 1280px · 헤드리스 실측)
       말풍선 28개 중 24개가 «내용이 상자를 넘친» 상태였다.
         .price-trend-line-hover-layer__hitarea>button>  13개  상자 172×21 / 내용 170×56
         .price-trend-line-hover-layer__points >button>  11개  상자 192×21 / 내용 190×98
       21px = 위아래 안쪽 여백(9+10) + 테두리(1+1) — 즉 «글이 들어설 칸이 0» 이었다.
       화면에서는 머리글만 검은 상자에 담기고 나머지 줄이 상자 밖 그림 위로 흘러 안 읽혔다.
   ■ 원인 — top 과 bottom 이 «둘 다» 걸려 높이가 «정해진 값»이 된다
       바탕 규칙 .price-trend-line-tooltip 이 bottom:calc(100% + 9px) 을 지고 있다.
       그 위에 이 두 규칙이 top 만 덮어써서 top·bottom 이 동시에 서 버렸다. 자리잡은 상자는
       그때 높이를 «담는 상자 높이 − top − bottom» 으로 계산한다 — 단추가 26px 이라 음수가 되어
       0 으로 잘렸다. 내용이 아무리 길어도 칸이 0 이니 늘어날 수가 없다.
   ■ 정상 대조군이 이미 답을 갖고 있었다 — 같은 클래스의 «띠» 문맥
       .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea>.price-trend-line-tooltip
       이 규칙만 bottom:auto 를 명시한다. 그래서 그 4개는 263×107 로 내용을 다 담고 있었다(넘침 0).
       그 원문 선언을 그대로 옮긴다 — 새 값·새 이름 0, 더한 것은 bottom:auto 한 줄뿐이다.
   🔒 «두 줄 함께» 고친다 — 원인이 같은 한 가지라 하나만 고치면 나머지가 그대로 남는다. */
/* 🔧 2026-08-09(마감) 「모바일 가로 흔들림 수리가 여기서 되살아난 옛 선언에 졌다」 정리
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 틀렸나 — 위 08-09 수리는 «bottom:auto 한 줄»만 더하면 되는 일이었는데,
     옛 선언을 통째로 베껴 오면서 left·transform 까지 함께 실렸다. 같은 선택자·같은
     자세함이라 «뒤에 오는 이쪽»이 이겼고, 그 결과 2026-08-07 에 고친 모바일 clamp
     (:1563 구획 — 말풍선 왼끝을 상자 안으로 가두는 계산)이 도로 죽어 있었다.
     실측: 이 줄의 left:calc(var(--x,50)*1%) + translate(-50%) = 08-07 이전 자세 그대로.
   ■ 어떻게 고치나 — «한 곳으로 모은다»
     가로 자리(left·transform 의 가로 성분)는 :1563 구획 한 곳만 말한다.
     여기서는 이 구획이 실제로 더한 것 — 세로 기준(top)과 bottom:auto — 만 남긴다.
     아래 :hover·:focus-visible·:first-child·:last-child 짝들도 같은 사유로 지웠다
     (전부 :1649~:1675 구획에 이미 있고, 그쪽은 -50% 를 다시 걸지 않는다). */
.price-trend-line-hover-layer__hitarea>button>.price-trend-line-tooltip { top:calc(var(--yp)*1%); bottom:auto; }  /* 기준판 — 가로 자리는 :1563 이 잡는다 */
.name-group-block__heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin:0 0 10px; font-size:16px; font-weight:800; }
.price-trend-line-hover-layer__points>button>.price-trend-line-tooltip { top:50%; bottom:auto; transform:translate(-50%,calc(-100% - 14px));
  /* 🚨 2026-08-27 54호 — 우측 끝 데이터점(--x 100에 가까움)에서 말풍선이 상자 밖으로 나가
     scrollWidth 초과(실측: /en/pokemon/card/me2-125/ 1790 vs 1400 · 원인=이 버튼이 위 :9365
     구획에서 자신이 own 되는 26px 짜리 position:absolute 라, 아래 좌우 자리(left:50%, 부모
     .price-trend-line-tooltip 규칙)가 «이 26px 버튼» 기준으로만 잡혀 상자(figure) 경계를
     전혀 모른다 — 2026-08-07 :1725 구획(__hitarea)이 이미 푼 같은 문제의 다른 변주다.
     그 구획은 버튼이 그리드 폭 그대로라 %가 상자 기준이었지만, 여기 버튼은 own 컨테이닝
     블록이라 %만으로는 상자 폭을 알 수 없다 — container query 단위(cqw)로 상자(figure,
     바로 위 :6591·:10533 구획에서 container-type:inline-size 추가)를 직접 참조해 우회한다.
     🚨 2차 수리(같은 날) — 1차판은 말풍선 절반폭을 172px(min-width)의 절반=86px 로 가정
     했으나, 실측 결과 내용 길이에 따라 실제 폭이 172~278px 로 변했다(transform:translate(-50%)
     는 그 실제 폭 기준 정확히 절반을 밀므로, 클램프 상수가 더 좁은 값을 가정하면 다시
     넘친다 — 실측 x=100 지점에서 예상보다 111.5px 추가로 밀림, 268px 남짓 넘침).
     위 :1706 구획에서 max-width:300px 을 못박아 폭 상한을 확정했으므로, 절반폭 상수를 그
     상한 기준(150px)+버튼 중심 오프셋(13px)=163px 로 다시 잡는다 — 폭이 얼마든(172~300px)
     이 상수보다 좁으면 자동으로 여유가 남을 뿐 절대 넘치지 않는다(163px = 항상 안전한
     «최악 폭 기준» 상수). 가운데(비 클램프) 구간은 여전히 13px 로 폭 무관 정확히 중앙.*/
  left: clamp(calc(163px - var(--x,50) * 1cqw), 13px, calc(100cqw - 163px - var(--x,50) * 1cqw));
}  /* bottom:auto 근거 = 위 :8378 구획 주석(띠 문맥 대조군 원문) */
/* 2026-08-27 60호 부속(사용자 적발) — "최저가" 마켓 행 강조가 --dn(가격 하락 의미색)을
   썼다. 원칙: --up/--dn은 데이터 등락 의미에만·상업 요소는 --gold. */
/* 2026-08-27 60호 부속 재수리(Playwright 실측 — 골드가 렌더에 안 먹힘 발견) — 원인 이중:
   ①이 규칙 자체가 border-color:gold 를 적어 놓고 «그 다음 줄»에서 border:1px solid line2
   샷핸드로 스스로 지웠다(같은 규칙 안 마지막 선언이 이긴다) ②그 문제를 border-left 로
   재정정해도, «이 규칙 뒤»(:9916 부근)에 있는 일반 .denominator-labelled-row{border-color:
   line2} 규칙이 같은 특이도(0,1,0)라 소스 순서로 다시 이겼다(전수 재확인 필요 교훈).
   해결 = 두 겹: (a) 셀렉터를 .denominator-labelled-row.denominator-labelled-row--low(두
   클래스·특이도 0,2,0)로 올려 순서 무관하게 이기게 하고 (b) 각 변 색을 한 선언으로 정리해
   내부 자기충돌도 없앤다(샷핸드 재사용 금지).
   🔧 2026-08-28 62호(사용자 확정) — 이 규칙이 «실제 승자»(특이도 0,2,0)이므로 여기를 반드시
   고쳐야 렌더가 바뀐다(위 :3459 등 «죽은 사본»만 고치고 여기를 놓치면 무변화 재발 — 이
   회차 교훈 자기 계승). --gold→--buy. */
.denominator-labelled-row.denominator-labelled-row--low { border-style:solid; border-width:1px 1px 1px 4px; border-color:var(--line2) var(--line2) var(--line2) var(--buy); background:color-mix(in srgb,var(--buy)7%,var(--surf)); box-shadow:0 1px 8px color-mix(in srgb,var(--buy)14%,transparent); padding:8px 10px; }
.name-group-block__heading em { font-style:normal; font-size:14px; font-weight:700; color:var(--mut); }
.name-group-block__heading em b { color:var(--ink2); font-weight:800; font-variant-numeric:tabular-nums; }
.denominator-labelled-row__legend { flex:0 0 auto; width:72px; height:46px; border-radius:8px; display:grid; place-items:center; background:#fff; color:var(--acc-i); font-size:13px; font-weight:800; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; padding:5px 8px; overflow:visible; box-shadow:0 1px 3px rgba(0,0,0,.16),inset 0 0 0 1px rgba(0,0,0,.07); aspect-ratio:auto; min-width:0; max-width:none; }
.holo-thumb-popup-thumb__image { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; position:relative; display:block; border-radius:9px; overflow:hidden; border:1px solid var(--line); background:var(--surf2); aspect-ratio:745/1040; cursor:pointer; background-size:cover; background-position:center; touch-action:pan-y; }
.holo-thumb-popup-thumb__title { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; position:absolute; left:0; right:0; bottom:0; padding:2px 5px 3px; font-size:13px; line-height:1.35; font-weight:700; background:linear-gradient(transparent,rgba(0,0,0,.78)); color:#fff; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; z-index:2; pointer-events:none; }
.denominator-labelled-row__market-name em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.holo-thumb-popup-thumb__name { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; position:absolute; left:5px; top:5px; padding:1px 6px; border-radius:5px; font-size:13px; font-weight:800; background:rgba(0,0,0,.62); color:#fff; font-variant-numeric:tabular-nums; z-index:2; pointer-events:none; }
.denominator-labelled-row__picture { display:flex; flex-direction:column; gap:1px; }
.denominator-labelled-row__title { display:flex; flex-direction:column; gap:1px; }
.denominator-labelled-row__picture b { font-size:15px; font-weight:800; letter-spacing:-.02em; }
.price-trend-line-tooltip .price-trend-line-delta-arrow { font-style:normal; font-weight:800; margin:0 2px 0 1px; }
.denominator-labelled-row__title b { font-size:15px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.price-trend-line-tooltip .price-trend-line-delta-arrow.value-direction-rising { color:#6EE7A8; }
summary.list-unfold-button.ranked-thumbnail-list-group-header { display:flex; align-items:center; gap:11px; width:100%; box-sizing:border-box; text-align:left; }
.price-trend-line-tooltip .price-trend-line-delta-arrow.value-direction-falling { color:#FF9C8F; }
.denominator-labelled-row__picture em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); }
.ranked-thumbnail-list-artist-row__width { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; display:flex; align-items:center; gap:7px; font-size:13px; color:var(--mut); }
.card-image-tile__value--year { background:rgba(124,108,245,.92); }
.denominator-labelled-row__title em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); }
.marketplace-logo { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; display:block; gap:0; margin-top:7px; font-size:13px; color:var(--mut); flex-wrap:wrap; align-items:center; justify-content:center; font-family:Verdana,Geneva,sans-serif; font-weight:800; letter-spacing:-.04em; line-height:0; width:auto; height:auto; margin:0; padding:0; }
.price-trend-line-hover-layer button:hover>.price-trend-line-tooltip { opacity:1; visibility:visible; }
.table-card-thumbnail { display:block; width:48px; aspect-ratio:745/1040; border-radius:4px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); }  /* F44(2026-08-22) — 30px→48px(지휘자 판정: 44~56px 범위 중 .ranked-thumbnail-list-value-row__picture:11241 와 같은 척도로 통일). img 는 이미 object-fit:cover(:9362)라 박스만 키우면 레터박스 없이 꽉 찬다. */
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.denominator-labelled-row__badge { display:inline-block; padding:3px 9px; border-radius:999px; background:var(--buy); color:#fff; font-size:13px; font-weight:800; letter-spacing:-.01em; box-shadow:0 2px 8px color-mix(in srgb,var(--buy)45%,transparent); }
.rail__p { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; display:block; width:58px; border-radius:6px; overflow:hidden; line-height:0; }
.price-trend-line-hover-layer button:focus-visible>.price-trend-line-tooltip { opacity:1; visibility:visible; }
.table-card-thumbnail img { width:100%; height:100%; object-fit:cover; display:block; }
.denominator-labelled-row__diff { font-size:13px; font-weight:700; color:var(--mut); }
/* 🗑️ 2026-08-09(마감) 삭제 — 여기 있던 `transform:translate(-50%,…)` 는 :1649 구획이 이미
   `translate(0,…)` 로 못 박은 것을 되돌려, 짚는 «순간에만» 말풍선이 왼쪽으로 튀게 만들었다.
   가로 자리는 :1563 clamp 한 곳이 잡는다(위 :8395 구획 사유와 같은 한 가지 원인). */
.table-card-thumbnail .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border:0; border-radius:4px; }
.denominator-labelled-row__name { font-size:13px; color:var(--mut); font-weight:600; line-height:1.45; }
/* 🗑️ 2026-08-09(마감) 삭제 — 바로 위 :hover 짝과 같은 사유(키보드 초점에서도 같은 튐이 났다). */
.ranked-thumbnail-list-card-row--pokedex .ranked-thumbnail-list-card-row__description { color:var(--ink); }
.denominator-labelled-row__button { display:grid; place-items:center; padding:9px 10px; border-radius:8px; background:var(--surf2); border:1px solid var(--line2); color:var(--ink); font-size:13px; font-weight:800; text-decoration:none; white-space:nowrap; transition:background .13s,border-color .13s,color .13s; border-color:var(--line2); }
.price-trend-line-hover-layer__points>button:hover>.price-trend-line-tooltip { transform:translate(-50%,calc(-100% - 10px)); }
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.denominator-labelled-row--low .denominator-labelled-row__button { background:var(--buy); border-color:var(--buy); color:#fff; box-shadow:0 2px 10px color-mix(in srgb,var(--buy)40%,transparent); }
.holo-thumb-popup-preview__image { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; width:100%; height:100%; border-radius:12px; background-size:cover; background-position:center; }
.price-trend-line-hover-layer__points>button:focus-visible>.price-trend-line-tooltip { transform:translate(-50%,calc(-100% - 10px)); }
.denominator-labelled-row__button:hover { border-color:var(--acc); background:var(--acc); color:#fff; }
.holo-thumb-popup-preview__inner { position:relative; width:100%; height:100%; opacity:0; transform:scale(.94); transition:opacity .16s ease,transform .16s ease; filter:drop-shadow(0 22px 44px rgba(0,0,0,.5)); }
.price-trend-line-hover-layer__hitarea>button:hover::before { opacity:1; }
.denominator-labelled-row__button:focus-visible { border-color:var(--acc); background:var(--acc); color:#fff; }
.holo-thumb-popup-preview__fallback { position:absolute; left:0; top:0; right:0; bottom:0; z-index:1; display:none; aspect-ratio:auto; border-radius:12px; overflow:hidden; }
.price-trend-line-hover-layer__hitarea>button:focus-visible::before { opacity:1; }
.holo-thumb-popup-preview[data-fb] .holo-thumb-popup-preview__fallback { display:block; }
/* 🗑️ 2026-08-09(마감) 삭제 — :1659 구획과 «글자 하나까지 같은» 복제였다(중복 통합). */
.holo-thumb-popup-preview[data-fb] .holo-thumb-popup-card__shine { opacity:0; }
/* 🗑️ 2026-08-09(마감) 삭제 — :1663 복제. */
.holo-thumb-popup-preview[data-fb] .holo-thumb-popup-card__glare { opacity:0; }
.rail__c .year-rail-card-thumbnail { width:58px; }
/* 🗑️ 2026-08-09(마감) 삭제 — :1664 복제. */
.holo-thumb-popup-preview__fallback .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:12px; border:1px solid var(--line2,#d8dce4); display:grid; grid-template-rows:auto 1fr auto; gap:4px; padding:15px 16px 42px; text-align:left; background:var(--surf2,#eef1f6); }
/* 🗑️ 2026-08-09(마감) 삭제 — :1667 복제. */
.holo-thumb-popup-preview__fallback .card-image-fallback * { aspect-ratio:auto; overflow:visible; width:auto; }
/* 🗑️ 2026-08-09(마감) 삭제 — :1672 복제. */
.holo-thumb-popup-preview__fallback .card-image-fallback__header { display:flex; grid-row:1; align-items:baseline; justify-content:space-between; gap:7px; padding:4px 8px; border-radius:5px; overflow:hidden; background:var(--line2,#d8dce4); }
/* 🗑️ 2026-08-09(마감) 삭제 — :1673 복제. */
.holo-thumb-popup-preview__fallback .card-image-fallback__footer { display:flex; grid-row:3; align-items:baseline; justify-content:space-between; gap:7px; padding:4px 8px; border-radius:5px; overflow:hidden; background:var(--line2,#d8dce4); }
.price-trend-line-hover-layer__hitarea>button.table-row-current:hover { background:color-mix(in srgb,var(--dn)11%,transparent); }
.sibling-axis-link-card__bar { display:block; height:7px; margin-top:6px; border-radius:99px; background:var(--line2); overflow:hidden; }
.price-trend-line-hover-layer__hitarea>button.table-row-current:focus-visible { background:color-mix(in srgb,var(--dn)11%,transparent); }
.sibling-axis-link-card__bar i { display:block; height:100%; width:var(--w); border-radius:99px; background:var(--acc); opacity:.8; }
.funnel-step-chart { margin-top:14px; padding:15px 15px 13px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); }
.price-trend-line-hover-layer__hitarea>button.table-row-current::before { background:var(--dn); }
.sibling-axis-link-card:hover .sibling-axis-link-card__bar i { opacity:1; }
.funnel-step-chart__heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:11px; }
.holo-thumb-popup-preview__fallback .card-image-fallback__artwork { display:grid; grid-row:2; place-items:center; border-radius:6px; overflow:hidden; background:var(--surf,#f7f9fc); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell { position:relative; display:flex; flex-direction:column; gap:4px; width:100%; height:100%; padding:7px; border-radius:12px; overflow:hidden; background:linear-gradient(150deg,#FFE9A3 0%,#F5C542 26%,#E8A424 55%,#F7D96B 78%,#D9931C 100%); }
.dvn { font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sibling-axis-link-card:focus-visible .sibling-axis-link-card__bar i { opacity:1; }
.funnel-step-chart__title { margin:0; font-size:16px; font-weight:800; color:var(--ink); }
.holo-thumb-popup-preview__fallback .card-image-fallback__name { display:block; font-size:15px; font-weight:800; line-height:1.3; color:var(--ink2,#2b303b); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__header { position:relative; z-index:2; display:flex; align-items:baseline; justify-content:space-between; gap:6px; padding:3px 7px; border-radius:5px; background:rgba(28,18,4,.30); color:#FFF7E2; }
.sibling-axis-link-card__name { display:block; font-size:13px; font-weight:700; color:var(--mut); margin-top:4px; }
.funnel-step-chart__reading-hint { font-size:13px; color:var(--mut); font-weight:600; }
.holo-thumb-popup-preview__fallback .card-image-fallback__meta { display:block; text-align:center; font-size:13.5px; font-style:normal; font-weight:700; line-height:1.4; word-break:keep-all; color:var(--mut,#6b7280); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__footer { position:relative; z-index:2; display:flex; align-items:baseline; justify-content:space-between; gap:6px; padding:3px 7px; border-radius:5px; background:rgba(28,18,4,.30); color:#FFF7E2; }
.sibling-axis-link-card__name b { color:var(--ink2); font-weight:800; }
.funnel-step-chart__label { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.holo-thumb-popup-preview__fallback .card-image-fallback__hp { display:block; font-size:13.5px; font-style:normal; font-weight:700; color:var(--mut,#6b7280); }
.year-rail-card-thumbnail:hover { transform:translateY(-6px)scale(1.06); border-color:var(--acc); z-index:5; box-shadow:0 14px 22px -10px rgba(0,0,0,.6); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__header b { font-size:13px; font-weight:800; letter-spacing:-.02em; }
.sibling-axis-link-grid__footnote { margin:11px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }
.funnel-step-chart__subtitle { display:grid; grid-template-columns:minmax(0,1fr)128px; gap:10px; align-items:center; }
.holo-thumb-popup-preview__fallback .card-image-fallback__set { display:block; font-size:13.5px; font-style:normal; font-weight:700; color:var(--mut,#6b7280); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__header em { font-style:normal; font-size:13px; font-weight:800; color:#FFD9A0; }
.sibling-axis-link-grid__footnote b { color:var(--ink2); font-weight:800; }
.funnel-step-chart__subtitle>* { min-width:0; }
.holo-thumb-popup-preview__fallback .card-image-fallback__content { display:block; font-size:13.5px; font-style:normal; font-weight:700; color:var(--mut,#6b7280); }
.bordered-table-wrapper { overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); -webkit-overflow-scrolling:touch; }
/* 표준 스크롤 상자 이름을 «함께» 단 자리(pk-band-list · p28-g)의 여백만 중화한다.
   표준 이름은 margin:16px 0 8px 을 가져오는데(modules.css :4335) 이 상자는 제 여백 문법이
   따로 있어 그대로 두면 표가 아래로 밀린다. 생김새는 이 시트가, 넘침·안내는 표준이 진다. */
.module-table__scroll-wrap.bordered-table-wrapper { margin:0; }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__footer b { font-size:13px; font-weight:700; }
.cause-flow-strip { display:flex; align-items:stretch; gap:9px; flex-wrap:nowrap; margin:12px 0 0; justify-content:center; padding:11px 13px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }  /* 다수결4장 */
.funnel-step-chart__band { position:relative; height:34px; width:100%; border-radius:6px; overflow:hidden; background:var(--line2); border:1px solid var(--line2); box-sizing:border-box; }
.holo-thumb-popup-preview__go { position:absolute; left:0; right:0; bottom:0; z-index:6; display:flex; align-items:center; justify-content:center; gap:7px; padding:6px 9px 7px; border-radius:0 0 12px 12px; text-decoration:none; font-size:13px; line-height:1.35; font-weight:800; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.62)38%,rgba(0,0,0,.92)); }
.bordered-table-wrapper table { border-collapse:collapse; width:100%; font-size:15px; min-width:520px; }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__footer em { font-style:normal; font-size:13px; font-weight:800; font-family:ui-monospace,Menlo,monospace; color:#FFE3AE; }
.cause-flow-strip>* { min-width:0; }
.funnel-step-chart__band i { display:block; height:100%; width:var(--w); border-radius:5px; background:color-mix(in srgb,var(--acc)72%,var(--surf)); min-width:2px; }
.holo-thumb-popup-preview__go[hidden] { display:none; }
.bordered-table-wrapper caption { text-align:left; padding:13px 15px 9px; font-weight:800; font-size:14px; color:var(--ink); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__artwork { position:relative; z-index:2; flex:1; border-radius:7px; overflow:hidden; border:2px solid rgba(255,247,214,.75); background:radial-gradient(120% 90% at 26% 18%,#FFF3B0 0%,#FFC24A 22%,#FF7A2F 48%,#E8352E 70%,#A32BC4 100%); }
.cause-flow-strip__name { flex:1 1 0; min-width:0; padding:11px 13px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
.funnel-step-chart__band b { position:absolute; left:11px; top:0; height:100%; display:flex; align-items:center; font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap; }
.holo-thumb-popup-preview__go-text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bordered-table-wrapper th { padding:9px 14px; text-align:center; border-top:1px solid var(--line); color:var(--mut); line-height:1.5; font-size:13px; font-weight:800; white-space:nowrap; }  /* 머리 전열 가운데 — p28-g W5 보정 */
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__flame { position:absolute; inset:-14% -8% -22% -8%; background:radial-gradient(46% 40% at 34% 62%,rgba(255,236,150,.95)0%,rgba(255,150,40,.72)42%,transparent 72%),radial-gradient(38% 34% at 70% 40%,rgba(255,110,60,.85)0%,transparent 70%),radial-gradient(30% 26% at 56% 84%,rgba(255,215,120,.8)0%,transparent 74%); }
.cause-flow-strip__key { display:block; font-size:13px; font-weight:700; color:var(--mut); }
.funnel-step-chart__subtitle--current .funnel-step-chart__band i { background:var(--acc); }
.holo-thumb-popup-preview__go-arrow { flex:0 0 auto; display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s,rgba(124,108,245,.16)); color:var(--acc-i,#5b4bd6); font-size:13px; font-weight:800; line-height:1; }
.bordered-table-wrapper td { padding:9px 14px; text-align:left; border-top:1px solid var(--line); color:var(--ink2); line-height:1.5; }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__glow { position:absolute; inset:0; background:radial-gradient(60% 44% at 50% 8%,rgba(255,255,255,.55)0%,transparent 62%); }
.cause-flow-strip__value { display:block; font-size:16px; font-weight:800; color:var(--ink); line-height:1.35; margin-top:2px; }
.funnel-step-chart__value { text-align:right; font-size:15px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; color:var(--ink); }
.holo-thumb-popup-preview__go-arrow::after { content:"→"; }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__holo { position:absolute; inset:0; z-index:3; pointer-events:none; mix-blend-mode:color-dodge; opacity:.30; background:repeating-linear-gradient(112deg,rgba(255,80,80,.55)0 7px,rgba(255,210,60,.55)7px 14px,rgba(90,235,140,.55)14px 21px,rgba(70,190,255,.55)21px 28px,rgba(190,110,255,.55)28px 35px); }
.cause-flow-strip__description { display:block; font-size:13px; color:var(--ink2); line-height:1.5; margin-top:3px; }
.funnel-step-chart__value em { display:block; font-style:normal; font-size:13px; font-weight:600; color:var(--mut); white-space:normal; }
.bordered-table-wrapper tbody tr:hover { background:var(--surf); }
.holo-thumb-popup-artwork-frame .composition-donut-stat-cell__sheen { position:absolute; top:-60%; left:-120%; width:70%; height:220%; z-index:4; pointer-events:none; transform:rotate(19deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.62)46%,rgba(255,255,255,.9)52%,transparent); animation:sheen 4.6s ease-in-out infinite; }
.cause-flow-strip__arrow { flex:0 0 auto; width:44px; display:grid; place-items:center; color:var(--acc); }
.funnel-step-chart__arrow { display:block; width:17px; height:17px; margin:0 auto; color:var(--mut); }
.bordered-table-wrapper td.numeric-value-column { text-align:right; font-variant-numeric:tabular-nums; font-weight:800; color:var(--ink); white-space:nowrap; overflow:visible; text-overflow:clip; }
.cause-flow-strip__arrow svg { width:100%; height:26px; display:block; fill:none; stroke:currentColor; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.funnel-step-chart__arrow path { stroke:currentColor; stroke-width:2.4; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.holo-thumb-popup-preview.state-current-active { opacity:1; transform:scale(1); }
/* 머리는 «이름표»라 값 정렬을 따르지 않는다 — 숫자 칸(td)만 오른쪽, 머리(th)는 전열 가운데.
   p28-g W5 보정(지휘 판정: 사용자 확정 규칙 > 시안·부품 기본값). */
.bordered-table-wrapper th.numeric-value-column { text-align:center; font-variant-numeric:tabular-nums; font-weight:800; color:var(--ink); white-space:nowrap; overflow:visible; text-overflow:clip; }
.funnel-step-chart__footnote { margin:11px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }
.holo-thumb-popup-preview .holo-thumb-popup-card { width:100%; height:100%; --card-radius:12px; }
.bordered-table-wrapper td.table-name-cell { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-weight:700; }
.price-trend-line-band>input { position:absolute; opacity:0; pointer-events:none; }
.funnel-step-chart__footnote b { color:var(--ink2); font-weight:800; }
.holo-thumb-popup-preview .holo-thumb-popup-card__translater { width:100%; height:100%; perspective:calc(var(--pop-w)* 1.5); }
.bordered-table-wrapper tr.table-row-current td { background:var(--acc-s); }
.holo-thumb-popup-preview .holo-thumb-popup-card__rotator { width:100%; height:100%; perspective:calc(var(--pop-w)* 1.5); }
.bordered-table-wrapper tr.table-row-current td.table-name-cell { color:var(--acc-i); }
.price-trend-line-chart__heading .visual-block-heading { margin:0; }
.vsx { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; margin:0 auto; font-size:16px; font-weight:800; letter-spacing:.02em; background:var(--surf2); border:1px solid var(--line2); color:var(--ink2); }
.inline-page-switch { position:relative; }
.price-trend-line-period-switch { display:inline-flex; gap:3px; padding:3px; border-radius:8px; background:var(--surf2); border:1px solid var(--line); }
.wide-table-scroll-area { overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; border-radius:var(--r-s); }
.inline-page-switch-radio { position:absolute; width:0; height:0; opacity:0; pointer-events:none; }
.price-trend-line-period-switch label { padding:5px 11px; border-radius:6px; font-size:13px; font-weight:800; color:var(--mut); cursor:pointer; transition:background .13s,color .13s; }
.wide-table-scroll-area table { min-width:560px; }
.price-trend-line-tooltip-hitarea { position:relative; overflow:visible; flex:1 1 0; min-width:0; cursor:pointer; background:none; border:0; padding:0; }
.inline-page-switch .inline-page-switch-block { display:none; }
.price-trend-line-period-switch label:hover { color:var(--ink2); }
.holo-thumb-popup-preview .holo-thumb-popup-card__front { border-radius:12px; background-size:cover; background-position:center; }
#catpg1:checked~.inline-page-switch-block--page-1 { display:block; }
.price-trend-line-tooltip-hitarea:hover>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }  /* 다수결5장 */
#catpg2:checked~.inline-page-switch-block--page-2 { display:block; }
.price-trend-line-chart__picture { display:none; position:relative; height:120px; }
.price-trend-line-tooltip-hitarea:focus-visible>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }  /* 다수결5장 */
#catpg3:checked~.inline-page-switch-block--page-3 { display:block; }
.holo-thumb-popup-preview.state-current-active .holo-thumb-popup-preview__inner { opacity:1; transform:scale(1); }
.price-trend-line-tooltip-hitarea:active>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }  /* 최신 */
.inline-page-switch-labels label { min-width:31px; height:31px; display:grid; place-items:center; border-radius:7px; font-size:13.4px; font-weight:700; border:1px solid var(--line2); background:var(--surf); color:var(--ink2); cursor:pointer; }
.caution-notes-box__label b { color:var(--ink2); font-weight:800; }
.inline-page-switch-labels label:hover { border-color:var(--acc); }
.price-trend-line-chart__name { display:none; }
.lifespan-band-chart-track { margin:0; padding:14px; background:var(--surf2); border:1px solid var(--line); border-radius:var(--r-s); }
#catpg1:checked~.list-page-bar .inline-page-switch-labels label[for="catpg1"] { background:var(--acc); border-color:var(--acc); color:#fff; }
.price-trend-line-chart__name b { font-weight:800; margin-left:3px; }
.lifespan-band-chart-row { display:grid; grid-template-columns:104px minmax(0,1fr)96px; gap:9px; align-items:center; margin-bottom:7px; }
#catpg2:checked~.list-page-bar .inline-page-switch-labels label[for="catpg2"] { background:var(--acc); border-color:var(--acc); color:#fff; }
#tp-d7:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--days-7 { display:block; }
.lifespan-band-chart-row:last-of-type { margin-bottom:0; }
.rail__link { display:block; width:100%; height:20px; }
#catpg3:checked~.list-page-bar .inline-page-switch-labels label[for="catpg3"] { background:var(--acc); border-color:var(--acc); color:#fff; }
#tp-d30:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--days-30 { display:block; }
.lifespan-band-chart-row>* { min-width:0; }
.rail__link path { fill:none; stroke:var(--line2); stroke-width:1.4; }
#tp-d90:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--days-90 { display:block; }
.lifespan-band-chart-row-key { font-size:14px; font-weight:800; line-height:1.25; word-break:keep-all; overflow-wrap:anywhere; }
.rail__row { display:flex; gap:10px; }
#tp-y1:checked~.price-trend-line-chart__content .price-trend-line-chart__picture--year-1 { display:block; }
.lifespan-band-chart-row-key em { display:block; font-style:normal; font-size:13px; font-weight:700; color:var(--mut); }
a.stat-tile-metric__content:hover { border-color:var(--acc); }
.rail__c { flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:3px; padding:10px 7px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf2); }  /* 다수결4장 */
#tp-d7:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--days-7 { display:inline; }
.lifespan-band-chart-row-track { position:relative; height:13px; border-radius:7px; background:var(--line2); }
.price-trend-line-tooltip__arrow.value-direction-rising { color:#6EE7A8; }  /* 다수결9장 */
#tp-d30:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--days-30 { display:inline; }
.rail__p img { width:100%; height:auto; display:block; }
.price-trend-line-tooltip__arrow.value-direction-falling { color:#FF9C8F; }  /* 다수결9장 */
#tp-d90:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--days-90 { display:inline; }
.lifespan-band-chart-row-years { font-size:13px; color:var(--ink2); text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rail__y { font-size:15px; font-weight:800; letter-spacing:-.02em; }
.price-trend-line-tooltip-hitarea:first-child>.price-trend-line-tooltip { left:0; transform:translate(0,calc(-100% - 16px)); }  /* 최신 */
#tp-y1:checked~.price-trend-line-chart__footnote .price-trend-line-chart__name--year-1 { display:inline; }
/* 🩹 2026-08-11(p28) ⑪ 「가운데 막대 영역이 안 읽힌다」의 뿌리 — 눈금이 자를 안 가리키고 있었다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 띠가 누운 자(.lifespan-band-chart-row-track)는 행 격자의 «가운데 칸»이다
     (왼쪽 104px 는 표기 이름, 오른쪽 96px 는 연도 글자). 그런데 이 눈금 줄은 flex+space-between
     이라 «상자 전체 폭»의 양 끝에 1999·2026 을 붙였다. 실측(수리 전 · 1280px):
       자 = x 150 ~ 1107 · 눈금 = x 37 ~ 1212 → 왼쪽 113px · 오른쪽 105px 어긋남.
     즉 「1999」라고 적힌 자리에는 자가 없고, 자의 왼쪽 끝에는 아무 글자도 없었다. 읽는 사람이
     막대의 시작이 몇 년인지 눈으로 짚을 수 없으니 막대가 «양»(카드 수)으로 오해된다.
   ■ 이 줄의 «의도»가 격자였다는 증거 — :10851 이 `.lifespan-band-chart-axis>span{grid-column:2}`
     로 눈금을 가운데 칸에 넣으려 한다. display 가 flex 라 그 규칙이 통째로 죽어 있었다.
   ■ 수리 = 행과 «같은 격자»를 준다(104px minmax(0,1fr) 96px · gap 9px — :8733 행 규칙의 값 그대로).
     그러면 눈금이 자의 두 끝에 정확히 선다. 폭이 좁아지는 :10245(≤560px) 에서도 행이 바뀌는
     만큼 눈금도 같이 바꾼다(그 자리 주석 참조) — 한 짝으로 움직여야 어긋나지 않는다.
   ■ 세로 획(::before) = 눈금 글자와 자를 «눈으로» 잇는 최소 장치. 글자 위 15px 를 올라가
     마지막 띠 줄까지 닿는다. 색은 이미 이 줄이 쓰는 var(--line) 그대로 — 새 색 0.
   🔒 값을 새로 짓지 않았다 — 104/96/9 는 행 규칙, --line 은 이 규칙의 원래 색이다. */
.lifespan-band-chart-axis { display:grid; grid-template-columns:104px minmax(0,1fr)96px; gap:9px; font-size:13px; color:var(--mut); margin-top:8px; padding-top:7px; border-top:1px solid var(--line); }
.lifespan-band-chart-axis>span { grid-row:1; grid-column:2; position:relative; }
.lifespan-band-chart-axis>span:first-child { justify-self:start; }
.lifespan-band-chart-axis>span:last-child { justify-self:end; }
.lifespan-band-chart-axis>span::before { content:""; position:absolute; top:-15px; width:2px; height:15px; background:var(--line); }
.lifespan-band-chart-axis>span:first-child::before { left:0; }
.lifespan-band-chart-axis>span:last-child::before { right:0; }
/* 📖 범례 — 자 밑 한 줄. 문법은 상자수염의 범례(:11239~)와 같은 것을 쓰되 이름의 밑동은
   이 부품 것으로 둔다(단축명 금지·밑동=모듈명 규칙). 견본은 «모양»을 설명한다:
   진한 띠 = 아직 나오는 표기, 흐린 띠 = 멎은 표기 — 화면의 띠가 쓰는 색 그대로다. */
.lifespan-band-chart-legend { display:flex; flex-wrap:wrap; gap:8px 18px; margin:10px 0 0; padding:0; list-style:none; font-size:13px; color:var(--mut); }
.lifespan-band-chart-legend__item { display:flex; align-items:center; gap:7px; }
.lifespan-band-chart-legend__glyph { flex:0 0 auto; display:block; width:22px; height:13px; border-radius:7px; }
.lifespan-band-chart-legend__glyph--live { background:var(--acc); }
.lifespan-band-chart-legend__glyph--stopped { background:var(--mut); }
.lifespan-band-chart-legend__label { min-width:0; }
.rail__w { font-size:13px; color:var(--acc-i); font-weight:700; line-height:1.35; word-break:keep-all; }
.price-trend-line-tooltip-hitarea:first-child:hover>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }  /* 최신 */
#tp-d7:checked~.price-trend-line-chart__heading label[for="tp-d7"] { background:var(--acc); color:#fff; }
.rail__s { font-size:13px; color:var(--ink2); line-height:1.35; word-break:keep-all; }
.price-trend-line-tooltip-hitarea:first-child:focus-visible>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }  /* 최신 */
#tp-d30:checked~.price-trend-line-chart__heading label[for="tp-d30"] { background:var(--acc); color:#fff; }
.axis-count-chip-row { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.rail__n { font-size:13px; color:var(--acc-i); background:var(--acc-s); border-radius:999px; padding:1px 9px; }
.price-trend-line-tooltip-hitarea:last-child>.price-trend-line-tooltip { left:auto; right:0; transform:translate(0,calc(-100% - 16px)); }  /* 최신 */
#tp-d90:checked~.price-trend-line-chart__heading label[for="tp-d90"] { background:var(--acc); color:#fff; }
.axis-count-chip { display:inline-flex; align-items:baseline; gap:6px; padding:4px 10px; border-radius:999px; border:1px solid var(--line2); background:var(--surf2); font-size:14px; color:var(--ink2); }
.price-trend-line-tooltip-hitarea:last-child:hover>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }  /* 최신 */
#tp-y1:checked~.price-trend-line-chart__heading label[for="tp-y1"] { background:var(--acc); color:#fff; }
.axis-count-chip b { font-size:13px; font-weight:800; color:var(--acc-i); }
.price-trend-line-tooltip-hitarea:last-child:focus-visible>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }  /* 최신 */
.price-trend-line-band>input:focus-visible~.price-trend-line-chart__heading .price-trend-line-period-switch { outline:2px solid var(--acc); outline-offset:2px; }
.page-type-signature-header { display:flex; align-items:center; gap:11px; flex-wrap:wrap; margin-bottom:12px; padding:11px 13px; border-radius:var(--r-s); background:var(--surf2); border:1px dashed var(--line2); }
.page-type-chip { flex:0 0 auto; font-size:13px; font-weight:800; padding:3px 11px; border-radius:999px; background:var(--acc); color:#fff; letter-spacing:-.01em; }
.yearly-output-spark-bars { display:flex; align-items:flex-end; gap:3px; height:54px; margin:12px 0 5px; padding:9px 11px; border:1px solid var(--line); border-radius:var(--r-s); background:var(--surf2); position:absolute; inset:0; }
.footnote-block__heading { margin:0 0 9px; font-size:16px; font-weight:800; color:var(--ink); }  /* 다수결4장 */
.page-type-signature-header__width { flex:1 1 240px; min-width:0; font-size:15px; color:var(--ink2); }
.module-review-panel { --rv-accent:#e43917; --rv-track:#ddd; margin:24px 0 32px; padding:26px 28px; border-radius:var(--color-radius-lg); background:#fff; box-shadow:0 2px 20px rgba(0,0,0,.08); }
.page-type-signature-header__width b { color:var(--ink); font-weight:800; }
.yearly-output-spark-bars__bar.state-current-active { background:var(--acc); }
.module-overall-score { --rv-accent:#e43917; --rv-track:#ddd; margin:0; }
.denominator-labelled-row--low .denominator-labelled-row__legend { background:inherit; color:inherit; }
.page-type-signature-header__content { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:800; color:var(--acc-i); text-decoration:none; }
.yearly-output-spark-bars__content { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:13px; color:var(--mut); margin:0 0 12px; }
.module-rate-bar { --rv-accent:#e43917; --rv-track:#ddd; list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:16px; }
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.denominator-labelled-row--low .denominator-labelled-row__title b { color:var(--buy); font-size:17px; }
.page-type-signature-header__content i { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:var(--acc-s); font-style:normal; font-size:13px; font-weight:800; line-height:1; transition:transform .13s,background .13s,color .13s; }
.yearly-output-spark-bars__content span { text-align:center; }
.page-type-signature-header__content:hover i { background:var(--acc); color:#fff; transform:translateX(2px); }
.yearly-output-spark-bars__content b { font-variant-numeric:tabular-nums; flex:0 0 auto; }
.module-overall-score__head { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:flex-start; }
.caution-notes-box__label li:last-child { margin-bottom:0; }
.axis-overview-panel { padding:15px 15px 13px; border:1px solid var(--line2); border-radius:var(--r); background:var(--surf); margin-bottom:13px; }
.data-story-tile__chart-wrap { position:relative; display:block; }
.touch-only-hint { display:none; }
.module-overall-score__tile { flex:0 0 auto; min-width:100px; max-width:210px; border-radius:6px; overflow:hidden; text-align:center; background:var(--rv-accent,#e43917); box-shadow:var(--color-shadow-sm); }
.axis-overview-panel>h3 { margin:0 0 4px; font-size:18px; font-weight:800; letter-spacing:-.02em; line-height:1.3; display:flex; align-items:center; gap:9px; }
.module-overall-score--tile .module-overall-score__tile { flex:0 0 110px; width:110px; min-width:0; max-width:110px; display:flex; flex-direction:column; float:left; margin:0 20px 10px 0; min-height:110px; }
.denominator-labelled-row__group { display:flex; align-items:center; gap:7px; margin:2px 0 7px; font-size:13px; font-weight:800; color:var(--ink2); letter-spacing:-.01em; }
.axis-overview-icon-badge { flex:0 0 auto; display:grid; place-items:center; width:31px; height:31px; border-radius:9px; background:var(--surf2); border:1px solid var(--line2); font-size:16px; line-height:1; }
.data-story-tile__chart-dot { position:absolute; width:6px; height:6px; border-radius:50%; background:var(--dn); transform:translate(-50%,-50%); pointer-events:none; }
.module-overall-score--tile .module-overall-score__value { font-size:clamp(40px,8vw,48px); padding:12px 2px 10px; flex:1 1 auto; display:flex; align-items:center; justify-content:center; }
/* 🔧 2026-08-09 1판 — «No. 1 이 두 줄로 쪼개지고 활자 위계가 어긋나던 것» 수리 시도
   → 2026-08-09 2판(지휘자 오참조 인정 · 아래) — 1판을 걷어내고 표준으로 복원했다.
   ■ 1판이 했던 일(철회) — 카드 판 .data-story-tile__value(23px/800/nowrap)를 «표준»으로
     오인해 그 값을 이 칸에 옮겼다. 그런데 .module-overall-score 는 «축 전용 부품이 아니라
     4사이트 공용 표준 모듈»이다(core/template/modules/overall-score.php · modules.css:12058) —
     진짜 원본은 data-story-tile 이 아니라 modules.css 자신의 .module-overall-score--tile
     .module-overall-score__value(:12046 · 바로 위 :8758 사본) 다. 대조군을 잘못 짚었었다.
   ■ 표준 원본 실측(modules.css) — font-size:clamp(40px,8vw,48px) · font-weight:400
     (base :12058~12061 상속) · line-height:1 · letter-spacing:0. 1판의 23px/800/nowrap 은
     전부 «새 값»이었다(표준에 없는 수) — 무수정 원칙 위반이라 걷어낸다.
   ■ 「No. 1 이 110px 상자에서 48px 로 두 줄이 된다」는 실측 자체는 남아 있다(:8762 계열) —
     그런데 그 «수리 방향»(값을 줄인다)이 잘못이었다: module-overall-score--tile 은 여기
     축-podium.php 한 곳에서만 쓰고, 그 한 곳이 늘 «순위»(No. N)를 담는다(8.7·92 같은
     점수는 애초에 이 축에 없다 — 실측: 이 파일 안 다른 사용처 0). 표준값을 표준값대로
     두고, 줄바꿈·상자 크기 쪽에서 다시 살필 문제이지 활자 크기를 표준에서 이탈시켜
     풀 문제가 아니었다(그 판단은 이 회차 범위 밖 — 지휘자 재지시 대기).
   🔒 새 값 0 — 아래 규칙 자체를 지운다(표준 :8758 로 되돌아간다). 원 부품(modules.css)도
      무수정 — 이 축 스포크 시트(item-modules.css)에 있던 «자기만의 값»만 걷어낸다.
   → 2026-08-09 3판(지휘자 확정 — 최종) — 표기를 «접두 + 숫자» 두 토막으로 나눈다
     (axis-podium.php 동시 수정). 숫자(module-overall-score__value 자체)는 위 :8758
     표준값 그대로 두고 손대지 않는다 — 새로 다는 것은 접두 전용 보조 클래스 하나뿐이다. */
.module-overall-score__value-prefix {
  font-size: 16px; /* 2026-08-10 사용자 재조정: 20→16px(서열 패널 문맥에서 축소 지시) */
  font-weight: 700;
  opacity: .7;
  margin-right: 4px;
  align-self: center;
}
.denominator-labelled-row__group span { padding:2px 8px; border-radius:999px; background:var(--surf); border:1px solid var(--line2); font-size:13px; font-weight:700; color:var(--mut); }
.search-intent-emoji-badge { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:7px; background:var(--acc-s); font-size:14px; line-height:1; margin-right:7px; vertical-align:-5px; }
.screen-reader-only-text { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }  /* 기준판 */
.lens-entry-panel__title em { font-style:normal; font-weight:700; color:var(--mut); }
.denominator-labelled-row__group--reference { margin-top:12px; padding-top:11px; color:var(--mut); }  /* R24(2026-08-17): 점선 구분선 제거(중복 선언 통일 — 3352행과 동일 처리) — 패딩은 유지(회귀 0) */
.axis-list-entry-button { display:inline-flex; align-items:center; gap:8px; margin-top:9px; padding:6px 12px; border-radius:999px; border:1px solid var(--acc); background:var(--acc-s); color:var(--acc-i); font-size:14px; font-weight:800; text-decoration:none; transition:background .14s,color .14s; }
.source-limit-badge { display:inline-block; margin-left:9px; padding:3px 10px; border-radius:999px; font-size:13px; font-weight:800; vertical-align:middle; background:color-mix(in srgb,var(--mut)15%,transparent); color:var(--mut); border:1px solid color-mix(in srgb,var(--warn)34%,transparent); letter-spacing:-.01em; white-space:nowrap; }  /* 기준판·다수결10장 */
.module-overall-score--tile .module-overall-score__head { display:block; }
.axis-list-entry-button b { font-weight:700; color:var(--mut); font-size:13px; }
.source-limit-badge--never { background:color-mix(in srgb,var(--dn)14%,transparent); color:var(--dn); border-color:color-mix(in srgb,var(--dn)32%,transparent); border:1px solid color-mix(in srgb,var(--dn)32%,transparent); }  /* 기준판 */
.module-overall-score--tile .module-overall-score__head::after { content:""; display:block; clear:both; }
.axis-list-entry-button i { font-style:normal; font-size:13px; font-weight:800; line-height:1; transition:transform .13s; }
/* 🔧 2026-08-09 아래 여백 0 → 14px (§10 맞닿음 4쌍 중 하나 · 실측: 이 줄 뒤 그림이 간격 0px 로 맞닿음).
   값 출처 = §10 이 쓰는 14px 그대로(.visual-block-box{margin:0 0 14px}). 위·좌우는 그대로 둔다. */
.section-footnote-line { font-size:13.2px; color:var(--mut); margin:8px 0 14px; line-height:1.6; }  /* 기준판·다수결12장 · 2026-08-09 아래여백 */
.axis-list-entry-button:hover { background:var(--acc); color:#fff; }
.section-footnote-line b { color:var(--ink2); font-weight:800; }
.axis-list-entry-button:hover b { color:rgba(255,255,255,.82); }
p.footnote-block__heading { margin:0 0 6px; font-size:16px; font-weight:700; color:var(--ink); }
.module-overall-score--tile .module-overall-score__label { margin-top:auto; width:100%; box-sizing:border-box; }
.axis-list-entry-button:hover i { transform:translateX(2px); }
.caution-notes-box__heading { margin:0 0 8px; font-size:14px; font-weight:700; color:var(--ink); }  /* 기준판 */
.module-overall-score--tiercolor .module-overall-score__tile { background:var(--dv-accent,#64748b); }
.denominator-labelled-row--low .denominator-labelled-row__button:hover { background:var(--acc); border-color:var(--acc); }
.axis-overview-panel__subtitle { margin:0 0 11px; font-size:15px; color:var(--ink2); }
.caution-notes-box__label { margin:0; padding:0 0 0 17px; }  /* 기준판 */
.module-overall-score__value { display:block; padding:8px 0; color:#fff; font-weight:400; font-size:clamp(40px,8vw,52px); line-height:1; letter-spacing:0; font-variant-numeric:tabular-nums; }
.denominator-labelled-row--low .denominator-labelled-row__button:focus-visible { background:var(--acc); border-color:var(--acc); }
.axis-overview-panel__subtitle b { color:var(--ink); font-weight:800; }
.caution-notes-box__label li { margin:0 0 6px; font-size:13px; line-height:1.66; color:var(--mut); }  /* 기준판 */
.module-overall-score__label { display:block; margin:0; padding:9px 10px; background:var(--color-text-primary,#1e293b); color:#fff; font-size:13px; font-weight:700; letter-spacing:.3px; line-height:1.35; word-break:keep-all; }
.axis-overview-panel .ranked-thumbnail-list-feature-row { grid-template-columns:repeat(2,1fr); max-width:340px; margin-bottom:11px; }
.caution-notes-box__label li b { color:var(--ink2); font-weight:800; }
.module-overall-score__label a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
.caution-notes-box__title { margin:10px 0 0; font-size:13px; color:var(--mut); line-height:1.62; padding-top:10px; border-top:1px solid var(--line); }  /* 기준판 */
.module-overall-score__meta { flex:1 1 240px; min-width:0; text-align:left; }
.price-trend-line-band { margin-top:14px; padding:14px 15px 12px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin:12px 0 0; position:relative; }  /* 기준판 */
.module-overall-score__delta { display:inline-block; margin-bottom:6px; font-size:13.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.price-trend-line-chart__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:9px; }  /* 기준판 */
.module-overall-score__delta.chg-up { color:#d11507; }
.data-story-tile__value.value-direction-rising { color:var(--up); }
.value-entry-pill-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }  /* 최신 */
.price-trend-line-chart__title { margin:0; font-size:16px; font-weight:800; color:var(--ink); }
.module-overall-score__delta.chg-down { color:#1554d1; }
.data-story-tile__value.value-direction-falling { color:var(--dn); }
.value-entry-pill { display:inline-flex; align-items:baseline; gap:7px; padding:5px 11px; border-radius:999px; border:1px solid var(--line2); background:var(--surf); text-decoration:none; color:var(--ink2); font-size:14px; transition:border-color .14s,background .14s,color .14s; font-weight:700; }  /* 최신 */
.price-trend-line-chart__reading-hint { font-size:13px; color:var(--mut); font-weight:600; }
.module-overall-score__summary { margin:0; font-size:16px; font-weight:500; color:var(--color-text-body); line-height:1.65; word-break:keep-all; }
.value-entry-pill:hover { border-color:var(--acc); background:var(--acc-s); color:var(--ink); }
.price-trend-line-chart__content { position:relative; height:120px; }  /* 기준판 */
.module-overall-score__attribution { margin:14px 0 0; font-size:13px; color:var(--color-text-muted); line-height:1.5; }
.value-entry-pill__key { font-weight:700; }
.price-trend-line-chart__graphic { display:block; width:100%; height:120px; overflow:visible; }  /* 기준판 */
.value-entry-pill__name { font-size:13px; color:var(--mut); font-weight:800; }
.price-trend-line-chart__dot { position:absolute; width:22px; height:22px; transform:translate(-50%,-50%); border-radius:50%; cursor:pointer; }
.module-rate-bar__head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; min-height:20px; }
.value-entry-pill:hover .value-entry-pill__name { color:var(--acc-i); }
.price-trend-line-chart__dot::after { content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; transform:translate(-50%,-50%); border-radius:50%; background:var(--acc-i); box-shadow:0 0 0 2px var(--surf); }
.module-rate-bar__label { font-size:13.5px; font-weight:600; color:var(--color-text-body); word-break:keep-all; }
.rarity-symbol-table { width:100%; min-width:0; border-collapse:collapse; font-size:15px; }
.price-trend-line-chart__dot--current::after { width:13px; height:13px; background:var(--dn); box-shadow:0 0 0 3px var(--surf); }
.module-rate-bar__label a { color:var(--color-primary-dark,#1e40af); font-weight:700; text-decoration:underline dotted 1px; text-underline-offset:3px; }
.rarity-symbol-table td { padding:7px 9px; border-bottom:1px solid var(--line); text-align:left; border-left:0; }
.price-trend-line-chart__legend { display:flex; flex-wrap:wrap; gap:6px 16px; margin:9px 0 0; font-size:13px; color:var(--mut); font-weight:600; }
.module-rate-bar__label a:hover { text-decoration:underline; }
.data-story-tile:hover .data-story-tile__go::after { background:var(--acc); color:#fff; }  /* W-B5-2(2026-08-21) — transform:translateX(2px) 제거. 이 배지의 쉼 상태(:10256)는 이미 transform:translateY(-2px)rotate(45deg)(4시반 방향 «앵커형» 화살표)로 서 있는데, transform 은 값을 더하지 않고 통째로 대체하는 속성이라 이 호버 규칙이 그 회전을 지우고 수평(→ 꼴)으로 «순간 회전»했다(사용자 지적 — 결정 요인 타일 #era·#grp·#market 등 페이지 내 앵커로 가는 배지). 외부/페이지 이동 배지(.sibling-axis-link-card__arrow 등)는 애초에 회전이 없어 translateX 만으로 옳다 — 그 문법과 이 문법을 섞은 것이 결함이었다. 고정된 4시반 각도를 유지한 채 색상만 바뀌도록 transform 선언을 뗀다(호버 회전 0). */
.rarity-symbol-table tr:last-child td { border-bottom:2px solid var(--line2); }  /* B-2(2026-08-14 눈검수 #4) — 이 표는 상자로 안 감싸여 있어(table-scroll-frame 무테두리·:7825 판례와 동일 원인) border-bottom:0 이 곧 «마감선 없음»이었다. 형제 표 마감선 값(:7839 tbody tr:last-child td)과 같은 값으로 통일 — 새 벌 만들지 않음. */
.price-trend-line-chart__legend i { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:5px; vertical-align:0; }
.module-rate-bar__value { font-size:14px; font-weight:800; color:var(--color-text-primary); font-variant-numeric:tabular-nums; white-space:nowrap; }
.data-story-tile:focus-visible .data-story-tile__go::after { background:var(--acc); color:#fff; }  /* W-B5-2(2026-08-21) — 위 :hover 짝과 같은 수리(회전 고정 · 색상만 전환). */
.rarity-symbol-table .rarity-symbol-table-mark { width:34px; text-align:center; font-size:18px; font-weight:800; color:var(--gold); }
.price-trend-line-chart__footnote { margin:8px 0 0; font-size:13px; color:var(--mut); font-weight:600; line-height:1.5; }  /* 기준판 */
.module-rate-bar__track { height:13px; border-radius:7px; background:var(--rv-track,#ddd); overflow:hidden; }
.rarity-symbol-table .numeric-value-column { text-align:right; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.price-trend-line-chart__footnote b { color:var(--ink2); font-weight:800; }
.module-rate-bar__fill { display:block; height:100%; border-radius:7px; background:var(--rv-accent,#e43917); transform-origin:left center; animation:none; animation-play-state:paused; }
.rarity-symbol-table .rarity-symbol-table-percent { text-align:right; font-size:13px; color:var(--mut); white-space:nowrap; }
.gap-bar-panel { margin-top:12px; padding:14px 15px 12px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); }
.module-rate-bar--tiercolor .module-rate-bar__fill { background:var(--dv-accent,#94a3b8); }
.marketplace-offer-card:focus-visible { transform:translateY(-3px); border-color:var(--acc); box-shadow:0 10px 24px rgba(0,0,0,.24); }
.position-spread-gauge-endpoint-labels { display:flex; justify-content:space-between; align-self:stretch; font-size:13px; font-weight:700; color:var(--mut); margin-top:-2px; }
.attribute-distribution-bar-fill--width { background:var(--warn); }
.gap-bar-panel__heading { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.marketplace-offer-card-header { display:flex; align-items:center; gap:9px; padding:11px 12px 10px; border-bottom:1px solid var(--line); background:var(--surf2); }
.gap-bar-panel__title { margin:0; font-size:16px; font-weight:800; color:var(--ink); }
.marketplace-offer-card-logo { flex:0 0 auto; width:72px; height:46px; border-radius:8px; display:grid; place-items:center; background:#fff; color:var(--acc-i); font-size:13px; font-weight:800; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; padding:5px 8px; overflow:visible; box-shadow:0 1px 3px rgba(0,0,0,.16),inset 0 0 0 1px rgba(0,0,0,.07); aspect-ratio:auto; min-width:0; max-width:none; }
.gap-bar-panel__reading-hint { font-size:13px; color:var(--mut); font-weight:600; }
.module-rate-bar__fill.rv-anim-wait { animation-play-state:paused; }
.marketplace-offer-card-name { display:flex; flex-direction:column; gap:1px; min-width:0; font-size:14px; font-weight:800; color:var(--ink); }
.gap-bar-panel__label { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.module-overall-score--circle .module-overall-score__tile.rv-anim-wait { animation-play-state:paused; }
.compact-value-bar-row code { position:relative; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; font-weight:800; color:var(--acc-i); flex:0 0 auto; letter-spacing:.02em; }
.marketplace-offer-card-name em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.denominator-labelled-row { display:grid; grid-template-columns:minmax(0,1.6fr)108px 104px 72px minmax(0,1.3fr)104px; gap:11px; align-items:center; padding:9px 11px; border:1px solid var(--line); border-radius:var(--r-s); background:var(--surf); border-color:var(--line2); position:relative; }  /* 기준판 */
.module-rate-bar__fill.rv-anim-go { animation-play-state:running; }
.compact-value-bar-row b { position:relative; min-width:0; font-weight:700; color:var(--ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ranked-thumbnail-list-value-row>* { min-width:0; }
.denominator-labelled-row>* { min-width:0; }
.module-overall-score--circle .module-overall-score__tile.rv-anim-go { animation-play-state:running; }
.compact-value-bar-row em { position:relative; margin-left:auto; flex:0 0 auto; font-style:normal; font-weight:800; color:var(--ink); letter-spacing:-.02em; font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; }
.marketplace-offer-card-price { display:flex; flex-direction:column; gap:2px; padding:12px 12px 10px; }
.ranked-thumbnail-list-value-row--current { border-color:var(--acc); background:color-mix(in srgb,var(--acc)8%,var(--surf)); }
.denominator-labelled-row--current { border-color:var(--acc); background:color-mix(in srgb,var(--acc)9%,var(--surf2)); }
.module-rate-bar__attribution { margin:14px 0 0; font-size:13px; color:var(--color-text-muted); line-height:1.5; }
.compact-value-bar-row--current>i { background:var(--dn); opacity:.19; }  /* 기준판 */
.marketplace-offer-card-price b { font-size:24px; font-weight:800; letter-spacing:-.035em; line-height:1; color:var(--ink); }
.denominator-labelled-row__meta { display:flex; flex-direction:row; gap:9px; min-width:0; align-items:center; }  /* 기준판 · R38(2026-08-17 수리2) — 로고(__legend)+마켓명(__market-name) 세로 스택→가로 한 줄. align-items:center 는 그대로 두어 세로 중앙정렬 유지(marketplace-offer-card-header:9318 와 같은 문법) */
.module-rate-bar--dist .module-rate-bar__item { display:flex; align-items:center; gap:10px; }
.compact-value-bar-row--current b { color:var(--ink); font-weight:800; }
.marketplace-offer-card-price em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); }
.rank-dial-panel>.price-trend-line-tooltip { left:50%; bottom:calc(100% + 10px); transform:translate(-50%,4px); min-width:204px; cursor:default; }  /* 최신 */
.denominator-labelled-row__market-name { font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:flex; flex-direction:column; gap:1px; min-width:0; }
.module-rate-bar--dist .module-rate-bar__head { flex:0 0 92px; display:block; margin:0; }
.compact-value-bar-row--current em { color:var(--ink); font-weight:800; }
.marketplace-offer-card-total { display:flex; align-items:baseline; gap:7px; margin:0 12px; padding:8px 10px; border-radius:7px; background:var(--surf2); border:1px solid var(--line); }
.rank-dial-panel:hover>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.denominator-labelled-row__markets { font-size:13px; font-weight:600; color:var(--mut); }
.module-rate-bar--dist .module-rate-bar__value { font-size:13.5px; }
.compact-value-bar-row--gap { justify-content:center; color:var(--mut); font-weight:700; padding:1px 0; font-size:13px; opacity:.6; }
.marketplace-offer-card-total span { font-size:13px; font-weight:700; color:var(--mut); }
.rank-dial-panel:focus-visible>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.denominator-labelled-row__bar { height:11px; border-radius:99px; background:var(--line2); overflow:hidden; }
.module-rate-bar--dist .module-rate-bar__track { flex:1 1 auto; height:10px; border-radius:5px; }
.data-story-tile__donut { position:relative; display:grid; place-items:center; width:100%; height:40px; }  /* 기준판 */
.marketplace-offer-card-total b { margin-left:auto; font-size:15px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.rank-dial-panel b { font-size:16px; font-weight:800; color:var(--acc-i); letter-spacing:-.03em; line-height:1; }
.module-rate-bar--dist .module-rate-bar__count { flex:0 0 auto; font-size:13px; font-weight:700; color:var(--color-text-muted); font-variant-numeric:tabular-nums; }
.data-story-tile__donut i { position:absolute; left:50%; top:0; transform:translateX(-50%); width:40px; height:40px; border-radius:50%; background:conic-gradient(var(--acc)calc(var(--p)*1%),var(--line2)0); }  /* 기준판 */
.marketplace-offer-card-total i { font-style:normal; font-size:13px; font-weight:700; color:var(--mut); }
.rank-dial-panel small { font-size:13px; font-weight:700; color:var(--mut); line-height:1; }
.denominator-labelled-row--current .denominator-labelled-row__bar i { background:var(--acc); opacity:1; }
.module-overall-score--segment { margin:0; }
.data-story-tile__donut i::after { content:""; position:absolute; inset:7px; border-radius:50%; background:var(--surf); }  /* 기준판 */
.denominator-labelled-row__value { text-align:right; font-size:15px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; }
.module-overall-score--segment .module-overall-score__head { display:block; }
.data-story-tile__donut b { position:relative; z-index:1; font-size:13px; font-weight:800; }
.marketplace-offer-card--best .marketplace-offer-card-logo { background:inherit; color:inherit; }
.denominator-labelled-row__value em { display:block; font-style:normal; font-size:13px; font-weight:600; color:var(--mut); white-space:normal; }
.module-overall-score__seg { display:block; }
.data-story-tile__bars { position:relative; display:flex; align-items:flex-end; gap:5px; height:58px; flex-direction:column; justify-content:space-between; padding-bottom:18px; }  /* 기준판 · R2/R3/R39(2026-08-18) — 이 칸엔 position 선언이 없어, 자식 `s`(:7686 「+N more」 more-count 라벨·bottom:-1px+translateY(100%))가 대신 조상 .data-story-tile(:9741 position:relative)을 기준으로 물러났다. 그러면 「칸 바닥에서 1px 위 + 제 키만큼 아래로」가 «타일 전체 바깥»으로 밀려나 카드 밖으로 삐져나간다(R3 실측). 여기 position:relative 를 주면 같은 계산이 «이 막대 칸(이미 padding-bottom:18px 로 그 라벨 자리를 비워 둔 상자)» 기준이 되어 타일 테두리 안쪽에 머문다. 막대·값 표시는 static→relative 전환에 영향 없음(회귀 0). */
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.marketplace-offer-card--best .marketplace-offer-card-total { background:color-mix(in srgb,var(--buy)11%,var(--surf)); border-color:var(--buy); }
.denominator-labelled-row__footnote { margin:10px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }  /* 기준판 */
.module-overall-score__seg-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; min-height:20px; }
/* 🩹 R76 둘째 뿌리(2026-08-20 W3 · 사용자 F12 적발) — 자손 선택자가 «남의 막대»까지 물들였다.
   ■ 무엇이 새고 있었나 — 이 줄은 «세로 칼럼 변형»의 기둥(.data-story-tile__bars 의 직계 <i>)을
     그리려는 규칙인데, 자손 결합자(빈칸)라 가로 막대의 «채움»(.proportion-bar-track > i)까지 걸렸다.
   ■ 왜 채움이 사라졌나 — 특이성이 (0,1,1) 로 기준판 `.proportion-bar-track>i`(:7575 · 같은 (0,1,1))와
     동점인데 이 줄이 «뒤»라 이긴다. 그 결과 채움 background 가 var(--acc) → var(--line2) 로 덮여
     트랙과 «같은 색»이 됐다 = 채움이 안 보인다. 살아남은 것은 특이성 (0,2,1) 인
     `.proportion-bar-track--current>i`(:7967 var(--acc-i)) 하나뿐이라, 화면엔 「색 있는 가는 막대
     한 개」만 남았다 — 사용자가 본 그림과 정확히 일치한다.
   ■ 수리 — 직계로 한정한다(`i` → `> i`). 세로 변형의 기둥은 원래 직계라 의도가 그대로 살고
     (형제 35개 규칙이 이미 전부 `>i` 문법이다), 손자인 가로 채움은 이제 안 걸린다.
   🔒 값은 한 글자도 안 바꾼다 — 결합자 하나만 좁힌다. */
.data-story-tile__bars > i { flex:1; min-height:3px; border-radius:3px 3px 0 0; background:var(--line2); position:relative; }  /* R76(2026-08-20 W3) */
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.marketplace-offer-card--best .marketplace-offer-card-total b { color:var(--buy); font-size:16px; }
.denominator-labelled-row__footnote b { color:var(--ink2); font-weight:800; }
.module-overall-score__seg-label { font-size:13.5px; font-weight:600; color:var(--color-text-body); word-break:keep-all; }
.data-story-tile__bars > i.bar-segment-emphasis { background:var(--acc); }  /* R76(2026-08-20 W3) 형제 — 위와 같은 사유로 직계 한정 */
.module-overall-score__seg-track { position:relative; display:flex; height:13px; border-radius:7px; overflow:hidden; box-shadow:var(--color-shadow-sm); }
.data-story-tile__rank { display:flex; align-items:flex-end; gap:3px; height:40px; }  /* 기준판 */
.marketplace-offer-card-visit-button::after { content:"→"; font-weight:800; }
.module-overall-score__seg-cell { flex:1 1 20%; height:100%; background:var(--rv-accent,#e43917); }
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.marketplace-offer-card--best .marketplace-offer-card-visit-button { background:var(--buy); border-color:var(--buy); color:#fff; box-shadow:0 3px 12px color-mix(in srgb,var(--buy)38%,transparent); }
.module-overall-score__seg-cell:nth-child(1) { background:color-mix(in srgb,var(--rv-accent,#e43917)22%,#fff); }
.data-story-tile__rank i.bar-segment-emphasis { background:var(--dn); }  /* 기준판 */
.marketplace-offer-card:hover .marketplace-offer-card-visit-button { background:var(--acc); border-color:var(--acc); color:#fff; }
.ranked-thumbnail-list-value-row--current .bar-row-track i { background:var(--acc-i); }
/* 🩹 2026-08-11(p28-b) ⑫ — 선언된 간격이 집 안 자(≤12px)를 넘어 있었다.
   실측(수리 전 · 축 artist 1280px): 두 판(오른 쪽·내린 쪽) 사이 14px.
   이 시트의 행·판 간격은 9·10·11·12px 로 서는데 이 줄만 14 였다 — 값을 자에 맞춘다.
   🔒 열 구성(1fr 1fr)·바깥 여백은 그대로다. 바뀌는 것은 «판 사이» 2px 뿐이다. */
.gainers-losers-board { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; margin:12px 0 0; }  /* 기준판 */
.module-overall-score__seg-cell:nth-child(2) { background:color-mix(in srgb,var(--rv-accent,#e43917)40%,#fff); }
.data-story-tile__gauge { position:relative; display:flex; align-items:center; height:40px; }  /* 기준판 */
.marketplace-offer-card:focus-visible .marketplace-offer-card-visit-button { background:var(--acc); border-color:var(--acc); color:#fff; }
.module-overall-score__seg-cell:nth-child(3) { background:color-mix(in srgb,var(--rv-accent,#e43917)58%,#fff); }
.data-story-tile__gauge::before { content:""; position:absolute; left:0; right:0; height:10px; border-radius:5px; background:var(--line2); }
.table-inline-purchase-button { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:7px; background:var(--surf2); border:1px solid var(--line2); color:var(--ink); font-size:13px; font-weight:800; text-decoration:none; white-space:nowrap; transition:background .13s,border-color .13s,color .13s; }
.gainers-losers-board>* { min-width:0; }
.module-overall-score__seg-cell:nth-child(4) { background:color-mix(in srgb,var(--rv-accent,#e43917)78%,#fff); }
.table-inline-purchase-button::after { content:"→"; font-weight:800; }
.rank-contrast-pair-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:13px; align-items:center; padding:16px 14px; border-radius:var(--r-s); background:var(--surf); border:1px solid var(--line2); margin-bottom:12px; }
.gainers-losers-board__content { padding:13px 14px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); min-width:0; }
.module-overall-score__seg-cell:nth-child(5) { background:var(--rv-accent,#e43917); }
/* R24-c(2026-08-20 W3) 감싸개 디박스 — 썸네일 순위 «무리»를 감싸던 회색 판을 걷는다.
   사용자 재지적(«카드 군을 감싸는 회색 배경 여백이 그대로»)의 실체 중 하나. 안여백 15/16px +
   회색 바탕(surf2) + 테두리 + 라운드가 순위 행 무리를 통째로 감싸고 있었다. 세로 margin 만
   남긴다 — 구분은 세로 간격이 진다(R24-b 의 .visual-block-box 와 같은 판단).
   🔒 자식은 한 글자도 안 건드린다 — __head·__tile·__meta·__bars 와 «다른 이름»인
      .ranked-thumbnail-list-rank-panel-bar(하이픈 계열) 전부 제 모양을 그대로 진다.
   🔒 :10326 `.content-section-block>…:first-child{margin-top:0}` 은 margin 만 만지므로 유효하게 남는다. */
.ranked-thumbnail-list-rank-panel { margin:12px 0 0; }  /* R24-c(2026-08-20 W3) */
/* 2026-08-28 62호(사용자 확정) — --gold→--buy */
.table-inline-purchase-button--best { background:var(--buy); border-color:var(--buy); color:#fff; box-shadow:0 2px 9px color-mix(in srgb,var(--buy)34%,transparent); }
.gainers-losers-board__heading { margin:0 0 6px; font-size:15px; font-weight:800; color:var(--ink); display:flex; align-items:center; gap:7px; }  /* 다수결6장·다수결7장 */
.module-overall-score--tiercolor .module-overall-score__seg-cell { background:var(--dv-accent,#94a3b8); }
.ranked-thumbnail-list-rank-panel__head { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:flex-start; }
.table-inline-purchase-button:hover { background:var(--acc); border-color:var(--acc); color:#fff; }
.gainers-losers-board__arrow { width:15px; height:15px; flex:0 0 auto; vertical-align:-2px; }
.module-overall-score__seg-cell:first-child { border-radius:7px 0 0 7px; }
.ranked-thumbnail-list-rank-panel__tile { flex:0 0 auto; width:116px; display:flex; flex-direction:column; min-height:116px; border-radius:var(--r-s); background:var(--acc); color:#fff; text-align:center; overflow:hidden; }
.table-inline-purchase-button:focus-visible { background:var(--acc); border-color:var(--acc); color:#fff; }
.rank-contrast-pair-grid>* { min-width:0; }
.gainers-losers-board__arrow path { fill:currentColor; }
.module-overall-score__seg-cell:last-child { border-radius:0 7px 7px 0; }
.ranked-thumbnail-list-rank-panel__value { flex:1 1 auto; display:flex; align-items:center; justify-content:center; padding:12px 4px 8px; font-size:clamp(30px,7vw,40px); font-weight:800; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.gainers-losers-board__heading--up { color:var(--up,#2FB673); }  /* 다수결6장 */
/* ══ 🔧 2026-08-09 정규화(지휘자 확정 A-②) — 마커 캡 장치 «정본 한 벌» ═══════════════════
   ■ 무엇이 문제였나 — 표준 부품 여섯(핀·마커·캡션·캡·각 --r)이 modules.css 와 이 시트에
     «통째로 두 벌» 있었고, 그중 세 가지가 서로 다른 값이었다:
        ① .module-rate-bar__marker-cap      글자 크기  modules 11.5px  vs  이 시트 13px
        ② .module-overall-score__seg-caption 글자 크기  modules 12.5px  vs  이 시트 13.5px
        ③ 핀·마커·두 --r 파생                움직임     modules 재생용   vs  이 시트 animation:none
     두 벌이 나란히 있으면 어느 쪽이 «정본»인지 파일만 봐서는 알 수 없고, 한쪽만 고친
     수리가 조용히 묻힌다(SSOT 1곳 요건 위반).
   ■ 어느 값이 확정본인가 = 이 시트 값(13px·13.5px·animation:none) — 근거 셋
     ① 실제 승자다 — 이 시트는 loader.php :239 에서 modules.css(calc-modules)를 «의존»으로
        걸고 뒤에 실린다. 같은 특이성이면 뒤가 이긴다. 확인판 축 렌더 실측이 그 값이다.
     ② 시안 원문 값이다 — 이 구획은 시안에서 떠 온 것이고, 시안이 정본이다.
     ③ 사용자 확정 규칙(글자 13px 하한)을 지키는 쪽이다. 11.5px·12.5px 는 그 하한 아래다.
   ■ 그래서 어떻게 «한 벌»로 만드나 — modules.css 는 손대지 않는다(네 사이트가 함께 쓰는
     표준 시트다). 대신 이 시트에서 «똑같은 선언»을 전부 걷어내고 «다른 값만» 남긴다.
     그러면 각 값의 정의처가 한 곳이 된다: 기본형 = modules.css / 이 아이템의 차이 = 여기.
     걷어낸 선언은 modules.css 의 같은 선택자가 그대로 이어 받으므로 렌더는 한 픽셀도
     바뀌지 않는다(그것이 이 수리의 판정식이다 — 계산 스타일 전량 대조).
   ■ 남긴 차이가 «왜» 차이인지도 각 줄에 적는다 — 뒤에 오는 사람이 지우지 못하게.
   🔒 재추출 주의 — 이 시트를 시안에서 다시 뜨면 여섯 규칙이 통째로 되살아난다. 그때
      이 구획(정본 한 벌)을 다시 적용해야 한다(재추출 도구의 후처리 대상). ══════════════ */
/* [정본 한 벌 ③] 움직임만 다르다 — 이 아이템 화면은 핀·마커·캡을 «멈춘 채» 그린다
   (시안이 정지 화면이고, 확인판·실렌더가 그 값으로 서 있다). 자리·색·크기는 modules.css. */
.module-overall-score__seg-pin { animation:none; animation-play-state:paused; }
.ranked-thumbnail-list-rank-panel__label { padding:6px 6px 9px; font-size:13px; font-weight:700; line-height:1.35; background:rgba(0,0,0,.16); word-break:keep-all; }
.contrast-side-panel__rank { display:block; font-size:13px; font-weight:800; color:var(--mut); letter-spacing:.04em; margin-bottom:5px; }
.gainers-losers-board__heading--down { color:var(--dn); }
.ranked-thumbnail-list-rank-panel__meta { flex:1 1 0; min-width:250px; }
.attribute-chip-link:hover { transform:none; }
.contrast-side-panel__value { display:block; font-size:29px; font-weight:800; letter-spacing:-.035em; line-height:1.1; }
.cause-flow-strip>b { font-size:15px; font-weight:800; color:var(--ink); white-space:nowrap; }
.gainers-losers-board__label { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
/* [정본 한 벌 ②③] 글자 크기 13.5px = 확정본(modules.css 12.5px 는 13px 하한 아래) + 정지. 나머지 전부 modules.css 상속. */
.module-overall-score__seg-caption { font-size:13.5px; animation:none; animation-play-state:paused; }
.attribute-chip-link i { font-style:normal; padding:2px 7px; border-radius:999px; font-size:13px; font-weight:800; background:rgba(255,255,255,.16); color:inherit; opacity:.9; display:none; }
.contrast-side-panel__value small { font-size:15px; color:var(--mut); font-weight:700; margin-left:3px; }
.cause-flow-strip>b em { display:block; font-style:normal; font-size:13px; font-weight:600; color:var(--mut); text-align:center; }
.gainers-losers-board__label li { display:grid; grid-template-columns:31px minmax(0,1fr)64px 72px; gap:9px; align-items:center; padding:9px 0; border-bottom:1px solid var(--line); transition:background .13s; }  /* 기준판 */
/* [정본 한 벌 ③] 우정박 파생 — 움직임만 덮는다(테두리·모서리·+2px 정박은 modules.css). */
.module-overall-score__seg-caption--r { animation:none; animation-play-state:paused; }
.ranked-thumbnail-list-rank-panel__subtitle { margin:0 0 6px; font-size:15px; line-height:1.6; color:var(--ink2); }
.attribute-chip-link--rare { background:color-mix(in srgb,var(--c5)20%,var(--surf)); color:var(--c5); border-color:color-mix(in srgb,var(--c5)42%,transparent); box-shadow:0 2px 9px color-mix(in srgb,var(--c5)22%,transparent); }
.contrast-side-panel__description { display:block; font-size:14px; color:var(--ink2); margin-top:4px; line-height:1.5; }
.flow-arrow-glyph { display:block; width:22px; height:17px; color:var(--mut); flex:0 0 auto; }
.gainers-losers-board__label li:last-child { border-bottom:0; }
.module-overall-score__seg-caption strong { color:var(--color-text-primary); font-weight:800; }
/* R82(2026-08-20 W3-CSS) 라벨을 값과 «한 줄»로 — overall-score.php:133 이 seg-head 를 별도 형제 줄로
   내지 않고 캡션 칩 «안»에 <small class="__seg-of"> 로 흡수했다. 그 <small> 의 차림을 정한다.
   바로 윗줄 strong(값) 규칙과 한 쌍이다 — 값은 굵고 진하게, 라벨은 작고 흐리게. */
/* W4-R4/R82(2026-08-20) 칩 넘침 — 라벨이 칩 «안»에서 줄바꿈하게 하고 칩 폭을 여백만큼 깎는다.
   ■ 왜 nowrap 을 푸나 — R82 가 라벨을 칩 안 <small> 로 넣으면서 값+라벨이 한 줄에 못박혔다.
     검수 산술 표본(눌림 38.6%·47자)에서 그 한 줄이 칩을 부모 밖으로 밀어냈다.
   ■ 왜 max-width 에 변수를 쓰나 — 칩은 세그먼트 위치를 따라 margin-left 로 밀리는데, 100% 상한은
     그 밀린 만큼을 못 뺀다(밀린 뒤 100% = 오른쪽 넘침). PHP 조가 그 값을 --seg-ml 로 함께 내보내는
     중이라, 변수가 아직 없으면 0% 로 떨어져 종전과 «같은» 100% 가 된다 = 선적용해도 안전. */
.module-overall-score__seg-caption { max-width:calc(100% - var(--seg-ml,0%)); }  /* W4-R4/R82(2026-08-20) */
.module-overall-score__seg-caption small { margin-left:4px; font-size:13px; font-weight:600; color:var(--mut); white-space:normal; }  /* W4-R4/R82: nowrap 해제 */
.ranked-thumbnail-list-rank-panel__subtitle b { color:var(--ink); font-weight:800; }
.attribute-chip-link--mechanic { background:color-mix(in srgb,var(--c1)20%,var(--surf)); color:var(--c1); border-color:color-mix(in srgb,var(--c1)42%,transparent); box-shadow:0 2px 9px color-mix(in srgb,var(--c1)22%,transparent); }
.contrast-pair-arrow { width:44px; height:38px; display:grid; place-items:center; color:var(--mut); font-size:19px; font-weight:800; }
.flow-arrow-glyph path { stroke:currentColor; stroke-width:2.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.gainers-losers-board__label li>* { min-width:0; }
.ranked-thumbnail-list-rank-panel__percent { display:inline-block; margin:0 0 8px; padding:2px 10px; border-radius:999px; font-size:13px; font-weight:800; background:var(--acc-s); color:var(--acc-i); border:1px solid color-mix(in srgb,var(--acc)38%,transparent); }
.attribute-chip-link--holo { background:color-mix(in srgb,var(--c2)20%,var(--surf)); color:var(--c2); border-color:color-mix(in srgb,var(--c2)42%,transparent); position:relative; overflow:hidden; }
.contrast-subject-note { font-size:15px; color:var(--ink2); margin:0 0 12px; }
.gainers-losers-board__image { position:relative; display:block; width:31px; aspect-ratio:745/1040; border-radius:5px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); }
.ranked-thumbnail-list-rank-panel__gap { margin:0; font-size:13px; line-height:1.6; color:var(--ink2); }
.attribute-chip-link--regulation { background:color-mix(in srgb,var(--c3)22%,var(--surf)); color:var(--c3); border-color:color-mix(in srgb,var(--c3)46%,transparent); box-shadow:0 2px 9px color-mix(in srgb,var(--c3)24%,transparent); }
.contrast-subject-note b { color:var(--ink); font-weight:800; }
/* B-8 확장: animation(bar-fill-x·paused)은 죽은 코드였다(후행 @media(no-preference) 블록의 tg-bar-fill
   규칙이 항상 이김) — 제거. 트리거 shorthand는 그 블록의 .rv-anim-go 규칙(:11068 부근)에만 있다. */
.gainers-losers-board__image img { width:100%; height:100%; object-fit:cover; display:block; }
/* N1(2026-08-23 눈검수 — 지휘자 지적) — 「Where it sits」 3요소(세그먼트 바 / 중앙값·최고가 막대열)의
   세로 간격이 들쭉날쭉했다: 형제 .module-overall-score(:9077)는 margin-bottom:18px 로 다음 요소와
   벌어지는데 이 --segment 변형은 margin-bottom 이 0(위쪽 14px만 있음) → 세그먼트 바로 다음(막대열)이
   붙어버렸다(막대열 자신도 margin-top:0 이라 간격이 통째로 사라짐 — modules.css:12135). 형제와 같은
   하단 간격(18px)을 줘 앞뒤 간격을 통일한다(테두리는 이 변형엔 여전히 없음 — 간격만 맞춘다). */
.module-review-panel>.module-overall-score--segment { margin:14px 0 18px; padding:0; border:0; }
.ranked-thumbnail-list-rank-panel__gap b { color:var(--ink); font-weight:800; }
.attribute-chip-link--language { background:var(--surf2); color:var(--ink2); border-color:var(--line2); }
/* B-8 확장(2026-08-14 지휘자 판정): .denominator-labelled-row__bar>i 기본 선언에서 animation 제거 —
   기준판(width:var(--w) 포함)이 이미 다른 자리에 있어 정지 상태 = 최종값. 트리거는 아래 .rv-anim-go로. */
.gainers-losers-board__image--none { border:0; background:transparent; }
.module-rate-bar--bullet { padding-bottom:0; }
.ranked-thumbnail-list-rank-panel__bars { list-style:none; margin:13px 0 0; padding:0; display:flex; flex-direction:column; gap:9px; }
.attribute-chip-link--pokedex { background:var(--surf2); color:var(--ink2); border-color:var(--line2); }
/* B-8 확장(2026-08-14 지휘자 판정): .stat-tile-metric__bar>i 기본 선언에서 animation 제거 —
   기준판(width:var(--w) 포함)이 이미 다른 자리에 있어 정지 상태 = 최종값. 트리거는 아래 .rv-anim-go로. */
.gainers-losers-board__image--none .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:5px; }
.module-review-panel>.module-rate-bar--bullet { margin-top:16px; }
.ranked-thumbnail-list-rank-panel-bar { display:grid; grid-template-columns:minmax(0,1fr)auto; gap:3px 10px; align-items:baseline; }
.attribute-chip-link--rare i { background:color-mix(in srgb,currentColor 20%,transparent); }
/* B-8 확장(2026-08-14 지휘자 판정): .sibling-axis-link-card__bar>i 기본 선언에서 animation 제거 —
   트리거는 아래 .rv-anim-go로. */
.gainers-losers-board__label b { display:block; font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.module-rate-bar--bullet .module-rate-bar__track--bullet { position:relative; height:13px; border-radius:7px; overflow:hidden; background:linear-gradient(to right,color-mix(in srgb,var(--color-text-primary,#1e293b)6%,#fff)0 33.33%,color-mix(in srgb,var(--color-text-primary,#1e293b)11%,#fff)33.33% 66.66%,color-mix(in srgb,var(--color-text-primary,#1e293b)17%,#fff)66.66% 100%); }
.ranked-thumbnail-list-rank-panel-bar__key { min-width:0; font-size:13px; font-weight:700; color:var(--mut); line-height:1.45; word-break:keep-all; }
.attribute-chip-link--mechanic i { background:color-mix(in srgb,currentColor 20%,transparent); }
/* B-8 확장: .data-story-tile__gauge>i 의 animation(bar-fill-x·paused)은 죽은 코드였다(후행
   @media(no-preference) 블록의 tg-bar-fill 규칙이 항상 이김) — 제거. 트리거 shorthand는 그 블록의
   .rv-anim-go 규칙(:11068 부근)에만 있다. */
.gainers-losers-board__label em { display:block; font-style:normal; font-size:13px; font-weight:600; color:var(--mut); }
.module-rate-bar--bullet .module-rate-bar__fill { height:100%; margin-top:0; border-radius:7px; }
.ranked-thumbnail-list-rank-panel-bar__value { font-size:14px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; text-align:right; }
.attribute-chip-link--holo i { background:color-mix(in srgb,currentColor 20%,transparent); }
.data-story-tile__rank>i { transform-origin:bottom center; animation:none; animation-play-state:paused; }  /* #16(2026-08-17): 기본 선언에서 keyframe 제거 — 실제 height(:7434 var(--h))가 이미 있어 안전. 트리거는 아래 .rv-anim-go로 */
.gainers-losers-board__value { text-align:right; font-size:14px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; }
/* [정본 한 벌 ③] 세로선 — 움직임만 덮는다(자리·폭·흰 헤일로는 modules.css). 위 §정규화 주석(:8972 구획) 참조. */
.module-rate-bar__marker { animation:none; animation-play-state:paused; }
.ranked-thumbnail-list-rank-panel-bar__title { grid-column:1/-1; display:flex; align-items:center; position:relative; width:100%; height:10px; border-radius:5px; background:var(--line2); overflow:visible; }
.attribute-chip-link--regulation i { background:color-mix(in srgb,currentColor 20%,transparent); }
.price-trend-line-tooltip-hitarea>.price-trend-line-tooltip { bottom:calc(100% + 9px); transform:translate(-50%,4px); }
.data-story-tile__bars>i { transform-origin:bottom center; animation:none; animation-play-state:paused; }  /* #16(2026-08-17): 기본 선언에서 keyframe 제거(같은 게이트 패턴 통일 — 현재 라이브 마크업은 미매칭이나 방어적으로 정합) */
.gainers-losers-board__value--up { color:var(--up,#2FB673); }  /* 다수결6장 */
.ranked-thumbnail-list-rank-panel-bar__footnote { display:block; height:10px; border-radius:5px; background:var(--acc); max-width:100%; }
.attribute-chip-link--language i { background:var(--surf); color:var(--mut); }
.data-story-tile__gauge>i.rv-anim-go { animation-play-state:running; }
.gainers-losers-board__value--down { color:var(--dn); }
/* [정본 한 벌 ①③] 글자 크기 13px = 확정본(modules.css 11.5px 는 13px 하한 아래) + 정지. 나머지 전부 modules.css 상속.
   🔒 이 한 줄이 상자수염 캡션의 크기도 정한다 — .box-whisker-chart__title > … 문맥 규칙(:11189)은
      자리(position/left/transform)만 겹쳐 쓰고 글자 크기는 여기서 물려받는다. */
.module-rate-bar__marker-cap { font-size:13px; animation:none; animation-play-state:paused; }
.ranked-thumbnail-list-rank-panel-bar--current .ranked-thumbnail-list-rank-panel-bar__footnote { background:var(--acc-i); }
.attribute-chip-link--pokedex i { background:var(--surf); color:var(--mut); }
.gainers-losers-board__footnote { margin:12px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }  /* 기준판 */
/* [정본 한 벌 ③] 우정박 파생 — 움직임만 덮는다(테두리·모서리·+2px 정박은 modules.css). */
.module-rate-bar__marker-cap--r { animation:none; animation-play-state:paused; }
.ranked-thumbnail-list-rank-panel-bar__marker { position:absolute; top:-3px; width:2px; height:16px; border-radius:1px; background:var(--ink); }
.bar-row-track>i.rv-anim-go { animation-play-state:running; }
.gainers-losers-board__footnote b { color:var(--ink2); font-weight:800; }
.ranked-thumbnail-list-rank-panel-bar__marker-caption { grid-column:1/-1; font-size:13px; font-weight:700; color:var(--ink2); line-height:1.4; }
.attribute-chip-link--holo::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.3; background:repeating-linear-gradient(112deg,rgba(255,90,90,.5)0 5px,rgba(255,205,70,.5)5px 10px,rgba(90,235,150,.5)10px 15px,rgba(80,190,255,.5)15px 20px,rgba(195,110,255,.5)20px 25px); mix-blend-mode:color-dodge; }
.denominator-labelled-row__bar>i.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.stat-tile-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-top:12px; margin:12px 0 0; }  /* 기준판 */
.ranked-thumbnail-list-rank-panel__footnote { margin:11px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
.stat-tile-metric__bar>i.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.ranked-thumbnail-list-rank-row-link { display:flex; flex-direction:column; gap:11px; margin:12px 0 0; align-items:center; padding:10px 12px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }  /* 다수결4장 */
.sibling-axis-link-card__bar>i.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.stat-tile-grid>* { min-width:0; }
.ranked-thumbnail-list-rank-row { display:grid; grid-template-columns:34px minmax(0,1fr)minmax(120px,168px); gap:6px 11px; align-items:center; padding:8px 11px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); text-decoration:none; color:inherit; }
.data-story-tile__rank>i.rv-anim-go { transform-origin:bottom center; animation:bar-fill-y 1.5s linear .2s both; }  /* #16(2026-08-17): 트리거 발화 시에만 강화 애니메이션 */
/* 🆕 2026-08-18(W2) — .compact-value-bar-row>i::after 리빌 편입(지휘 확정). 기본 선언(:7498 부근)은
   B-8 패턴 그대로 animation:none(안전 — width:var(--w) 가 애니와 무관하게 최종값을 이미 쥔다) —
   .denominator-labelled-row__bar>i.rv-anim-go(바로 위 계열)의 배선을 그대로 미러: 트리거에서만
   키프레임을 새로 건다. 클래스는 <i>(FILL 매치 대상)에 붙고 실제 채움은 그 i 의 ::after 다. */
.compact-value-bar-row>i.rv-anim-go::after { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.stat-tile-metric__content { position:relative; display:block; padding:11px 12px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); text-decoration:none; color:inherit; }
/* 링크 신호 상시화(census 확정 · 2026-08-16) — 이 타일은 `#`로 시작하는 같은-쪽 앵커도 오지만
   실제 다른 자로 넘어가는 카드/행 링크로도 쓰인다(칸 콘텐츠 :7648 「분모가 층층이 다른 수」).
   태그 자체가 판정한다 — `<a>` 일 때만 이 셀렉터가 걸리므로 `<span>`(주소 없음) 문맥은 그대로다.
   값 = 위 11897 부근 타일 신호 가족과 동일(새 도형 0). */
a.stat-tile-metric__content::after {
  content: "→"; position: absolute; right: 12px; bottom: 12px;
  display: grid; place-items: center;
  width: 19px; height: 19px; border-radius: 999px;
  font-size: 13px; font-weight: 800; line-height: 1;
  background: var(--acc-s); color: var(--acc-i); opacity: 1;
  transition: background .15s, color .15s, transform .15s;
  pointer-events: none;
}
a.stat-tile-metric__content:hover::after,
a.stat-tile-metric__content:focus-visible::after { background: var(--acc); color: #fff; transform: translateX(2px); }
.ranked-thumbnail-list-rank-row>* { min-width:0; }
.data-story-tile__bars>i.rv-anim-go { transform-origin:bottom center; animation:bar-fill-y 1.5s linear .2s both; }  /* #16(2026-08-17): 트리거 발화 시에만 강화 애니메이션 */
.stat-tile-metric__key { display:block; font-size:13px; color:var(--mut); font-weight:600; margin-bottom:3px; }
.ranked-thumbnail-list-rank-row:hover { border-color:var(--acc); background:var(--surf2); }
.stat-tile-metric__value { display:block; font-size:20px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; }
.module-overall-score__seg-pin.rv-anim-wait { animation-play-state:paused; }
.ranked-thumbnail-list-rank-row__picture { display:block; width:34px; aspect-ratio:745/1040; border-radius:4px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); background-size:cover; background-position:center; }
.marketplace-logo--ebay { font-size:13px; padding:0; }
.axis-overview-panel>* { min-width:0; }
.stat-tile-metric__value small { font-size:13px; color:var(--mut); font-weight:700; margin-left:4px; }
.module-rate-bar__marker.rv-anim-wait { animation-play-state:paused; }
.ranked-thumbnail-list-rank-row__body { display:flex; flex-direction:column; gap:1px; min-width:0; }
.marketplace-logo--ebay b:nth-child(1) { color:#E53238; }
.stat-tile-metric__bar { display:block; height:7px; margin-top:7px; border-radius:99px; background:var(--line2); overflow:hidden; }
.module-overall-score__seg-caption.rv-anim-wait { animation-play-state:paused; }
.bar-row-title { display:block; font-size:14px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }  /* 기준판 */
.marketplace-logo--ebay b:nth-child(2) { color:#0064D2; }
.compact-value-bar-row--current { border-left-color:var(--acc); }
.module-rate-bar__marker-cap.rv-anim-wait { animation-play-state:paused; }
.ranked-thumbnail-list-rank-row:hover .bar-row-title { color:var(--acc-i); text-decoration:underline; text-underline-offset:3px; }
.marketplace-logo--ebay b:nth-child(3) { color:#F5AF02; }
.stat-tile-metric__subtitle { display:block; font-size:13px; color:var(--mut); margin-top:5px; line-height:1.5; }  /* 다수결6장 */
.module-overall-score__seg-pin.rv-anim-go { animation-play-state:running; }
.bar-row-set-number { display:inline-block; margin-right:6px; font-size:13px; font-weight:700; font-style:normal; color:var(--mut); font-variant-numeric:tabular-nums; margin-left:6px; flex:0 0 34px; overflow:visible; text-overflow:clip; white-space:nowrap; } /* 기준판 */
.marketplace-logo--ebay b:nth-child(4) { color:#86B817; }
/* 🔧 2026-08-09 «순위 계기 칸이 이웃과 겹쳐 보이던 것» 원천 수리 (사용자 지적)
   ■ 실측 — 같은 이름이 두 판에서 «전혀 다른 상자»가 되어 있었다 (1280px)
       축 axis-v1 : .rank-dial-panel 44×44        ← 이 판이 고장
                      └ .rank-dial-ring        137×84  부모대비 위치 13,-193   ← 상자 «밖 위» 193px
                      └ .rank-dial-explanation  18×335 부모대비 위치 13,-97    ← 폭 18px 로 눌려 세로로 335px
       카드 card-v2: .rank-dial-panel 590×110      ← 정상(대조군)
                      └ .rank-dial-ring         87×53 부모대비 위치 13,13     ← 상자 «안»
     44×44 짜리 상자에 137×84 짜리 알맹이가 들어가지 못해 통째로 밖으로 삐져나왔고, 설명글은
     폭 18px 안에서 한 글자씩 줄바꿈되며 335px 로 늘어나 아래 구역을 덮었다(사용자가 본 겹침).
   ■ 진짜 원인 — 이 «기준판» 한 줄이 제대로 된 규칙을 통째로 덮고 있었다
     :966 에 이 칸의 «의도된» 규칙이 이미 있다(2026-08-02 · 「상자 크기 = 내용 동적」 위반 해소):
         .rank-dial-panel{display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:12px; row-gap:8px; …}
     윗행 [배지][제목] · 아랫행 설명 전폭이라는 2행 격자다. 그런데 이 줄이 파일 «뒤»에 와서
     같은 우선순위로 이깁니다 — display 를 flex 로 되돌리고 width·height 를 44px 로 못 박아
     격자도 «내용 동적 크기»도 둘 다 무효가 됐다.
     ⚠️ 44×44 는 어디서 왔나 — 꼬리표가 «다수결2장»이다. 이 이름이 «작은 배지»로 쓰인 두 판에서
        치수를 뽑아 온 것이라, 이름은 같아도 여기서는 맞지 않는 수였다.
   ■ 고치는 법 — 이 줄을 :966 의 문법에 맞춘다(내용이 상자를 정하게 되돌린다)
     🔒 남기는 것 = 이 줄«만» 갖고 있어서 지우면 잃는 것들이다
        · position:relative — 말풍선이 이 상자를 기준으로 선다(:8721 `…>.price-trend-line-tooltip{bottom:calc(100% + 10px)}`)
        · margin-top:12px · cursor:help · padding·배경·테두리·둥근모서리
     🔒 걷는 것 = 알맹이를 가두던 것들이다
        · width:44px · height:44px  (내용이 크기를 정한다 — 카드 대조군이 그렇게 선다)
        · display:flex · flex:0 0 auto · place-items · align-content · flex-wrap · align-items:flex-start
          (:966 의 2행 격자와 정면으로 부딪히던 값들)
     🔒 새 값 0 — 격자 문법·간격(12px·8px)은 전부 :966 에서 그대로 가져왔다.
   🔒 카드판 회귀 0 — 카드 판은 이 시트를 싣지 않는다(faithful-entity.css 계열). 위 실측이
      카드 쪽 590×110 정상 렌더를 이미 보여 준다. 재조립 후 두 판 다시 확인한다. */
.rank-dial-panel { display:grid; grid-template-columns:minmax(0,1fr); column-gap:12px; row-gap:8px; align-items:center; margin-top:12px; padding:12px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); position:relative; cursor:help; }  /* R11/R12/R29(2026-08-18 W2) — 첫 칸이 auto(내용크기 수축)였다. 이 칸은 예전 «작은 원형 배지»(.rank-dial-ring) 시절 값인데, 2026-08-14 rankdial 지시로 .rank-dial-ring 이 전 호출처(spec-app·card-app·app-layer·cell-artist-rank·cell-dex-rank·cell-rarity-vis)에서 폐기되고 풀폭 세그먼트 바 위젯(.module-overall-score)으로 교체된 뒤에도 grid-template-columns 는 갱신되지 않아, 풀폭이어야 할 순위 막대가 계속 좁은 auto 칸에 갇혀 짧게 나왔다(R11/R12/R29 공통 뿌리 — 셋 다 이 위젯을 공유). 1칸(전폭)으로 통일 — .rank-dial-explanation 은 이미 grid-column:1/-1 이라 열 수 축소에 영향 없음(회귀 0). 기준판 */
.module-rate-bar__marker.rv-anim-go { animation-play-state:running; }
.ranked-thumbnail-list-rank-row__meta { font-size:13px; font-weight:600; color:var(--mut); line-height:1.4; }
.marketplace-logo--tcgplayer { font-size:13px; color:#fff; align-items:center; gap:2px; padding:0; }
.rank-dial-ring { position:relative; flex:none; width:auto; height:84px; border-radius:10px; display:flex; place-items:center; background:var(--acc-s); padding:9px 12px; text-align:center; border:1px solid color-mix(in srgb,var(--acc)34%,transparent); min-width:66px; flex-direction:column; align-items:center; justify-content:center; gap:1px; }  /* 기준판·다수결8장 */
.module-overall-score__seg-caption.rv-anim-go { animation-play-state:running; }
.bar-row-bar-column { display:flex; flex-direction:column; align-items:flex-end; gap:5px; min-width:0; flex:0 0 128px; }  /* 기준판 */
.marketplace-logo--tcgplayer i { width:4px; height:4px; border-radius:50%; background:#F7941D; display:block; }
.rank-dial-ring::after { content:""; position:absolute; inset:9px; border-radius:50%; background:var(--surf); }
.module-rate-bar__marker-cap.rv-anim-go { animation-play-state:running; }
.bar-row-track { display:block; width:100%; height:10px; border-radius:5px; background:var(--line2); overflow:hidden; }
.marketplace-logo--cardmarket { font-size:14px; color:#fff; font-family:Arial,Helvetica,sans-serif; font-weight:600; padding:0; }
.rank-dial-value { position:relative; z-index:1; display:block; font-size:20px; font-weight:800; color:var(--acc-i); letter-spacing:-.03em; line-height:1; text-align:center; font-variant-numeric:tabular-nums; }  /* 기준판·다수결8장 */
.marketplace-logo--cardmarket b { font-weight:800; color:#E8A33D; }
.rank-dial-denominator { position:relative; z-index:1; display:block; font-size:13px; font-weight:700; color:var(--mut); margin-top:0; text-align:center; line-height:1.35; }  /* 기준판·다수결4장 */
.bar-row-value { font-size:15px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; flex:none; text-align:right; letter-spacing:-.02em; }  /* 기준판 */
.marketplace-logo--fanatics-collect { font-size:14px; color:#fff; font-family:Arial,Helvetica,sans-serif; font-weight:800; letter-spacing:-.06em; padding:0; }
/* 🔧 2026-08-09 짝 수리 — 위 .rank-dial-panel 을 :966 의 2행 격자로 되돌리면서 함께 필요한 한 칸.
   이 줄은 부모가 flex 이던 시절의 값(flex:1 1 260px)만 갖고 있어서 «아랫행 전폭»을 지시하는
   grid-column 이 빠져 있었다. 빠진 채로 두면 설명이 둘째 칸(좁은 칸)에 갇혀 세로로 길어진다 —
   축 판에서 폭 18px·높이 335px 로 늘어나 아래를 덮던 그 증상이 그대로 재발한다.
   🔒 값 출처 = :1008 `.rank-dial-explanation{ … grid-column:1/-1; … }` 원문 그대로(새 값 0).
   🔒 flex:1 1 260px 는 남겨 둔다 — 부모가 격자라 무시되고, 이 이름을 flex 로 쓰는 다른 판이
      있을 때 그쪽 동작을 바꾸지 않기 위해서다(이 줄은 공용 기준판이다). */
.rank-dial-explanation { margin:0; font-size:13.5px; line-height:1.55; color:var(--ink2); flex:1 1 260px; min-width:0; grid-column:1/-1; }  /* 기준판 · 2026-08-09 전폭 복원 */
.ranked-thumbnail-list-rank-row--current { border-color:var(--acc); background:var(--acc-s); }
.rank-dial-explanation b { color:var(--ink); font-weight:800; }
.ranked-thumbnail-list-rank-row--current .bar-row-track i { background:var(--acc-i); }
.data-story-tile__gauge s { position:absolute; z-index:2; left:var(--x); top:2px; bottom:2px; width:2px; background:var(--ink); border-radius:1px; text-decoration:none; }
.ranked-thumbnail-list-rank-row--current .bar-row-title { color:var(--acc-i); }
.rule-flow-diagram { display:flex; align-items:stretch; gap:0; flex-wrap:wrap; margin:0 0 12px; padding:14px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
/* 🔧 2026-08-10(r9-f) 반원 계기 색 «기본값 통일» — 세 토큰 선언을 여기서 걷어 낸다.
   ■ 무엇이 갈려 있었나 (실측 2026-08-10 · 시트 대조)
       시세판 확인판(card-v2) = modules + components + faithful-entity.css
            → faithful 에는 `.position-spread-gauge-dial` 이 --g1/--g2/--g3 을 «안 적는다».
              그래서 :root 의 값이 그대로 걸린다 — 라이트 #12B26D·#EDA51B·#EE4B51 /
              다크 #3DE894·#FFC94A·#FF6E73 (= 사용자가 「실제 반원 게이지처럼 보인다」고 한 그 색)
       성능판 확인판(spec-v1) = modules + components + item-modules.css
            → 이 한 줄이 세 토큰을 강조색 3단(acc 26% · 62% · 100%)으로 덮어써 계기가
              단색 그러데이션이 됐다. 같은 부품인데 판에 따라 색이 갈렸다.
   ■ 그래서 «선언을 지운다»(다른 값으로 덮지 않는다) — 지우면 :root 한 곳이 유일 출처가 되고
     두 판이 저절로 같아진다. 라이브(item-modules.css 를 싣는 쪽)도 함께 통일된다.
   🔒 셀 페이지 갈래(.app-layer-panel--cell · :6872)는 «그대로 둔다» — 그 화면의 계기는
      좋고 나쁨이 아니라 «자리»를 재므로 신호등 색이 없는 판정을 붙인다(그 절의 근거 참조).
      즉 기본은 신호등, «자리를 재는 화면»만 단색 — 판정이 있는 쪽만 예외다. */
.position-spread-gauge-dial { display:flex; flex-direction:column; align-items:center; gap:2px; padding:9px 11px 10px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); text-align:center; }  /* 기준판 */
.rule-flow-diagram__subtitle { flex:1 1 150px; min-width:0; display:flex; flex-direction:column; gap:5px; align-items:center; padding:12px 10px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); text-align:center; }
.position-spread-gauge-dial svg { width:100%; max-width:104px; height:auto; margin:2px 0 -4px; display:block; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare { --color-text-primary:#1e293b; --color-text-body:#334155; --color-text-muted:#64748b; --color-border:#e2e8f0; --color-primary-dark:#1e40af; --color-shadow-sm:0 1px 2px rgba(15,23,42,.08); margin:14px 0 0; --color-primary:#1d4ed8; --color-radius-lg:12px; }  /* 다수결3장 */
/* ☀️ 라이트 고정(2026-08-10 · p22) — 여기 있던 서열 패널 다크 지역 재정의(p19)와
   패널 배경 다크화(p20) 블록을 소거했다. 라이트 단일 팔레트 확정(사유·복원 = 시트
   머리 p22 블록 참조). 이 자리 원본 = _백업/…/20260810-p22/. */
.rule-flow-diagram__subtitle svg { width:34px; height:34px; display:block; }
.position-spread-gauge-inline-tick-text { font-size:13px; font-weight:700; fill:var(--mut); }
.ranked-thumbnail-list-standout-compare__case { margin-bottom:14px; border:1px solid var(--line2); border-radius:var(--r-s); overflow:hidden; }
.rule-flow-diagram__key { font-size:13px; font-weight:800; color:var(--ink); }
.position-spread-gauge-value { font-size:17px; font-weight:800; letter-spacing:-.03em; line-height:1.15; color:var(--ink); }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__case:last-child { margin-bottom:0; }
.rule-flow-diagram__value { font-size:13px; color:var(--mut); line-height:1.5; }
.position-spread-gauge-question { font-size:13px; font-weight:700; color:var(--mut); letter-spacing:.03em; align-self:stretch; text-align:left; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__host { padding:16px; background:#fff; color:#334155; display:flex; flex-direction:column; gap:14px; }
.position-spread-gauge-hand.rv-anim-go { animation-play-state:running; animation:gnd-sweep 1.5s linear .2s both; }
.rule-flow-diagram__arrow { flex:0 0 42px; display:grid; place-items:center; color:var(--acc-i); }
.position-spread-gauge-explanation { font-size:13px; color:var(--mut); line-height:1.45; margin-top:2px; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__rows { display:flex; flex-direction:column; gap:8px; }
/* B-8 확장(2026-08-14 지휘자 판정): .ranked-thumbnail-list-gap-row__bar>i 기본 선언에서 animation
   제거 — 기준판(:7435 .ranked-thumbnail-list-gap-row__bar i·width:var(--w))이 이미 있어 안전.
   트리거는 아래 .rv-anim-go로. */
/* R19(2026-08-20 W3-CSS) 삭제 — 여기 있던 `.position-spread-gauge-arc.rv-anim-go{animation-play-state:running;
   animation:garc-grow 1.5s linear .2s both}`. 아래 :9797 기본 선언이 «paused + dashoffset:100»(=안 보이는
   자리)에서 출발시켜 놓고, 다시 그리기를 이 트리거 줄에만 맡기고 있었다. 자바스크립트가 그 이름표를
   못 붙이는 지면에서는 호가 영영 안 그려진다 — 그것이 R19 다. 호는 애니를 안 지기로 이미 정해져
   있으므로(:6457 p28-f J-⑨) 결속을 통째로 걷고 정적 완성형으로 남긴다. */
.rule-flow-diagram__arrow svg { width:30px; height:22px; display:block; }
.position-spread-gauge-hand { transform-origin:var(--gnd-o); transform:rotate(calc(var(--gnd-a,0)*-1deg)); transform-box:view-box; animation:gnd-turn 1.5s linear .2s both; animation-play-state:paused; }  /* 다수결6장 */
.ranked-thumbnail-list-standout-compare__row { display:grid; grid-template-columns:56px 300px minmax(180px,1fr); grid-template-areas:"pic body bar"; gap:6px 12px; align-items:center; min-height:78px; padding:10px 12px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; text-decoration:none; color:inherit; }
.visual-block-box>.position-spread-gauge-dial { border:0; background:transparent; padding:0; }
.distribution-bar-fill.rv-anim-go { animation-play-state:running; }
/* R19(2026-08-20 W3-CSS) 기본 선언 = «다 그려진 호» 하나뿐이다.
   ■ 걷어낸 것 ─ ① stroke-dasharray:100 하드코드(길이 100 은 pathLength 를 쓰는 셀 지면만의 약속이라
     그쪽 스코프 규칙 :7106 `.app-layer-panel--cell …{stroke-dasharray:100;--arc:100}` 이 이미 들고 있다)
     ② stroke-dashoffset:100(=호를 통째로 밀어내 «안 보이는» 출발자리) ③ paused 애니 결속.
   ■ 왜 ─ 셋이 합쳐져 「기본은 안 보임 + 다시 그려 주는 이름표는 스크립트가 붙일 때만」이 되어 있었다.
     이름표가 안 붙는 지면에서 호가 사라진 것이 R19 의 실체다. dashoffset:0 만 남기면 대시가 걸린
     셀 지면(100/0 = 한 칸이 통째)에서도, 대시가 없는 다른 지면에서도 호는 늘 온전히 그려진다. */
.position-spread-gauge-arc { stroke-dashoffset:0; }  /* 다수결6장 */
.ranked-thumbnail-list-standout-compare__rowbar { grid-area:bar; min-width:0; display:flex; align-items:center; gap:8px; }
.position-spread-gauge-group>.position-spread-gauge-dial { border:0; background:transparent; padding:0; }
.ranked-thumbnail-list-gap-row__bar>i.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.position-spread-gauge-hand.sh-go { animation:gnd-sweep 1.5s linear var(--sh-d,.2s)both; }
.ranked-thumbnail-list-standout-compare__rowbar .ranked-thumbnail-list-standout-compare__rowtrack { flex:1 1 auto; min-width:0; }
/* R19(2026-08-20 W3-CSS) 삭제 — `.position-spread-gauge-arc.sh-go{animation:garc-grow 1.5s linear var(--sh-d,.2s)both}`.
   위 .rv-anim-go 와 같은 성격의 둘째 트리거(형제 변형)라 함께 걷는다. 한쪽만 지우면 다른 쪽이
   기본 선언을 다시 애니에 묶어 같은 결함이 되살아난다(A-1 형제 전수). */
.ranked-thumbnail-list-standout-compare__rowbar .ranked-thumbnail-list-standout-compare__rowbh { flex:0 0 auto; margin:0; }
.position-spread-gauge-dial .position-spread-gauge-value { font-size:22px; font-weight:800; letter-spacing:-.03em; line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rulq { margin:0 0 12px; padding:14px 16px; border:1px solid var(--line); border-left:4px solid var(--acc); border-radius:var(--r-s); background:var(--surf); }
.ranked-thumbnail-list-standout-compare__row:hover { border-color:#94a3b8; background:#f8fafc; }
.position-spread-gauge-dial .position-spread-gauge-question { align-self:stretch; text-align:left; font-size:13px; font-weight:700; color:var(--mut); line-height:1.45; word-break:keep-all; }  /* 기준판 */
.rulq blockquote { margin:0; font-size:15px; line-height:1.75; color:var(--ink); font-weight:700; }
.ranked-thumbnail-list-standout-compare__rowpic { grid-area:pic; display:block; width:56px; aspect-ratio:745/1040; border-radius:5px; overflow:hidden; border:1px solid #e2e8f0; background:#f1f5f9; }
.position-spread-gauge-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(178px,1fr)); gap:11px; padding:14px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); margin-bottom:13px; }
.rulq blockquote em { font-style:normal; background:var(--acc-s); color:var(--acc-i); padding:1px 5px; border-radius:4px; font-weight:800; }
.ranked-thumbnail-list-standout-compare__rowpic img { width:100%; height:100%; object-fit:cover; display:block; }
.position-spread-gauge-group>* { min-width:0; }
.rulq figcaption { margin-top:9px; font-size:13px; color:var(--mut); line-height:1.6; }
.ranked-thumbnail-list-standout-compare__rowrank { display:inline-block; width:fit-content; margin-right:7px; vertical-align:1px; padding:2px 9px; border-radius:999px; white-space:nowrap; font-size:13px; font-weight:800; background:var(--dv-bg,#f1f5f9); color:var(--dv-fg,#475569); border:1px solid color-mix(in srgb,var(--dv-accent,#94a3b8)40%,transparent); }
.attribute-distribution-list { list-style:none; margin:0; padding:15px; background:var(--surf2); border:1px solid var(--line); border-radius:var(--r); display:flex; flex-direction:column; gap:10px; }  /* 기준판 */
.rulq figcaption a { color:var(--acc-i); }
.lens-entry-panel { margin-top:34px; padding:0; background:none; border:0; border-radius:0; margin:14px 0 0; }  /* 기준판·다수결4장 */
.ranked-thumbnail-list-standout-compare__rowbody { grid-area:body; min-width:0; display:flex; flex-direction:column; gap:3px; }
.attribute-distribution-list>li { min-width:0; }
.step-cliff-column-chart { position:relative; display:flex; align-items:flex-end; gap:4px; height:132px; margin:0; padding:0; overflow:visible; }
.lens-entry-panel__title { margin:0 0 11px; font-size:15px; letter-spacing:-.01em; color:var(--ink2); font-weight:800; text-transform:none; margin-bottom:10px; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__rowname { font-size:14px; font-weight:800; color:#1e293b; line-height:1.35; word-break:keep-all; }
.attribute-distribution-label-grid { display:grid; grid-template-columns:minmax(0,1fr)auto; gap:2px 10px; align-items:baseline; }
.step-cliff-column-chart__content { flex:1 1 0; min-width:0; position:relative; display:grid; grid-template-rows:1fr auto; align-items:end; justify-items:center; gap:4px; height:100%; appearance:none; -webkit-appearance:none; background:transparent; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; }
.data-story-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__rowkv { font-size:13px; color:#64748b; line-height:1.35; }
.denominator-labelled-bar-list__key { min-width:0; font-size:13px; font-weight:700; color:var(--ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.step-cliff-column-chart__content:focus-visible { outline:2px solid var(--acc); outline-offset:2px; border-radius:4px; }
/* B-8 확장(2026-08-14 지휘자 판정): .funnel-step-chart__band>i 기본 선언에서 animation 제거 —
   기준판(:9047 .funnel-step-chart__band i·width:var(--w))이 이미 있어 안전. 트리거는 아래 .rv-anim-go로. */
.ranked-thumbnail-list-standout-compare__rowbh { margin-bottom:2px; min-height:0; }
.denominator-labelled-bar-list__subtitle { font-size:13px; font-weight:600; color:var(--mut); }
.step-cliff-column-chart__bar { display:block; width:100%; align-self:end; border-radius:3px 3px 0 0; background:var(--line2); min-height:3px; transform-origin:bottom center; animation:none; animation-play-state:paused; }  /* #16(2026-08-17): 기본 선언에서 keyframe 제거 — 실제 height(cell-rarity-vis.php inline style="height:X%")가 이미 있어 안전. 트리거는 아래 .rv-anim-go로 */
.ranked-thumbnail-list-standout-compare__legend { margin:0 0 8px; font-size:13px; line-height:1.5; color:var(--color-text-muted,#64748b); }
.ranked-thumbnail-list-gap-row__value { font-size:14px; font-weight:800; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
.step-cliff-column-chart__content--active .step-cliff-column-chart__bar { background:var(--acc); }
.ranked-thumbnail-list-standout-compare__legend b { color:var(--color-text-body,#334155); font-weight:800; }
.ranked-thumbnail-list-gap-row__value-text { font-size:13px; font-weight:700; color:var(--mut); text-align:right; display:flex; flex-direction:column; gap:1px; min-width:0; overflow-wrap:break-word; }  /* F41(2026-08-22 눈검수) — white-space:nowrap 제거(긴 라벨 "Costs at least one Energy to retreat"이 자식 <b>에 상속돼 컨테이너 밖으로 삐져나갔다·min-width:0은 이미 있었으나 nowrap이 줄바꿈 자체를 막고 있었다). <em>(printed 문구)은 자기 자신의 white-space:nowrap+ellipsis(아래 :10541)로 따로 자른다 — 무변경. */
.step-cliff-column-chart__content--edge .step-cliff-column-chart__bar { background:var(--warn); }
.data-story-grid>* { min-width:0; }
.ranked-thumbnail-list-standout-compare__gap { margin:0; font-size:13.5px; line-height:1.55; color:var(--color-text-body,#334155); }
.attribute-distribution-track { grid-column:1/-1; display:flex; height:9px; border-radius:5px; background:var(--surf2); border:1px solid var(--line); overflow:hidden; }  /* 기준판 · F3(2026-08-21 눈검수) 트랙 배경 회귀 복원(var(--surf)→var(--surf2)) */
.step-cliff-column-chart__year { font-size:13px; font-weight:700; color:var(--mut); line-height:1.2; white-space:nowrap; }
.data-story-tile { display:flex; flex-direction:column; gap:7px; padding:12px 12px 11px; border:1px solid var(--line2); justify-content:flex-start; border-radius:var(--r-s); background:var(--surf); text-decoration:none; color:inherit; transition:transform .12s,border-color .12s; position:relative; padding-bottom:9px; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__gap b { color:var(--color-text-primary,#1e293b); font-weight:800; }
.attribute-distribution-track i { display:block; height:100%; background:var(--acc); border-radius:5px 0 0 5px; }
.app-layer-panel>*+* { margin-top:30px; }
.step-cliff-column-chart__content--active .step-cliff-column-chart__year { color:var(--ink); font-weight:800; }
.data-story-tile:hover { transform:translateY(-2px); border-color:var(--acc); }
.ranked-thumbnail-list-standout-compare__badge--digital { background:#f1f5f9; color:#475569; }
.attribute-distribution-list>li.table-row-current .attribute-distribution-track i { background:var(--acc-i); }
.step-cliff-column-chart__content--edge .step-cliff-column-chart__year { color:var(--ink); font-weight:800; }
.data-story-tile:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.ranked-thumbnail-list-standout-compare__badge { margin-left:7px; padding:1px 7px; border-radius:999px; background:#eef2ff; color:#4338ca; font-size:13px; font-weight:700; white-space:nowrap; }
.attribute-distribution-list>li.table-row-current .denominator-labelled-bar-list__key { color:var(--acc-i); font-weight:800; }
.step-cliff-column-chart .price-trend-line-tooltip { left:50%; bottom:calc(100% + 6px); transform:translate(-50%,4px); }
.data-story-tile__question { font-size:13px; font-weight:700; color:var(--mut); letter-spacing:.01em; line-height:1.4; min-height:29px; padding-right:0; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__extra { display:flex; gap:18px; align-items:flex-start; }
.attribute-distribution-list__footnote { margin:2px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
.step-cliff-column-chart__content:hover .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.data-story-tile__value { font-size:23px; font-weight:800; letter-spacing:-.03em; line-height:1; display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; }  /* 기준판 */
.ranked-thumbnail-list-standout-compare__ethumb { flex:0 0 132px; display:block; border-radius:8px; overflow:hidden; border:1px solid #e2e8f0; background:#f8fafc; aspect-ratio:745/1040; }
.deep-dive-panel .key-value-line a { color:var(--acc-i); text-decoration:none; font-weight:700; text-underline-offset:3px; text-decoration-thickness:1.5px; }
.step-cliff-column-chart__content:focus-visible .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.funnel-step-chart__band>i.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.data-story-tile__value em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); letter-spacing:0; white-space:nowrap; }
.ranked-thumbnail-list-standout-compare__ethumb img { width:100%; height:100%; object-fit:cover; display:block; }
/* W4-R49(2026-08-20 지휘자 판정: deep-dive 목록 = «산문») — 비호버에도 밑줄을 세운다.
   ■ 확정 규칙 두 갈래를 여기서 갈라 적는다(헷갈려 온 자리라 명시한다)
       산문 속 인라인 링크  = 밑줄 «상시»   ← 이 목록이 여기 속한다(문장 안에 엔티티가 박힌 글)
       표·버튼 문맥 UI 링크 = 밑줄 «없음»   ← R23·R78 이 다루는 계열(.table-group-name-link 등)
     둘은 반대 규칙이지 모순이 아니다 — 글이냐 조작 요소냐로 갈린다.
   ↩︎ R78 주석의 반대 서술 정정 — 그 회차에 「표 링크는 양 상태 밑줄 0」을 적으며 산문 링크까지
      같은 방향으로 읽힐 여지를 남겼다. 산문은 그 반대가 정답이다(이 주석이 정본). */
.deep-dive-panel li a { color:var(--acc-i); text-decoration:underline; font-weight:700; text-underline-offset:3px; text-decoration-thickness:1.5px; }  /* W4-R49 */
.step-cliff-column-chart__content:active .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.data-story-tile__content { display:block; width:100%; height:40px; }
.ranked-thumbnail-list-standout-compare__background { display:block; width:100%; height:100%; background-size:cover; background-position:center; }
.deep-dive-panel .key-value-line a:hover { text-decoration:underline; }
.step-cliff-column-chart__content:first-child .price-trend-line-tooltip { left:0; transform:translate(0,4px); }
.price-trend-line-sparkline { position:relative; display:block; }
.ranked-thumbnail-list-standout-compare__ebody { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:14px; }
.deep-dive-panel .key-value-line a:focus-visible { text-decoration:underline; }
.step-cliff-column-chart__content:first-child:hover .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-sparkline>i { position:absolute; left:calc(var(--x)*1%); top:calc(var(--yp)*1%); width:7px; height:7px; margin:-3.5px 0 0 -3.5px; border-radius:50%; background:var(--dn); display:block; }  /* 다수결2장 */
.deep-dive-panel li a:hover { text-decoration:underline; }
.step-cliff-column-chart__content:first-child:focus-visible .price-trend-line-tooltip { transform:translate(0,0); }
/* W4-R10(2026-08-20) 순위 타일 «다닥다닥» — 줄 사이 숨을 3px→5px 로 넓힌다(지휘자 값 확정).
   ■ 좌표 정정 — 이 항목은 :12128 격자 블록(`:not(:has(> code))`)과 무관하다. 그 제외는 R7
     이중선 수리의 «기전» 그 자체라 넓히면 R7 이 되살아난다(그 블록 주석: 「code 유무는 결함의
     기전 그 자체」). R10 이 지적한 과밀은 이 gap 값이 진다 — code 행·비code 행을 가리지 않고
     모든 줄에 걸리므로 격자 블록을 건드릴 필요가 없다.
   🔢 5px = 같은 타일 계열 `.data-story-tile__bars` 가 이미 쓰는 값 그대로(새 값 0).
   🔒 padding(3.5px 7px)은 «불변»으로 판정됐다 — .compact-value-bar-row 는 카드 상세·셀·허브가
      전역 재사용하는 부품이라, 안여백을 건드리면 회귀 범위가 이득에 비해 넓다.
   🔒 «위계»는 현행 유지 판정 — 값 칩(code)이 이미 위계를 지고 있고 원문에 구체 지시가 없다. */
.data-story-tile__rows { display:flex; flex-direction:column; gap:5px; }  /* 기준판 · W4-R10(2026-08-20) */
.deep-dive-panel li a:focus-visible { text-decoration:underline; }
:is(.trp,.price-trend-line-chart__dot):hover .price-trend-line-tooltip { opacity:1; transform:translateX(-50%)translateY(0); }
.step-cliff-column-chart__content:first-child:active .price-trend-line-tooltip { transform:translate(0,0); }
.compact-value-bar-row { position:relative; display:flex; grid-template-columns:minmax(0,1fr)auto; gap:5px; align-items:center; padding-left:8px; padding:3.5px 7px; border-radius:4px; overflow:hidden; font-size:13px; line-height:1.25; border-left:3px solid transparent; }  /* 기준판 */
.site-search-field { flex:1 1 260px; min-width:0; display:flex; align-items:center; gap:8px; padding:6px 8px 6px 11px; border-radius:9px; background:var(--surf2); border:1px solid var(--line2); transition:border-color .13s,box-shadow .13s; }
:is(.trp,.price-trend-line-chart__dot):focus-visible .price-trend-line-tooltip { opacity:1; transform:translateX(-50%)translateY(0); }
.step-cliff-column-chart__content:last-child .price-trend-line-tooltip { left:auto; right:0; transform:translate(0,4px); }
.compact-value-bar-row>i { grid-column:1/-1; display:block; border-radius:4px; background:var(--bar,var(--acc)); order:3; position:absolute; left:0; top:0; bottom:0; width:var(--w); opacity:.34; min-width:3px; }  /* R65(2026-08-18 W2) — height:6px 가 top:0;bottom:0 풀높이 스트레치와 같은 규칙 안에서 충돌(과잉제약)해 6px 얇은 상단선으로 굳어지던 결함. height 제거 → top/bottom 스트레치가 살아나 행 전체 높이를 채운다(SSOT: 아래 :1896 중복 정의 제거로 이 규칙이 유일 정의). 기준판 */
.site-search-field:focus-within { border-color:var(--acc); box-shadow:0 0 0 3px color-mix(in srgb,var(--acc)18%,transparent); }
.step-cliff-column-chart__content:last-child:hover .price-trend-line-tooltip { transform:translate(0,0); }
.gainers-losers-board__label span { font-size:14px; font-weight:800; text-align:right; letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }  /* 최신 */
.site-search-field__image { width:17px; height:17px; flex:0 0 auto; fill:none; stroke:var(--mut); stroke-width:2; stroke-linecap:round; }
.step-cliff-column-chart__content:last-child:focus-visible .price-trend-line-tooltip { transform:translate(0,0); }
.compact-value-bar-row--current>i::after { background:var(--acc-i); opacity:1; }
.gainers-losers-board__up span { color:var(--up); }
.site-search-field input { flex:1; min-width:0; border:0; background:none; color:var(--ink); font-size:14px; font-weight:600; outline:0; }
.step-cliff-column-chart__content:last-child:active .price-trend-line-tooltip { transform:translate(0,0); }
.compact-value-bar-row>b { font-size:13px; font-weight:700; color:var(--ink2); min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gainers-losers-board__down span { color:var(--dn); }
.site-search-field input::placeholder { color:var(--mut); font-weight:500; }
.step-cliff-column-chart__cutoff { position:absolute; top:0; bottom:22px; left:calc(var(--x)* 1%); width:2px; background:var(--warn); border-radius:1px; pointer-events:none; }
.compact-value-bar-row>em { font-style:normal; font-size:13px; font-weight:800; color:var(--ink2); font-variant-numeric:tabular-nums; overflow:visible; text-overflow:clip; white-space:nowrap; }
.site-search-field__scan { display:flex; align-items:center; gap:5px; flex:0 0 auto; padding:6px 11px; border-radius:7px; border:1px solid var(--line2); background:var(--surf); color:var(--ink2); font-size:13px; font-weight:800; cursor:pointer; transition:background .13s,border-color .13s,color .13s; position:relative; overflow:hidden; }
.step-cliff-column-chart__cutoff span { position:absolute; top:-2px; left:6px; font-size:13px; font-weight:800; color:var(--warn); white-space:nowrap; }
.compact-value-bar-row--current>b { color:var(--acc-i); }
.gainers-losers-board__label a { display:flex; flex-direction:column; gap:1px; min-width:0; text-decoration:none; color:inherit; }
.site-search-field__scan svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.step-cliff-column-chart-box { position:relative; margin:0 0 12px; padding:13px 15px 11px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
.compact-value-bar-row--current>em { color:var(--acc-i); }
.site-search-field__scan:hover { background:var(--acc); border-color:var(--acc); color:#fff; }
.data-story-tile__meta { font-size:13px; color:var(--mut); line-height:1.45; min-height:28px; margin-top:auto; }  /* 기준판 */
.site-search-field__scan:focus-visible { background:var(--acc); border-color:var(--acc); color:#fff; }
.data-story-tile__go { display:flex; align-items:center; justify-content:flex-end; gap:4px; margin-top:auto; padding-top:8px; font-size:13px; font-weight:800; color:var(--mut); transition:color .13s ease; letter-spacing:-.01em; }  /* 기준판 */
.gainers-losers-board__label a:hover b { color:var(--acc-i); text-decoration:underline; text-underline-offset:3px; }
.yearly-print-bar-chart { display:flex; align-items:flex-end; gap:3px; height:64px; margin:0; }
.data-story-tile__go::after { content:"→"; display:inline-grid; flex:0 0 auto; width:21px; height:21px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px)rotate(45deg); place-items:center; border-radius:50%; background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1; transition:transform .13s ease,background .13s ease,color .13s ease; }  /* 기준판 */
/* R56(2026-08-20 W3-CSS) 무버 «가운데 정보»가 오른쪽에 붙던 뿌리 — 여백이 아니라 «특이성 싸움»이다.
   ■ 진단(A-4 렌즈로 flex 붕괴부터 의심했으나 아니었다) ─ 이름 칸은 주소가 있으면 <a>, 없으면
     <span> 으로 난다(movers-board.php:72-73 · card-movers:92-93 · cell-artist-movers:115-116 ·
     cell-dex-movers:94). <a> 쪽은 :9944 가 왼쪽 세로 두 줄로 세워 멀쩡했고, <span> 쪽만 이 줄에
     걸려 «값 칸» 차림(text-align:right·800·nowrap)을 뒤집어썼다.
   ■ 왜 기존 처방이 안 들었나 ─ :4182 가 바로 그 목적으로 `text-align:initial` 을 두고 있었지만
     특이성이 (0,2,0) 이라 이 줄 (0,2,2) 에 진다. :not() 이 그림 칸만 빼고 «이름 칸»은 안 뺐기 때문.
   ■ 수리 ─ :not() 목록에 이름 칸을 더한다. 그러면 이 줄은 이름 그대로 «값 칸 전용»이 되고,
     이름 칸은 :4182 의 왼쪽 정렬을 되찾는다(주소 유무와 상관없이 한 모양 — :4177 의 원래 의도).
   🔒 형제 두 줄(아래 --up·--down 색)도 같은 선택자라 함께 맞춘다. 한쪽만 고치면 이름 칸이
      등락색을 뒤집어쓰는 «같은 뿌리»가 남는다(A-1 형제 전수).
   ✅ 무버를 세우는 조각 4개(홈·카드·작가·세트)가 전부 이 한 이름을 쓰므로 지면별 갈라짐 0. */
.gainers-losers-board__label>li>span:not(.gainers-losers-board__image):not(.gainers-losers-board__key) { font-size:14px; font-weight:800; text-align:right; letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
.yearly-print-bar-chart__content { flex:1 1 0; min-width:0; position:relative; display:grid; grid-template-rows:1fr; align-items:end; justify-items:center; height:100%; appearance:none; -webkit-appearance:none; background:transparent; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; }
.data-story-tile:hover .data-story-tile__go { color:var(--acc-i); }
.gainers-losers-board__up .gainers-losers-board__label>li>span:not(.gainers-losers-board__image):not(.gainers-losers-board__key) { color:var(--up); }  /* R56(2026-08-20 W3-CSS) 형제 */
.yearly-print-bar-chart__content:focus-visible { outline:2px solid var(--acc); outline-offset:2px; border-radius:3px; }
.data-story-tile:focus-visible .data-story-tile__go { color:var(--acc-i); }
.gainers-losers-board__down .gainers-losers-board__label>li>span:not(.gainers-losers-board__image):not(.gainers-losers-board__key) { color:var(--dn); }  /* R56(2026-08-20 W3-CSS) 형제 */
.yearly-print-bar-chart__bar { display:block; width:100%; align-self:end; border-radius:2px 2px 0 0; background:var(--line2); min-height:2px; transform-origin:bottom center; animation:none; animation-play-state:paused; }  /* #16(2026-08-17): 기본 선언에서 keyframe 제거 — 실제 height(cell-rarity-vis.php inline style="height:X%")가 이미 있어 안전. 트리거는 아래 .rv-anim-go로 */
.section-takeaway-block { margin-top:12px; padding:13px 15px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); margin:12px 0; }
.yearly-print-bar-chart__content--active .yearly-print-bar-chart__bar { background:var(--acc); }
.section-takeaway-block__title { margin:0 0 8px; font-size:13px; font-weight:800; letter-spacing:.05em; color:var(--acc-i); text-transform:uppercase; }  /* 기준판 */
.group-value-compare-box { margin:12px 0 0; padding:15px; background:var(--surf2); border:1px solid var(--line); border-radius:var(--r); }
.yearly-print-bar-chart .price-trend-line-tooltip { left:50%; bottom:calc(100% + 6px); transform:translate(-50%,4px); min-width:150px; }
.section-takeaway-block ul { margin:0; padding-left:16px; display:flex; flex-direction:column; gap:5px; }  /* 기준판 */
.group-value-compare-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }  /* 기준판 */
.yearly-print-bar-chart__content:hover .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.section-takeaway-block li { font-size:16px; color:var(--ink2); line-height:1.7; }  /* 기준판 */
.group-value-compare-grid>* { min-width:0; }
.yearly-print-bar-chart__content:focus-visible .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.section-takeaway-block b { color:var(--ink); font-weight:700; margin-right:3px; }  /* 기준판 */
.group-value-compare-cell { display:flex; flex-direction:column; gap:5px; padding:12px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
.yearly-print-bar-chart__content:active .price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
.price-trend-line-band__hitarea { position:absolute; inset:0; display:flex; }
.group-value-compare-cell--top { border-color:var(--acc); background:linear-gradient(180deg,var(--acc-s),var(--surf)60%); }  /* 기준판 */
.yearly-print-bar-chart__content:first-child .price-trend-line-tooltip { left:0; transform:translate(0,4px); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea { flex:1 1 0; min-width:0; position:relative; overflow:visible; border:0; background:transparent; padding:0; cursor:pointer; }
.group-value-compare-cell-heading { font-size:13px; font-weight:800; color:var(--ink2); line-height:1.4; word-break:keep-all; }
.yearly-print-bar-chart__content:first-child:hover .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:hover { background:color-mix(in srgb,var(--acc)12%,transparent); }
.group-value-compare-cell--top .group-value-compare-cell-heading { color:var(--acc-i); }
.yearly-print-bar-chart__content:first-child:focus-visible .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:focus-visible { outline:2px solid var(--acc); outline-offset:-2px; }
.group-value-compare-cell-value { font-size:22px; font-weight:800; letter-spacing:-.025em; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
.yearly-print-bar-chart__content:first-child:active .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea>.price-trend-line-tooltip { left:50%; right:auto; bottom:auto; top:calc(var(--yp,0)*1%); transform:translate(-50%,calc(-100% - 16px)); }
.group-value-compare-cell-bar { display:block; height:6px; border-radius:4px; background:var(--surf2); border:1px solid var(--line); overflow:hidden; }  /* 기준판 */
.gainers-losers-board__label li:has(a:hover) { background:var(--acc-s); }
.yearly-print-bar-chart__content:last-child .price-trend-line-tooltip { left:auto; right:0; transform:translate(0,4px); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:hover>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.group-value-compare-cell-bar span { display:block; height:100%; border-radius:4px; background:var(--acc); }
.gainers-losers-board__label li:has(a:focus-visible) { background:var(--acc-s); }
.yearly-print-bar-chart__content:last-child:hover .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:focus-visible>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.group-value-compare-cell--top .group-value-compare-cell-bar span { background:var(--gold); }
.yearly-print-bar-chart__content:last-child:focus-visible .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:active>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.group-value-compare-cell-note { font-size:13px; color:var(--mut); line-height:1.55; }
.yearly-print-bar-chart__content:last-child:active .price-trend-line-tooltip { transform:translate(0,0); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child>.price-trend-line-tooltip { left:0; transform:translate(0,calc(-100% - 16px)); }
.group-value-compare-footnote { margin:11px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }
.yearly-print-bar-figure { position:relative; overflow:visible; padding:12px 13px 11px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child:hover>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }
.yearly-print-bar-figure__heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 9px; font-size:13px; font-weight:700; color:var(--mut); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child:focus-visible>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }
.yearly-print-bar-figure__heading b { font-size:14px; font-weight:800; color:var(--ink); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:last-child>.price-trend-line-tooltip { left:auto; right:0; transform:translate(0,calc(-100% - 16px)); }
.gainers-losers-board__price { color:var(--ink2); }
.yearly-print-bar-figure__footnote { display:flex; justify-content:space-between; margin:6px 0 0; font-size:13px; color:var(--mut); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:last-child:hover>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }
.stat-tile-sparkline { display:flex; flex-direction:column; gap:5px; padding:12px 13px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }
.gainers-losers-board__current b { color:var(--dn); }
.corr { margin:0 0 12px; padding:14px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
.price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:last-child:focus-visible>.price-trend-line-tooltip { transform:translate(0,calc(-100% - 12px)); }
.stat-tile-sparkline--span-2 { grid-column:span 2; }
.corr__g { display:flex; flex-direction:column; gap:8px; margin:0; padding:0; list-style:none; }
.price-trend-line-tooltip { position:absolute; left:50%; padding:9px 12px 10px; border-radius:9px; min-width:172px; background:var(--ink); color:var(--surf); z-index:6; box-shadow:0 10px 24px rgba(0,0,0,.3); display:flex; flex-direction:column; gap:3px; text-align:left; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .13s ease,transform .13s ease; top:calc(var(--yp,0)*1%); transform:translate(-50%,4px); border:1px solid var(--line2); bottom:calc(100% + 9px); }  /* 기준판·다수결4장·최신 */
.corr__r { display:grid; grid-template-columns:minmax(0,110px)minmax(0,1fr)84px; gap:11px; align-items:center; }
.price-trend-line-tooltip__heading { font-size:13px; font-weight:800; letter-spacing:-.01em; padding-bottom:5px; border-bottom:1px solid color-mix(in srgb,var(--surf)22%,transparent); margin-bottom:2px; display:block; color:var(--ink); }  /* 기준판 */
.site-search-field__scan input { position:absolute; inset:0; opacity:0; cursor:pointer; font-size:0; }
.corr__r>* { min-width:0; }
.price-trend-line-tooltip__rank { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; white-space:nowrap; color:var(--ink); }
.stat-tile-sparkline__key { font-size:13px; font-weight:700; color:var(--mut); line-height:1.4; word-break:keep-all; }
.site-search-field__scan:focus-within { background:var(--acc); border-color:var(--acc); color:#fff; }
.corr__k { font-size:13.5px; font-weight:700; color:var(--ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.price-trend-line-tooltip__rank>i { width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.stat-tile-sparkline__value { font-size:21px; font-weight:800; letter-spacing:-.03em; line-height:1.05; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
.purchase-action-row .outline-action-button { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; column-gap:6px; row-gap:1px; line-height:1.25; }
.corr__t { position:relative; height:20px; border-radius:5px; background:var(--surf); border:1px solid var(--line); }
.price-trend-line-tooltip__rank>span { opacity:.78; }
.stat-tile-sparkline__meta { font-size:13px; color:var(--mut); line-height:1.5; }
.purchase-action-row .outline-action-button em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); flex-basis:100%; text-align:center; }
.corr__a { position:absolute; left:0; top:2px; height:6px; border-radius:3px; background:var(--acc); opacity:.85; width:var(--wa); }
.price-trend-line-tooltip__rank>b { margin-left:auto; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.stat-tile-sparkline__content { display:block; width:100%; height:34px; }
.attribute-chip-link--format { background:color-mix(in srgb,var(--c2)20%,var(--surf)); color:var(--c2); border-color:color-mix(in srgb,var(--c2)44%,transparent); }
.corr__bfill { position:absolute; left:0; bottom:2px; height:6px; border-radius:3px; background:var(--warn); opacity:.85; width:var(--wb); }
.price-trend-line-tooltip__footnote { margin-top:4px; padding-top:5px; font-size:13px; font-weight:600; opacity:.8; border-top:1px solid color-mix(in srgb,var(--surf)18%,transparent); line-height:1.5; white-space:nowrap; display:block; color:var(--ink); }  /* 기준판 */
.footnote-block--empty { border-style:dashed; background:var(--surf2); }
.corr__v { font-size:13.5px; font-weight:800; text-align:right; color:var(--ink); white-space:nowrap; overflow:visible; text-overflow:clip; font-variant-numeric:tabular-nums; }
.price-trend-line-tooltip__footnote b { font-weight:800; opacity:1; }
.price-trend-line-band__title { margin:0 0 9px; font-size:14px; font-weight:800; color:var(--ink); }
.footnote-block--empty .footnote-block__heading { color:var(--ink2); }
.corr__lg { display:flex; gap:14px; flex-wrap:wrap; margin:11px 0 0; font-size:13px; color:var(--mut); }
.price-trend-line-tooltip__arrow { font-style:normal; font-weight:800; margin:0 2px 0 1px; }
.price-trend-line-band__title em { font-style:normal; font-weight:700; color:var(--mut); }
.calculation-basis-entry__name code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.92em; padding:1px 5px; border-radius:4px; background:var(--surf2); border:1px solid var(--line2); }
.corr__lg span { display:flex; align-items:center; gap:6px; }
.price-trend-line-tooltip__arrow--up { color:#6EE7A8; }
.price-trend-line-band__content { position:relative; width:100%; overflow:visible; }
.body-prose-block code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.92em; padding:1px 5px; border-radius:4px; background:var(--surf2); border:1px solid var(--line2); }
.corr__lg i { width:14px; height:6px; border-radius:3px; flex:0 0 auto; }
.price-trend-line-tooltip__arrow--down { color:#FF9C8F; }
/* 🩹 2026-08-11(p28-c 추가7) 셀 추이선이 «차트 상자를 벗어나던» 뿌리 — 이 갈래만 height 를 안 잡았다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 실측(셀 type/fire · 1280px · 「What one Fire card cost over twelve months」):
       담는 상자 .price-trend-line-band__content = height 120px (고정)
       그 안 <svg>                              = height 293.25px  ← 173px 초과
       결과: svg 가 밴드 상자 아래로 103.67px 삐져나오고 폴리라인도 64.57px 밖으로 나갔다.
   ■ 왜 그렇게 되나 — height:auto 인 svg 는 viewBox(600×170)의 «고유 비율»로 제 높이를 정한다.
     폭이 1,173px 까지 넓어지면 높이도 그만큼 따라 커져 120px 상자를 뚫는다. 폭이 좁을 때는
     안 보이다가 넓은 화면에서만 터지는 결함이라 눈검수에서 늦게 잡힌다.
   ■ 형제 갈래는 이미 높이를 «잡고» 있었다(이 수리가 새 발명이 아니라는 증거):
       .price-trend-line-titled-box svg { height:170px }   (:7708 기준판)
       .price-trend-line-chart__graphic { height:120px }   (:9098 기준판)
     밴드 갈래만 height:auto 로 남아 그 계보를 못 받았다 — «갈래 미전파» 5호.
   ■ 수리 = 담는 상자를 그대로 채우게 한다(height:100%). 숫자를 새로 짓지 않는다 —
     높이는 이미 :9098 계보가 정한 120px 이고, svg 는 그것을 따르기만 한다.
     preserveAspectRatio="none" 이라 viewBox 170 단위가 120px 에 그대로 눌려 매핑되고,
     점·선 좌표는 같은 viewBox 공간에서 계산되므로 서로 어긋나지 않는다. */
.price-trend-line-band__content svg { display:block; width:100%; height:100%; }
.bar-row-title a { color:inherit; text-decoration:none; text-underline-offset:3px; text-decoration-thickness:1.5px; }
.corr__f { margin:9px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }
.price-trend-line-hover-layer--figure { position:relative; display:block; container-type:inline-size; }
.bar-row-title a:hover { color:var(--acc-i); text-decoration:underline; }
/* R79(2026-08-20 W3) 표 바깥 테두리 «부재» 수리 — 가려진 것이 아니라 애초에 없었다.
   ■ 사용자 지적 — 타입 셀 「Who drew the Fire cards?」 표의 오른쪽 세로선이 안 보인다.
   ■ 실측(같은 지면 표 14개 감싸개 census)
        13개  <div class="module-table__scroll-wrap">                        ← border 선언 0건
         1개  <div class="module-table__scroll-wrap bordered-table-wrapper"> ← :9350 border 있음
     사용자가 「나온다」고 한 표(「How many cards each group holds…」)가 정확히 그 1개다.
   ■ 왜 «셀»이 대신 그려 주지 못하나 — 이 시트는 표의 바깥 좌우 변을 셀에서 «일부러» 지운다
        :8154·:8156  th/td:first-child { border-left:0 }
        :8180·:8182  th/td:last-child  { border-right:0 }
     「틀은 감싸는 상자가 진다」는 전제다. 형제 상자 둘은 실제로 틀을 진다
        :8159 .visual-box-table-scroll   border:1px solid var(--line)
        :9350 .bordered-table-wrapper    border:1px solid var(--line)
     그런데 이 상자에만 그 선언이 없었다 — 전제가 깨진 자리이고, 그래서 좌우 변이 «0 겹»이 된다.
     상하 변이 멀쩡했던 이유는 셀의 border-top/bottom 은 지우지 않기 때문이다(그래서 «오른쪽만
     없다»로 보였다).
   🔍 (d) 배경 페이드 가설은 반증됐다 — 28px surf2 페이드+그림자는 .visual-box-table-scroll 의
      배경인데 이 지면에 그 클래스는 0회 등장한다. 덮을 페이드가 존재하지 않고, 애초에 불투명
      테두리는 제 배경 위에 그려지므로 배경이 가릴 수 없다(페인트 순서).
   ■ 수리 — 형제 상자가 이미 쓰는 값을 그대로 준다(새 값 0). 이 상자가 진작 border-radius:8px 를
      들고 있던 것 자체가 «틀이 있어야 하는 상자»라는 표시였다(테두리 없는 라운드는 아무것도 깎지 않는다).
   🔒 바탕(var(--surf2))은 «더하지 않는다» — 없던 회색 판을 13개 표에 새로 입히는 것은 이번
      지적의 범위 밖이고 R24 계열 디박스 방향과도 어긋난다. 빠진 것은 «틀»이지 «판»이 아니다. */
/* 🔴 2026-08-25 사후 발견(45호 모바일 스크린샷 확인 중 적발) — overflow-x:auto 인데 폭 제약이
   없어 «무효»였다(고전 CSS 함정: overflow-x는 박스 폭이 부모보다 좁게 «강제»돼 있어야 작동 —
   폭이 auto/none이면 표가 넓을 때 박스 자체가 표를 따라 커져 버려 스크롤 없이 «페이지 전체»가
   가로로 밀림 — guide-formats 표 실측: wrap=1247px vs 뷰포트 390px, body scrollWidth 1267px).
   max-width:100% 한 줄 추가 — 표=이 클래스 공용 부품(13곳+) 전체에 적용, 사용처 보정 아님. */
.module-table__scroll-wrap { overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch; margin:16px 0 8px; border:1px solid var(--line); border-radius:8px; scrollbar-width:thin; scrollbar-color:#94a3b8 #f1f5f9; }  /* 다수결16장 · R79(2026-08-20 W3) */
.price-trend-line-hover-layer__points { position:absolute; inset:0; }
.bar-row-title a:focus-visible { color:var(--acc-i); text-decoration:underline; }
.td-notes { text-align:left; font-size:14px; color:#64748b; }
.price-trend-line-hover-layer__points>i { position:absolute; left:calc(var(--x)*1%); top:calc(var(--yp)*1%); width:var(--d,7px); height:var(--d,7px); margin:calc(var(--d,7px)/ -2)0 0 calc(var(--d,7px)/ -2); display:block; border-radius:50%; background:var(--dc,var(--acc)); pointer-events:none; }
.badge-bar-row--link { padding:0; overflow:hidden; transition:border-color .13s,background .13s; }
.striped tr:nth-child(odd) td { background:#f8fafc; }
.row-subtotal td { background:#e2e8f0; font-weight:600; border-top:1px solid #94a3b8; }
.badge-bar-row--link:hover { border-color:var(--acc); background:var(--acc-s); }
.label-hint { font-size:0.85rem; color:#64748b; margin-left:8px; font-weight:400; }
.badge-bar-row--link:focus-within { border-color:var(--acc); background:var(--acc-s); }
.unit-label { font-size:0.9rem; color:#475569; font-weight:500; }
.badge-bar-row--link:hover .bar-row-title { color:var(--acc-i); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px; }
.state-hero { padding:30px 20px; margin:20px 0; border-radius:8px; text-align:center; color:#ffffff; background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%); }
.price-trend-line-band__legend { display:flex; flex-wrap:wrap; gap:6px 14px; margin:8px 0 0; font-size:13px; color:var(--mut); }
.badge-bar-row--link:focus-within .bar-row-title { color:var(--acc-i); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px; }
.step-cliff-column-chart__bar.rv-anim-go { transform-origin:bottom center; animation:bar-fill-y 1.5s linear .2s both; }  /* #16(2026-08-17): 트리거 발화 시에만 강화 애니메이션 */
.state-hero__title { font-size:2rem; font-weight:700; margin:0 0 8px 0; color:#ffffff; line-height:1.2; }
.price-trend-line-band__legend i { display:inline-block; width:12px; height:3px; border-radius:2px; margin-right:5px; vertical-align:3px; background:var(--acc); }
.badge-bar-row--link .badge-bar-row__arrow::after { content:"→"; flex:none; margin-left:-3px; font-size:13px; font-weight:800; color:var(--mut); opacity:.5; transition:opacity .13s,transform .13s,color .13s; }
.state-hero__subtitle { font-size:1.1rem; color:rgba(255,255,255,0.9); margin:0; }
.price-trend-line-band__footnote { margin:7px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
.badge-bar-row--link:hover .badge-bar-row__arrow::after { opacity:1; color:var(--acc-i); transform:translateX(2px); }
.border-left-blue { border-left:4px solid #3b82f6; }
.overlap-venn-diagram-intersection { display:grid; grid-template-columns:minmax(260px,340px)minmax(0,1fr); gap:16px; align-items:center; margin:12px 0 0; padding:15px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
.badge-bar-row--link:focus-within .badge-bar-row__arrow::after { opacity:1; color:var(--acc-i); transform:translateX(2px); }
.border-left-green { border-left:4px solid #22c55e; }
.badge-bar-row__arrow:focus-visible { outline:2px solid var(--acc); outline-offset:-2px; border-radius:var(--r-s); }
.border-left-red { border-left:4px solid #ef4444; }
.overlap-venn-diagram-intersection>* { min-width:0; }
table td a { display:inline-block; padding:3px 9px; border:1px solid var(--line2); border-radius:6px; background:var(--surf2); color:var(--acc-i); text-decoration:none; font-weight:700; line-height:1.45; white-space:nowrap; cursor:pointer; transition:background .13s,border-color .13s,color .13s; }
/* B-8 확장(2026-08-14 지휘자 판정): .price-band-navigator__bar>i 기본 선언에서 animation 제거 —
   기준판(:8445 .price-band-navigator__bar i)이 자식 색·모양을 그린다. 트리거는 아래 .rv-anim-go로. */
.border-left-orange { border-left:4px solid #f97316; }
.overlap-venn-diagram-circles { display:block; width:100%; height:auto; }
table th a { display:inline-block; padding:3px 9px; border:1px solid var(--line2); border-radius:6px; background:var(--surf2); color:var(--acc-i); text-decoration:none; font-weight:700; line-height:1.45; white-space:nowrap; cursor:pointer; transition:background .13s,border-color .13s,color .13s; }
.yearly-print-bar-chart__bar.rv-anim-go { transform-origin:bottom center; animation:bar-fill-y 1.5s linear .2s both; }  /* #16(2026-08-17): 트리거 발화 시에만 강화 애니메이션 */
.border-left-yellow { border-left:4px solid #eab308; }
.overlap-venn-diagram-circles text { font-weight:800; font-variant-numeric:tabular-nums; }
.tlink { display:inline-block; padding:3px 9px; border:1px solid var(--line2); border-radius:6px; background:var(--surf2); color:var(--acc-i); text-decoration:none; font-weight:700; line-height:1.45; white-space:nowrap; cursor:pointer; transition:background .13s,border-color .13s,color .13s; }
.border-left-purple { border-left:4px solid #a855f7; }
.overlap-venn-diagram-legend { display:flex; flex-direction:column; gap:7px; margin:9px 0 0; }
table td a:hover { background:var(--acc-s); border-color:var(--acc); color:var(--acc-i); text-decoration:none; }
.border-left-mint { border-left:4px solid #14b8a6; }
.overlap-venn-diagram-legend span { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:var(--ink2); }
table td a:focus-visible { background:var(--acc-s); border-color:var(--acc); color:var(--acc-i); text-decoration:none; }
.border-left-gray { border-left:4px solid #64748b; }
.overlap-venn-diagram-legend i { width:11px; height:11px; border-radius:3px; flex:0 0 auto; }
.tlink:hover { background:var(--acc-s); border-color:var(--acc); color:var(--acc-i); text-decoration:none; }
.border-left-sky { border-left:4px solid #0284c7; }
.overlap-venn-diagram-legend em { margin-left:auto; font-style:normal; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
.tlink:focus-visible { background:var(--acc-s); border-color:var(--acc); color:var(--acc-i); text-decoration:none; }
.border-left-amber { border-left:4px solid #f59e0b; }
.direction-triangle-icon { display:inline-grid; place-items:center; width:15px; height:15px; vertical-align:-2px; }
.module-calc-module { background:#fff; border:2px solid color-mix(in srgb,var(--color-primary)35%,#e5e7eb); border-radius:var(--color-radius-lg); padding:32px 24px; margin:24px 0 32px; box-shadow:var(--color-shadow-sm); }
.direction-triangle-icon svg { width:100%; height:100%; display:block; }
.price-band-navigator__bar>i.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.module-calc-module__title { font-size:20px; font-weight:700; color:var(--color-primary); margin:0 0 24px; padding-bottom:12px; border-bottom:2px solid var(--color-primary-light); }
.direction-triangle-icon--up { color:var(--up); }
.proportion-segment-strip.rv-anim-go { transform-origin:left center; animation:bar-fill-x 1.5s linear .2s both; }
.module-calc-form { display:flex; flex-direction:column; gap:16px; }
.direction-triangle-icon--down { color:var(--dn); }
.module-calc-input-group { display:flex; flex-direction:column; gap:6px; }
.content-section-block>.lens-entry-panel:first-child { margin-top:0; }
.module-calc-input-group label { font-size:16px; font-weight:600; color:var(--color-text-body); }
.content-section-block>.ranked-thumbnail-list-rank-panel:first-child { margin-top:0; }
.module-calc-input-group label span.label-hint { font-weight:400; color:var(--color-text-secondary); font-size:14px; margin-left:4px; }
.ranked-thumbnail-list-rank-row__picture--symbol { aspect-ratio:1; display:grid; place-items:center; border:0; background:transparent; }
.module-calc-input-row { display:flex; gap:12px; align-items:flex-end; }
.ranked-thumbnail-list-rank-row__picture--symbol .energy-cost-ladder-symbol { width:28px; height:28px; }
.module-calc-input-row>.module-calc-input-group { flex:1; min-width:0; }
.imageless-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(124px,1fr)); gap:10px; margin:12px 0 0; }
.module-calc-input-third { flex:1; min-width:0; }
.imageless-card-grid>* { min-width:0; }
.module-calc-input-half { flex:1; min-width:0; }
.imageless-card-link { position:relative; display:flex; flex-direction:column; gap:6px; text-decoration:none; color:inherit; }
.module-calc-input-unit--half { flex:1; min-width:0; }
.imageless-card-link .card-image-fallback { width:100%; aspect-ratio:745/1040; }
.module-calc-input-row--compact { gap:8px; }
.imageless-card-link__value { font-size:14px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
/* R53 썸네일 명칭(census 확정 2026-08-16) — 그림이 있는 칸은 이름이 alt 에만 있어 화면에서 안 보였다
   (그림 없는 형제 칸은 대체 카드 .card-image-fallback__name:8295 가 이미 이름을 보여 준다 — 그 값을
   그대로 따른다·새 수치 0). 이 판은 flex-column(:10001 gap:6px)이라 상시 캡션을 둘 여유가 있다. */
.imageless-card-link__name { font-size:13px; font-weight:800; color:var(--ink2); line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.module-calc-input-row--checkbox { align-items:center; gap:10px; margin-bottom:8px; }
.imageless-card-link__value small { font-size:13px; font-weight:700; color:var(--mut); margin-right:5px; }
.module-calc-checkbox { display:flex; align-items:center; gap:4px; font-size:13px; color:#475569; white-space:nowrap; cursor:pointer; }
.imageless-card-link:hover .card-image-fallback { border-color:var(--acc); }
.module-calc-checkbox input[type="checkbox"] { width:16px; height:16px; cursor:pointer; }
.module-calc-btn--secondary { background:#f1f5f9; color:#334155; border:1px solid #dbeafe; font-size:13px; padding:8px 12px; border-radius:6px; cursor:pointer; }
.module-calc-btn--secondary:hover { background:#e2e8f0; }
.visual-box-table-scroll::-webkit-scrollbar { height:8px; }
.module-chart-wrap--narrow { max-width:360px; margin:16px auto; }
.visual-box-table-scroll::-webkit-scrollbar-thumb { background:var(--line2); border-radius:99px; }
.action-plan-list li { margin-bottom:8px; }
.visual-box-table-scroll::-webkit-scrollbar-track { background:transparent; }
.action-plan-list a { color:#2563eb; text-decoration:underline; }
.visual-box-table-scroll th:first-child { scroll-snap-align:start; }
.unit-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px; }
.visual-box-table-scroll td:first-child { scroll-snap-align:start; }
.unit-tab { padding:8px 14px; border:1px solid #d1d5db; border-radius:6px; background:#f9fafb; color:#374151; font-size:13px; font-weight:500; cursor:pointer; transition:all .15s ease; white-space:nowrap; }
.visual-box-table-scroll+.tblhint { display:none; margin:5px 0 0; font-size:13px; color:var(--mut); font-weight:600; }
.unit-tab:hover { border-color:#6366f1; color:#4f46e5; background:#eef2ff; }
.unit-tab.active { background:#4f46e5; color:#fff; border-color:#4f46e5; }
.unit-converter-row { display:flex; align-items:flex-end; gap:8px; }
.denominator-labelled-bar-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:5px; }  /* 기준판 */
.unit-converter-col { flex:1; min-width:0; }
.ranked-thumbnail-list-gap-row { display:grid; grid-template-columns:minmax(0,1.5fr)minmax(90px,1.6fr)92px minmax(0,1fr); gap:11px; align-items:center; padding:9px 12px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf); }  /* 기준판 */
.unit-converter-col label { display:block; font-size:13px; font-weight:500; color:#374151; margin-bottom:4px; }
.unit-converter-swap { display:flex; align-items:center; padding-bottom:2px; }
.ranked-thumbnail-list-gap-row__value-text b { font-size:14px; font-weight:800; color:var(--ink); }
.swap-btn { width:40px; height:40px; border:1px solid #d1d5db; border-radius:50%; background:#f9fafb; color:#4f46e5; font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .15s ease; flex-shrink:0; }
.ranked-thumbnail-list-gap-row__value-text em { font-style:normal; font-size:13px; font-weight:600; color:var(--mut); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.swap-btn:hover { background:#4f46e5; color:#fff; border-color:#4f46e5; }
.ranked-thumbnail-list-gap-row__bar { height:9px; border-radius:99px; background:var(--surf2); overflow:hidden; }
.ranked-thumbnail-list-gap-row__bar--none { background:repeating-linear-gradient(115deg,var(--surf2)0 5px,transparent 5px 10px); border:1px dashed var(--line2); box-sizing:border-box; }
.ranked-thumbnail-list-gap-row__picture { font-size:15px; font-weight:800; text-align:right; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
.ranked-thumbnail-list-gap-row__name { font-size:13px; font-weight:600; color:var(--mut); white-space:normal; overflow-wrap:break-word; min-width:0; }  /* F41(2026-08-22 눈검수) — white-space:nowrap + overflow:visible 조합이 긴 note 문구("of the N Pokémon cards that print the value — a different denominator")를 강제 한 줄로 세우고 클리핑도 안 해 행 테두리 밖으로 그대로 흘렀다. 부모 그리드 열은 이미 minmax(0,1fr)라 줄바꿈만 허용하면 열 폭 안에 담긴다. */
.module-calc-toggle { display:flex; border:1.5px solid var(--color-border); border-radius:var(--color-radius-md); overflow:hidden; }
.ranked-thumbnail-list-gap-row--current { border-color:var(--c1); background:color-mix(in srgb,var(--c1)8%,var(--surf)); }  /* 기준판 */
.module-calc-toggle__btn { flex:1; padding:12px 8px; text-align:center; font-size:16px; font-weight:600; cursor:pointer; transition:background .2s,color .2s; border:none; background:#fff; color:var(--color-text-muted); }
.ranked-thumbnail-list-gap-row--separator { border-top-width:3px; border-top-color:var(--c5); }
.module-calc-toggle__btn.active { background:var(--color-primary); color:#fff; }
.ranked-thumbnail-list-gap-row--separator .ranked-thumbnail-list-gap-row__bar i { background:var(--c5); }
.module-calc-toggle__btn:hover:not(.active) { background:var(--color-primary-light); color:var(--color-primary); }
.ranked-thumbnail-list-gap-row--not-available { opacity:.62; }
.module-calc-toggle-wrap { display:flex; justify-content:flex-start; }
.denominator-labelled-bar-list__footnote { margin:9px 0 0; font-size:13px; color:var(--mut); line-height:1.6; }  /* 기준판 */
.module-calc-toggle[role="switch"] { display:inline-flex; align-items:center; gap:10px; border:none; background:none; cursor:pointer; padding:8px 0; font-size:15px; }
.module-calc-toggle__track { position:relative; width:48px; height:26px; background:#d1d5db; border-radius:13px; transition:background .2s; flex-shrink:0; }
.module-calc-toggle__thumb { position:absolute; top:3px; left:3px; width:20px; height:20px; background:#fff; border-radius:50%; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.module-calc-toggle[role="switch"].active .module-calc-toggle__track { background:var(--color-primary); }
.module-calc-toggle[role="switch"].active .module-calc-toggle__thumb { transform:translateX(22px); }
.module-calc-toggle__status { min-width:40px; font-weight:600; color:var(--color-text-muted); transition:color .2s; user-select:none; }
.module-calc-toggle[role="switch"].active .module-calc-toggle__status { color:var(--color-primary); }
.module-calc-toggle-group { display:flex; border:1.5px solid #d1d5db; border-radius:var(--color-radius-md); overflow:hidden; }
.tblhint { display:none; }
.module-calc-toggle-group .module-calc-toggle { flex:1; padding:12px 8px; text-align:center; justify-content:center; align-items:center; font-size:14px; font-weight:600; border:none; background:#f9fafb; color:#374151; cursor:pointer; transition:background .15s,color .15s; }
.module-calc-toggle-group .module-calc-toggle--active { background:var(--color-primary); color:#fff; }
.module-calc-toggle-group .module-calc-toggle:hover:not(.module-calc-toggle--active) { background:var(--color-primary-light); color:var(--color-primary); }
.module-calc-input { width:100%; height:48px; padding:0 16px; font-size:20px; font-weight:600; color:var(--color-text-primary); border:1.5px solid #d1d5db; border-radius:var(--color-radius-sm); outline:none; transition:border-color .2s,box-shadow .2s; box-sizing:border-box; background:#fff; }
table td.table-number-cell { white-space:nowrap; }
.module-calc-input:focus { border-color:var(--color-primary); box-shadow:var(--color-shadow-focus); }
table th.table-number-cell { white-space:nowrap; }
.module-calc-input::placeholder { color:#9ca3af; font-weight:400; }
.price-trend-line-chart__dot>.price-trend-line-tooltip { left:50%; bottom:calc(100% + 9px); transform:translate(-50%,4px); }
table td .tabular-number { white-space:nowrap; }
.price-trend-line-chart__dot:hover>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
table .tabular-number { white-space:nowrap; }
.price-trend-line-chart__dot:focus-visible>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,0); }
table td:not(:first-child) { white-space:nowrap; }
.price-trend-line-chart__dot:first-of-type>.price-trend-line-tooltip { left:0; transform:translate(0,4px); }
table td:first-child { white-space:normal; min-width:0; }
.dacalc-flex-layout.elementor-template-full-width .site-content { display:block; }
.price-trend-line-chart__dot:first-of-type:hover>.price-trend-line-tooltip { transform:translate(0,0); }
table th:first-child { white-space:normal; min-width:96px; }
.module-calc-input-unit { position:relative; }
.price-trend-line-chart__dot:first-of-type:focus-visible>.price-trend-line-tooltip { transform:translate(0,0); }
table tr>td:last-child { white-space:normal; }
.module-calc-input-unit .unit-label { position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:16px; font-weight:600; color:var(--color-text-muted); pointer-events:none; }
.price-trend-line-chart__dot:last-of-type>.price-trend-line-tooltip { left:auto; right:0; transform:translate(0,4px); }
table td { white-space:nowrap; }
.module-calc-input-unit .module-calc-input { padding-right:64px; text-align:right; }
.price-trend-line-chart__dot:last-of-type:hover>.price-trend-line-tooltip { transform:translate(0,0); }
table th { white-space:nowrap; }
.module-calc-input-unit .unit-label--left { left:16px; right:auto; }
.price-trend-line-chart__dot:last-of-type:focus-visible>.price-trend-line-tooltip { transform:translate(0,0); }
table th.table-wrap-column { white-space:normal; }
.module-calc-input-unit .unit-label--left+.module-calc-input { padding-left:32px; padding-right:16px; text-align:left; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea { position:absolute; inset:0; display:flex; flex-direction:column; }
.module-calc-select { width:100%; height:48px; padding:0 40px 0 16px; font-size:16px; color:var(--color-text-primary); border:1.5px solid #d1d5db; border-radius:var(--color-radius-sm); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.4 0L6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E")no-repeat right 14px center; outline:none; cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none; box-sizing:border-box; }
table th.table-wrap-column:nth-child(1) { white-space:normal; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea { flex:0 0 auto; position:static; display:block; margin:0; padding:0; border:0; background:transparent; cursor:pointer; border-radius:3px; }
.module-calc-select:focus { border-color:var(--color-primary); box-shadow:var(--color-shadow-focus); }
table th.table-wrap-column:nth-child(1)~tbody td:nth-child(1) { white-space:normal; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:hover { background:color-mix(in srgb,var(--acc)10%,transparent); }
.module-calc-btn { width:100%; padding:16px; font-size:18px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark)); border:none; border-radius:var(--color-radius-md); cursor:pointer; transition:transform .15s,box-shadow .15s; margin-top:8px; }
table:has(th.table-wrap-column:nth-child(1)) td:nth-child(1) { white-space:normal; min-width:190px; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:focus-visible { outline:2px solid var(--acc); outline-offset:-2px; }
.module-calc-btn:hover { transform:translateY(-1px); box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary)35%,transparent); }
table:has(th.table-wrap-column:nth-child(5)) td:nth-child(5) { white-space:normal; min-width:190px; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea>.price-trend-line-tooltip { left:50%; right:auto; bottom:auto; top:calc(var(--yp)*1%); transform:translate(-50%,calc(-100% - 16px)); }
.module-calc-btn:active { transform:translateY(0); }
table:has(th.table-wrap-column:nth-child(6)) td:nth-child(6) { white-space:normal; min-width:170px; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:hover>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.module-calc-result { margin-top:16px; display:none; }
table:has(th.table-wrap-column:nth-child(2)) td:nth-child(2) { white-space:normal; min-width:150px; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:focus-visible>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.module-calc-result.active { display:block; animation:fadeInUp .35s ease-out; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:active>.price-trend-line-tooltip { opacity:1; visibility:visible; transform:translate(-50%,calc(-100% - 12px)); }
.module-calc-result__box { background:#fff; border:2px solid color-mix(in srgb,var(--color-primary)25%,#e5e7eb); border-radius:var(--color-radius-lg); padding:28px 24px; margin-bottom:24px; box-shadow:var(--color-shadow-sm); }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child>.price-trend-line-tooltip { transform:translate(-50%,20px); }
.module-calc-result__main { background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark)); border-radius:var(--color-radius-md); padding:28px 24px; color:#fff; text-align:center; margin-bottom:20px; }
.position-spread-gauge-needle { transform-box:view-box; transform-origin:var(--ox)var(--oy); transform:rotate(var(--rot,0deg)); animation:none; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child:hover>.price-trend-line-tooltip { transform:translate(-50%,16px); }
.module-calc-result__label { font-size:15px; opacity:.9; margin-bottom:4px; }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child:focus-visible>.price-trend-line-tooltip { transform:translate(-50%,16px); }
.module-calc-result__value { font-size:36px; font-weight:800; letter-spacing:-1px; margin-bottom:6px; line-height:1.2; color:#fff !important; }
.denominator-labelled-row__legend:has(.marketplace-logo--ebay) { background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.07); }
.price-trend-line-chart__content--stack .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea:first-child:active>.price-trend-line-tooltip { transform:translate(-50%,16px); }
.module-calc-result__sub { font-size:15px; opacity:.85; }
.marketplace-offer-card-logo:has(.marketplace-logo--ebay) { background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.07); }
.module-calc-result__box .module-calc-result__cards { grid-template-columns:repeat(2,1fr); }
.salary-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px; }
.salary-summary__item { background:var(--color-bg-subtle); border:1px solid var(--color-border); border-radius:var(--color-radius-sm); padding:16px 12px; text-align:center; display:flex; flex-direction:column; gap:4px; }
.salary-summary__label { font-size:13px; font-weight:500; color:var(--color-text-secondary); }
.salary-summary__value { font-size:20px; font-weight:700; color:var(--color-primary); word-break:break-all; }
.salary-summary__value--deduct { color:#dc2626; }
.denominator-labelled-row__legend:has(.marketplace-logo--tcgplayer) { background:#fff; }
.module-calc-detail__title { font-size:15px; font-weight:600; color:#374151; margin:16px 0 8px; }
.marketplace-offer-card-logo:has(.marketplace-logo--tcgplayer) { background:#fff; }
.module-calc-detail { margin-bottom:16px; border:none !important; border-radius:0 !important; overflow:visible; box-shadow:none !important; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#94a3b8 #f1f5f9; }
.module-calc-detail table { width:100%; border-collapse:collapse; font-size:16px; border:none !important; }
.module-calc-detail thead { background:#e2e8f0 !important; color:#1e293b !important; }
.denominator-labelled-row__legend:has(.marketplace-logo--cardmarket) { background:#fff; }
.module-calc-detail th { padding:10px 14px; text-align:left; font-weight:600; color:var(--color-text-body); border:none !important; border-bottom:2px solid var(--color-border) !important; background:transparent !important; }
.marketplace-offer-card-logo:has(.marketplace-logo--cardmarket) { background:#fff; }
.module-calc-detail th:not(:first-child) { text-align:right; }
.module-calc-detail td:not(:first-child) { text-align:right; }
.denominator-labelled-row__legend:has(.marketplace-logo--fanatics-collect) { background:#111; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.module-calc-detail td { padding:12px 14px; border:none !important; border-bottom:1px solid var(--color-border-light) !important; color:var(--color-text-body) !important; background:#fff !important; }
.marketplace-offer-card-logo:has(.marketplace-logo--fanatics-collect) { background:#111; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.module-calc-detail tr.subtotal td { padding-top:14px; font-weight:600; color:var(--color-text-primary) !important; border-bottom:1px solid var(--color-border) !important; background:#fff !important; }
.module-calc-detail tr.total td { font-weight:700; color:var(--color-primary-dark) !important; border-bottom:none !important; border-top:2px solid var(--color-primary) !important; background:#fff !important; }
.module-calc-detail tr.row-highlight td { background:#f9fafb !important; font-weight:600; }
.module-calc-detail tbody tr:last-child td { border-bottom:2px solid var(--color-border) !important; }
.denominator-labelled-row--low .denominator-labelled-row__legend:has(.marketplace-logo--ebay) { background:#fff; }
.module-table--salary { width:100%; border-collapse:collapse; font-size:16px; margin:16px 0 8px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#94a3b8 #f1f5f9; }
.marketplace-offer-card--best .marketplace-offer-card-logo:has(.marketplace-logo--ebay) { background:#fff; }
.module-table--salary thead { background:#e2e8f0; color:#1e293b; border-bottom:2px solid #94a3b8; }
.module-table--salary th { padding:12px 10px; font-weight:700; text-align:center; color:#1e293b; }
.module-table--salary td { padding:11px 10px; text-align:right; border-bottom:1px solid var(--color-border-light); color:var(--color-text-body); }
.module-table--salary td:first-child:has(a) { text-align:center; }
.module-table--salary tbody tr:nth-child(even) { background:var(--color-bg-subtle); }
.module-table__scroll-hint+.body-prose-block { margin-top:2px; }
.module-table--salary tbody tr:hover { background:#f1f5f9; }
.module-table__scroll-hint+.visual-block-box { margin-top:2px; }
.module-table--salary .col-highlight { font-weight:700; color:#0f172a; }
.cross-axis-summary-link { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; padding:10px 13px; border:1px solid var(--line2); border-left:4px solid var(--c2); border-radius:var(--r-s); background:var(--surf2); text-decoration:none; color:inherit; transition:border-color .13s,background .13s; }
.module-table--salary thead .col-highlight { color:#92400e; background:#fef3c7 !important; }
.cross-axis-summary-link:hover { border-color:var(--c2); background:color-mix(in srgb,var(--c2)9%,var(--surf2)); }
.module-table--salary tr.row-highlight { background:#f3f4f6; }
.cross-axis-summary-link:focus-visible { border-color:var(--c2); background:color-mix(in srgb,var(--c2)9%,var(--surf2)); }
.module-table tr.row-highlight { background:#f3f4f6; }
.module-overall-score--circle .module-overall-score__tile { animation:none; }
.cross-axis-summary-link__key { flex:0 0 auto; font-size:13px; font-weight:800; color:var(--c2); letter-spacing:-.01em; }
.module-table--salary tr.row-highlight td { font-weight:600; background:#f3f4f6 !important; }
.cross-axis-summary-link__value { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0; font-size:14px; }
.module-table tr.row-highlight td { font-weight:600; background:#f9fafb; }
.cross-axis-summary-link__value b { font-weight:800; color:var(--ink); }
.module-table--salary tr.row-highlight--current { background:#eff6ff !important; }
.cross-axis-summary-link__value i { font-style:normal; font-weight:600; color:var(--ink2); }
.module-table tr.row-highlight--current { background:#eff6ff !important; }
.cross-axis-summary-link__value>*+*::before { content:"·"; margin-right:8px; color:var(--mut); font-weight:400; }
.module-table--salary tr.row-highlight--current td { font-weight:600; background:#eff6ff !important; }
.cross-axis-summary-link__group { margin-left:auto; flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:800; color:var(--mut); }
.module-table tr.row-highlight--current td { font-weight:600; background:#eff6ff !important; }
.cross-axis-summary-link__group::after { content:"→"; display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:color-mix(in srgb,var(--c2)18%,transparent); color:var(--c2); font-size:13px; transition:background .13s,color .13s,transform .13s; }
.module-table tr.row-highlight--green { background:#ecfccb !important; font-weight:600; }
.cross-axis-summary-link:hover .cross-axis-summary-link__group { color:var(--c2); }
.module-table tr.row-highlight--green td { background:#ecfccb !important; font-weight:600; }
.cross-axis-summary-link:hover .cross-axis-summary-link__group::after { background:var(--c2); color:#fff; transform:translateX(2px); }
.module-table tr.row-highlight--yellow { background:#fef3c7 !important; font-weight:600; }
.module-table tr.row-highlight--yellow td { background:#fef3c7 !important; font-weight:600; }
.module-table tr.row-highlight--red { background:#fee2e2 !important; font-weight:600; }
.module-table tr.row-highlight--red td { background:#fee2e2 !important; font-weight:600; }
.source-limit-badge--part { background:color-mix(in srgb,var(--warn)16%,transparent); color:var(--warn); border:1px solid color-mix(in srgb,var(--warn)34%,transparent); }
.module-table tr.row-highlight--green-soft { background:#f0fdf4 !important; }
.source-limit-badge--redo { background:color-mix(in srgb,var(--up)15%,transparent); color:var(--up); border:1px solid color-mix(in srgb,var(--up)33%,transparent); }
.module-table tr.row-highlight--green-soft td { background:#f0fdf4 !important; }
.source-limit-badge--paid { background:color-mix(in srgb,var(--acc)14%,transparent); color:var(--acc-i); border:1px solid color-mix(in srgb,var(--acc)32%,transparent); }
.module-table tr.row-highlight--red-soft { background:#fef2f2 !important; }
.source-limit-badge--drop { background:color-mix(in srgb,var(--mut)15%,transparent); color:var(--mut); border:1px solid color-mix(in srgb,var(--mut)33%,transparent); text-decoration:line-through; }
.module-table tr.row-highlight--red-soft td { background:#fef2f2 !important; }
.module-table tr.row-inactive { opacity:0.4; }
.avbox { margin:18px 0 0; padding:18px 20px; border-radius:var(--r); border:1px solid var(--line); background:var(--surf); }
.module-table tr.row-inactive td { opacity:0.4; }
.avbox h3 { margin:0 0 8px; font-size:17px; letter-spacing:-.02em; }
.module-table th.th-right { text-align:right; }
.avbox p { margin:0 0 13px; font-size:14px; color:var(--ink2); line-height:1.65; }
.module-table td.td-right { text-align:right; }
.avlegend { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.module-table th.th-left { text-align:left; }
.avwrap { overflow-x:auto; }
.module-table td.td-left { text-align:left; }
.avtable { width:100%; min-width:640px; border-collapse:collapse; font-size:14px; }
.module-table tbody td.td-center { text-align:center !important; }
.avtable th { padding:9px 11px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; font-size:13px; color:var(--mut); font-weight:700; white-space:nowrap; }
.module-table thead th.td-center { text-align:center !important; }
.avtable td { padding:9px 11px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.module-table th.td-center { text-align:center !important; }
.module-table td.td-center { text-align:center !important; }
.avtable td:first-child { white-space:nowrap; font-weight:800; color:var(--ink); }
.module-table td:has(a.hub-matrix__link) { text-align:center !important; }
.avtable td:nth-child(2) { font-weight:700; }
.module-table th:has(a.hub-matrix__link) { text-align:center !important; }
.avsum { display:flex; flex-wrap:wrap; gap:10px; margin:15px 0 0; }
.module-table td.td-nearby { text-align:center; }
.avsum span { display:inline-flex; align-items:baseline; gap:7px; padding:9px 14px; border-radius:var(--r-s); background:var(--surf2); border:1px solid var(--line); font-size:14px; font-weight:700; color:var(--ink2); }
.longtail-page table td.td-nearby { text-align:center; }
.avsum b { font-size:21px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.module-section__body table td.td-nearby { text-align:center; }
.avnote { margin:14px 0 0; padding:12px 14px; border-radius:var(--r-s); background:color-mix(in srgb,var(--up)10%,transparent); border:1px solid color-mix(in srgb,var(--up)28%,transparent); font-size:14px; font-weight:700; color:var(--up); line-height:1.6; }
.module-calc-meta-text { color:#6b7280; font-size:0.85em; }
.module-table--salary tr.subtotal td { background:var(--color-bg-subtle); font-weight:600; border-bottom:1px solid var(--color-border); }
.module-table--salary tr.total td { background:var(--color-primary-light); font-weight:700; color:var(--color-primary-dark); }
.module-table--salary tbody tr:last-child td { border-bottom:2px solid var(--color-border) !important; }
/* ══ C13 수리 — 스포크의 표 룩을 «시안 한 벌»로 모은다 (2026-08-13 p28-g W5 · 사용자 확정) ══
   ■ 무엇이 문제였나 — 한 사이트에 표 룩이 두 벌이었다. 조각이 `class="module-table"` 를 붙이면
     프레임워크룩(16~17px·가운데 머리·홀짝 줄무늬·#dbeafe 테두리), 맨 `<table>` 로 찍으면 시안룩
     (13px 대문자 흐린 머리·15px 칸·줄무늬 없음). 룩을 가르는 것이 «내용»이 아니라 «어느 조각이
     그렸나»였고, 같은 페이지에서 이웃한 두 표가 다르게 서는 자리가 5 페이지종류였다.
   ■ 기준판 = 시안룩. 근거는 시안 원본이다 — `sian-entity-full.html` 에 `<table class="module-table">`
     가 **0건**이고, 이 시트 :7807~:7809 의 「기준판」 표시가 붙은 요소 규칙이 그 시안 그대로다.
     (⚠️ 주석 안에 주석 닫기 기호를 쓰면 그 자리에서 주석이 끝나 뒤 규칙이 통째로 버려진다 — 대장 C12.
      이 블록을 고칠 때도 별표-빗금을 본문에 적지 마라. p28-g W5 에서 실제로 한 번 냈다.)
   ■ 🔴 왜 «여기» 한 곳인가 — 프레임워크룩을 스포크에 실제로 칠하던 것이 바로 이 블록이다.
     modules.css 는 전 페이지(계산기·랜딩 포함)에 실리므로 손대면 안 되고, 이 시트는 스포크·홈
     에만 실린다(loader.php :239). 그래서 «중화»는 이 자리에서만 하면 되고, 계산기 페이지는
     한 픽셀도 안 바뀐다 — 선택자에 스포크 조건을 적을 필요조차 없다(시트가 안 실리니까).
   ■ 값은 짐작하지 않았다 — 아래 선언은 :7807~:7809·:7814·:7842 의 기준판 값을 그대로 옮긴 것이다.
   🔒 구조·스크롤은 건드리지 않는다(width·border-collapse·overflow-x·스크롤바) — 룩만 바꾼다.
   🚫 프레임워크룩 값(16px·#dbeafe·#e2e8f0 머리배경·홀짝 줄무늬)을 여기 되돌리지 마라. */
.module-table { width:100% !important; border-collapse:collapse !important; border-spacing:0 !important; table-layout:auto; font-size:15px; min-width:540px; margin:16px 0 8px; border:1px solid rgba(0,0,0,.1) !important; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#94a3b8 #f1f5f9; }
.longtail-page table { width:100% !important; border-collapse:collapse !important; border-spacing:0 !important; table-layout:auto; font-size:16px; margin:16px 0 8px; border-top:1px solid #dbeafe !important; border-bottom:1px solid #dbeafe !important; border-left:none !important; border-right:none !important; }
.module-section__body table { width:100% !important; border-collapse:collapse !important; border-spacing:0 !important; table-layout:auto; font-size:16px; margin:16px 0 8px; border-top:1px solid #dbeafe !important; border-bottom:1px solid #dbeafe !important; border-left:none !important; border-right:none !important; }
.longtail-page table thead { width:100%; }
.longtail-page table tbody { width:100%; }
.longtail-page table tr { width:100%; }
.module-table thead { background:transparent; color:inherit; border-bottom:0; }  /* C13 — 시안 머리는 배경 없이 «글자»로 말한다(:7814 가 아래선을 진다) */
.module-table-caption { caption-side:top; text-align:left; font-size:15px; font-weight:700; color:#0f172a; background:#f8fafc; padding:10px 14px; border-left:4px solid var(--color-primary,#3b82f6); margin-bottom:0; border-radius:4px 4px 0 0; }
.module-table caption { caption-side:top; text-align:left; font-size:15px; font-weight:700; color:#0f172a; background:#f8fafc; padding:10px 14px; border-left:4px solid var(--color-primary,#3b82f6); margin-bottom:0; border-radius:4px 4px 0 0; }
.module-table:has(caption) { margin-top:24px; }
/* C13 — 머리·칸 값은 :7808·:7809·:7814 기준판을 그대로 옮긴 것이다(짐작 0).
   정렬 수식자(.table-scroll-frame--align-* · .table-header-centered)는 이 뒤에 오므로 계속 이긴다. */
.module-table th { padding:9px 14px; text-align:center; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--mut); font-weight:700; border-top:1px solid var(--line); border-bottom:2px solid var(--line2); border-left:1px solid color-mix(in srgb,var(--line2)45%,transparent); border-right:1px solid color-mix(in srgb,var(--line)60%,transparent) !important; }
.module-table th:first-child { border-left:0; }
.longtail-page table th { padding:12px 10px; font-weight:700; text-align:center; color:#1e293b; border-right:1px solid #cbd5e1 !important; }
.module-section__body table th { padding:12px 10px; font-weight:700; text-align:center; color:#1e293b; border-right:1px solid #cbd5e1 !important; }
.module-table th:last-child { border-right:none !important; }
.longtail-page table th:last-child { border-right:none !important; }
.module-section__body table th:last-child { border-right:none !important; }
.module-table td { padding:9px 14px; text-align:left; font-size:15px; color:inherit; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-left:1px solid color-mix(in srgb,var(--line2)45%,transparent); border-right:1px solid color-mix(in srgb,var(--line)60%,transparent) !important; }
/* #19(2026-08-17): module_table_resolve_type()(core/template/modules/table.php)은 number/currency/percent
   타입을 class=''(무클래스)로 내보내 SSOT 설계 의도(align:'right')대로 기본값에 위임하는데, 위 규칙이
   그 기본값을 text-align:left로 깔아 뭉갰다(modules.css:384-386 주석이 밝힌 "누락 시 default=우측"이
   여기서 무효화됨). center(라벨/날짜/버튼)·note(서술문)는 modules.css의 !important 규칙이 이미 지키므로
   그 둘만 제외하고 나머지(숫자류 무클래스 td)만 우측으로 되돌린다. :first-child는 기존 관행(첫 칸은
   좌측 고정)을 건드리지 않도록 별도 제외 — 첫 칸이 숫자형인 표는 범위 밖(템플릿 열 순서 문제). */
.module-table td:not(.module-table__cell--center):not(.module-table__cell--note):not(:first-child) { text-align:right; }
.module-table td:first-child { border-left:0; }
.longtail-page table td { padding:11px 10px; text-align:right; border-bottom:1px solid var(--color-border-light); color:var(--color-text-body); border-right:1px solid #dbeafe !important; }
.module-section__body table td { padding:11px 10px; text-align:right; border-bottom:1px solid var(--color-border-light); color:var(--color-text-body); border-right:1px solid #dbeafe !important; }
.module-table td:last-child { border-right:none !important; }
.longtail-page table td:last-child { border-right:none !important; }
.module-section__body table td:last-child { border-right:none !important; }
.module-table td:first-child { text-align:left; }
.module-table td:first-child:has(a:not(.module-table__link)) { text-align:left; }
.module-table td.td-notes { text-align:left; font-size:inherit !important; color:inherit !important; }
.module-table th.td-notes { text-align:left; font-size:inherit !important; color:inherit !important; }
.font-size-12px { font-size:13px; }
.font-size-13px { font-size:13px; }
.font-size-14px { font-size:14px; }
.font-size-15px { font-size:15px; }
.font-size-16px { font-size:16px; }
.font-size-17px { font-size:17px; }
.font-size-18px { font-size:18px; }
.font-size-20px { font-size:20px; }
.font-size-24px { font-size:24px; }
.module-table a:not(.module-table__link) { text-decoration:none; color:var(--color-primary); }
.module-table a:not(.module-table__link):hover { text-decoration:underline; color:var(--color-primary-dark); }
.module-table a.module-table__btn { display:inline-block; padding:6px 10px; border:1px solid var(--color-border,#cbd5e1); border-radius:6px; background:var(--color-bg-subtle,#f8fafc); color:var(--color-primary); font-weight:600; text-decoration:none; transition:background 0.15s ease,border-color 0.15s ease; min-height:36px; line-height:1.4; }
.module-table a.module-table__btn:hover { background:var(--color-primary-bg,#eff6ff); border-color:var(--color-primary); text-decoration:none; outline:none; }
.module-table a.module-table__btn:focus-visible { background:var(--color-primary-bg,#eff6ff); border-color:var(--color-primary); text-decoration:none; outline:2px solid var(--color-primary); outline-offset:2px; }
.module-table td:has(>a.module-table__btn) { text-align:center; }
.module-table td:has(>strong>a.module-table__btn) { text-align:center; }
.module-table td:first-child:has(a.module-table__btn) { text-align:center; }
/* C13 — 시안 표에는 홀짝 줄무늬가 «없다». 손 얹은 줄만 var(--surf) 로 뜬다(:7842 기준판). */
.module-table tbody tr:nth-child(even) { background:transparent; }
.module-table tbody tr:nth-child(even) td { background:transparent; }
.module-table tbody tr:hover { background:var(--surf); }
.module-table tr:hover td { background:var(--surf); }
.module-table .col-highlight { font-weight:700; color:#0f172a; }
.module-table thead .col-highlight { color:#92400e; background:#fef3c7 !important; }
.module-table tr.subtotal td { background:var(--color-bg-subtle); font-weight:600; border-bottom:1px solid var(--color-border); }
.module-table tr.row-subtotal td { background:var(--color-bg-subtle); font-weight:600; border-bottom:1px solid var(--color-border); }
.module-table tr.total td { background:var(--color-primary-light); font-weight:700; color:var(--color-primary-dark); }
.module-table tbody tr:last-child td { border-bottom:2px solid var(--color-border) !important; }
.module-table--salary.center-first td:first-child { text-align:center; }
.module-table.center-first td:first-child { text-align:center; }
tr.row-highlight td { background:#f9fafb; font-weight:600; }
tr.row-subtotal td { background:var(--color-bg-subtle); font-weight:600; border-bottom-color:var(--color-border); }
tr.subtotal td { background:var(--color-bg-subtle); font-weight:600; border-bottom-color:var(--color-border); }
tr.total td { background:var(--color-primary-light); font-weight:700; color:var(--color-primary-dark); }
.module-quick-answer { background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%); border:1px solid #bfdbfe; border-left:4px solid var(--color-primary); border-radius:var(--color-radius-md); padding:20px 24px; margin:20px 0 24px; }
.module-quick-answer__header { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.module-quick-answer__icon { font-size:22px; line-height:1; }
.module-quick-answer__title { font-size:20px; font-weight:700; color:var(--color-primary-dark); }
.module-quick-answer__content { font-size:16px; color:var(--color-text-body); line-height:1.75; }
.module-quick-answer__content p { margin:0 0 8px; }
.module-quick-answer__content p:last-child { margin-bottom:0; }
.module-quick-answer__content ul { margin:8px 0 0; padding-left:20px; }
.module-quick-answer__content li { margin-bottom:6px; line-height:1.65; }
.module-quick-answer__content li:last-child { margin-bottom:0; }
.module-quick-answer__content strong { color:var(--color-text-primary); font-weight:600; }
.module-quick-answer__source { margin-top:12px; padding-top:10px; border-top:1px solid #dbeafe; font-size:13px; color:var(--color-text-muted); }
.module-core-facts__list { margin:28px 0; }
.module-core-facts__item { background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%); border:1px solid #e2e8f0; border-left:4px solid var(--color-primary); border-radius:var(--color-radius-md); padding:20px 24px; margin:16px 0; }
.module-core-facts__topic { font-size:17px; font-weight:700; color:var(--color-text-primary); margin:0 0 12px; }
.module-core-facts__text { font-size:16px; color:var(--color-text-body); line-height:1.75; }
.module-core-facts__text p { margin:0 0 8px; }
.module-core-facts__text p:last-child { margin-bottom:0; }
.module-core-facts__text ul { margin:8px 0 0; padding-left:20px; list-style:disc; }
.module-core-facts__text li { margin-bottom:6px; line-height:1.65; }
.module-core-facts__text li:last-child { margin-bottom:0; }
.module-core-facts__text strong { color:var(--color-text-primary); font-weight:600; }
.module-core-facts__source { display:block; margin-top:12px; padding-top:10px; border-top:1px solid #e2e8f0; font-size:13px; color:var(--color-text-muted); font-style:normal; }
.module-briefing:has(.module-briefing__body:empty) { display:none; }
.module-briefing { background:#fff; border:1px solid var(--color-border); border-radius:var(--color-radius-md); padding:20px 22px; margin-bottom:16px; line-height:1.75; font-size:16px; color:var(--color-text-body); position:relative; overflow:hidden; }
.module-briefing::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; }
.module-briefing__title { font-weight:700; font-size:17px; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.module-briefing__body { font-size:16px; color:var(--color-text-body); line-height:1.75; }
.module-briefing__body strong { color:var(--color-text-primary); font-weight:600; }
.module-briefing__list { margin-bottom:0; }
.module-briefing__recommend { font-weight:600; margin-top:12px; }
.module-calc-result__sub-h { margin:16px 0 8px 0; font-size:16px; }
.module-briefing--explain::before { background:#3b82f6; }
.module-briefing--explain .module-briefing__title { color:#1d4ed8; }
.module-briefing--tip::before { background:#10b981; }
.module-briefing--tip .module-briefing__title { color:#047857; }
.module-briefing--tip .module-briefing__cta { display:inline-block; margin-top:10px; padding:12px 18px; min-height:44px; font-size:16px; font-weight:600; border-radius:var(--color-radius-sm); text-decoration:none; color:#047857; border:1.5px solid #10b981; background:#ecfdf5; transition:background .2s,color .2s; }
.module-briefing--tip .module-briefing__cta:hover { background:#047857; color:#fff; }
.module-briefing__links { list-style:none; padding:0; margin:10px 0 0; display:flex; flex-direction:column; gap:8px; }
.module-briefing__links li { background:#fff; border:1px solid var(--color-border); border-left:3px solid var(--color-primary); border-radius:6px; transition:border-color .2s,box-shadow .2s; }
.module-briefing__links li:hover { border-left-color:var(--color-primary-dark); box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card { width:100%; height:100%; margin:0; --card-radius:12px; --rotate-x:0deg; --rotate-y:0deg; --card-scale:1; --translate-x:0px; --translate-y:0px; --pointer-x:50%; --pointer-y:50%; --background-x:50%; --background-y:50%; --card-opacity:0; --pointer-from-center:0; --pointer-from-top:.5; --pointer-from-left:.5; }
.module-briefing__links a { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; color:var(--color-primary); text-decoration:none; font-weight:700; font-size:15px; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card__translater { width:100%; height:100%; transform:translate3d(var(--translate-x,0px),var(--translate-y,0px),.01px)scale(var(--card-scale,1)); perspective:calc(var(--art-w)* 1.6); }
.module-briefing__links a:hover .link-arrow { background:var(--color-primary); color:#fff; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card__rotator { width:100%; height:100%; transform:rotateY(var(--rotate-x,0deg))rotateX(var(--rotate-y,0deg)); transition:transform .3s cubic-bezier(.22,.61,.36,1); perspective:calc(var(--art-w)* 1.6); }
.module-briefing__links .link-text { flex:1; }
.module-briefing__links .link-desc { color:var(--color-text-muted); font-size:13px; font-weight:400; display:block; margin-top:2px; }
.module-briefing__links .link-arrow { font-size:13px; font-weight:600; color:var(--color-primary); background:var(--color-primary-light); padding:4px 10px; border-radius:4px; white-space:nowrap; margin-left:12px; transition:background .2s,color .2s; }
.module-share-buttons { display:flex; gap:8px; margin-top:8px; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card__front { width:100%; height:100%; border-radius:var(--card-radius); overflow:hidden; }  /* 기준판 */
.module-share-buttons[hidden] { display:none !important; }
.module-share-buttons button { flex:1; padding:10px 18px; min-height:44px; border-radius:var(--color-radius-sm); border:none; font-size:15px; font-weight:600; cursor:pointer; transition:opacity .2s,box-shadow .2s; background:var(--color-primary); color:#fff; }
.module-share-buttons button:hover { background:#f43f5e; color:#fff; box-shadow:0 2px 8px rgba(244,63,94,0.35); }
.module-calc-ad { margin:24px 0; text-align:center; }
.module-calc-module .step-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:20px 0 28px; }
.module-calc-module .step-card { background:#fff; border:1px solid var(--color-border); border-radius:var(--color-radius-md); padding:20px 18px; text-align:center; transition:box-shadow .2s; }
.module-calc-module .step-card:hover { box-shadow:var(--color-shadow-md); }
.module-calc-module .step-number { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--color-primary); color:#fff; font-size:16px; font-weight:700; margin-bottom:10px; }
.module-calc-module .step-title { font-size:16px; font-weight:700; color:var(--color-text-primary); margin-bottom:6px; }
.holo-thumb-popup-thumb { margin:14px 0 0; }
.module-calc-module .step-desc { font-size:16px; color:var(--color-text-secondary); line-height:1.6; }
.holo-thumb-popup-thumb__grid { display:grid; grid-template-columns:repeat(10,1fr); gap:12px; }
.module-calc-error { color:#dc2626; font-size:14px; font-weight:500; margin-top:6px; }
.module-calc-error[hidden] { display:none; }
.module-calc-text-error { color:#dc2626; font-weight:600; }
.module-calc-text-danger { color:#dc2626; font-weight:600; }
.module-calc-text-success { color:#16a34a; font-weight:600; }
.holo-thumb-popup-thumb__image:focus-visible { outline:2px solid var(--acc); outline-offset:3px; }
.module-calc-text-muted { color:#9ca3af; }
.module-calc-text-source { color:#065f46; font-size:0.85em; }
.holo-thumb-popup-thumb__more { display:flex; align-items:center; justify-content:center; gap:9px; margin:14px 0 0; padding:13px; border-radius:var(--r-s); border:1px solid var(--line2); background:var(--surf2); font-size:15px; font-weight:800; color:var(--acc-i); text-decoration:none; }
/* 🆕 2026-08-23(눈검수 N3) — 「All N cards … on their own page」 문에 화살표(F1/F16 판례와 같은 문법 ·
   .next-step-link-row a::after·.sibling-axis-link-card__arrow::after 등 이 시트가 이미 쓰는 방식). */
/* N3 revert(2026-08-23 눈검수 N8) — 이 `::after "→"`(고정)는 불필요했다: 버튼은 이미 fx JS
   (wrapCtaArrow)가 `<span class="cta-arrow">→</span>`(호버 좌우 애니메이션)를 «주입»한다(R51 판례).
   표본에 그 JS가 인라인 안 돼 화살표가 «안 보여» 없는 줄 알고 추가했다가, N7으로 JS 인라인되며
   애니메이션 화살표가 살아나 «이중»이 됐다(사용자 지적). ::after 를 없애 cta-arrow «하나»만 남긴다. */
.holo-thumb-popup-thumb__more::after { content:none; }
.bmi-grade--underweight { color:#3b82f6; font-weight:600; }
.holo-thumb-popup-thumb__more:hover { border-color:var(--acc); }
.bmi-grade--normal { color:#22c55e; font-weight:600; }
.bmi-grade--overweight { color:#f59e0b; font-weight:600; }
.bmi-grade--obese1 { color:#ef4444; font-weight:600; }
.bmi-grade--obese2plus { color:#dc2626; font-weight:600; }
.module-info-box--color--blue { margin-top:1.25rem; padding:12px 16px; background:#f0f9ff; border-left:4px solid #3b82f6; border-radius:4px; font-size:14px; line-height:1.6; }
.h-section-emoji { margin:16px 0 8px 0; font-size:16px; }
.h-section-emoji--center { text-align:center; }
.h-donut-comparison { margin:24px 0 12px; font-size:17px; }
.holo-thumb-popup-thumb__caption { margin:0 0 10px; font-size:14px; color:var(--ink2); }
.h-donut-comparison[hidden] { display:none; }
.h-section-1099 { margin:1.5rem 0 0.75rem; font-size:1.05rem; }
.h-donut-caption { text-align:center; font-size:13px; color:#6b7280; margin-top:8px; }
.r-method-note { text-align:center; font-size:13px; }
.tilt-btn { display:block; margin:10px auto 0; padding:9px 16px; border-radius:999px; border:1px solid var(--line2); background:var(--surf2); color:var(--ink2); font-size:14px; font-weight:800; cursor:pointer; transition:opacity .5s ease; }
.action-plan-list { padding-left:20px; line-height:1.8; }
.tilt-btn:disabled { opacity:.6; }
.module-info-box--rpp { margin:16px 0; padding:14px 18px; background:linear-gradient(135deg,#ecfdf5,#d1fae5); border-left:4px solid #059669; border-radius:8px; }
.module-info-box--milestone { margin:20px 0; padding:16px 20px; background:linear-gradient(135deg,#f0f9ff,#e0f2fe); border-left:4px solid #0284c7; border-radius:8px; }
.module-info-box--tfd { margin:16px 0; padding:14px 18px; background:linear-gradient(135deg,#fef3c7,#fde68a); border-left:4px solid #d97706; border-radius:8px; }
.module-info-box--position { background:#f8fafc; border-left:4px solid #3b82f6; padding:16px 20px; margin:18px 0; border-radius:0 8px 8px 0; font-size:14.5px; line-height:1.65; }
.module-info-box--fica { background:#fef3c7; border-left:4px solid #f59e0b; padding:14px 18px; margin:14px 0; border-radius:0 6px 6px 0; font-size:14px; line-height:1.6; }
.module-table--credit-map { background:#ecfdf5; border-left:4px solid #10b981; padding:14px 18px; margin:14px 0; border-radius:0 6px 6px 0; font-size:13.5px; line-height:1.7; }
/* 2026-08-28 62호(사용자 확정) — 겉 테두리·패딩·배경 전부 제거(상자 속 상자 해소). flex
   column + 12px gap 만 남긴다(행 사이 여백은 여기서 만든다). 위 :5079 블록과 동기화. */
.sponsored-offer-box { position:relative; margin-top:11px; display:flex; flex-direction:column; gap:12px; }
/* 62-b 잔손질(2026-08-28 사용자 DOM 실측 확정) — buy-cards.php 신설 제휴 범례 래퍼. 이 래퍼
   자체가 «격리막» — 공용 구역 문단 간격 규칙(:11380 부근 :is(.content-section-block)>
   :nth-child(n+2){margin-top:22px})이 이 안의 <p> 두 장(직계 자식이 아니게 됨)까지 새어
   들어오지 못한다(구조로 차단 — override 땜질 아님). margin-top 은 위 .sponsored-offer-box
   와 같은 값(11px)을 그대로 재사용 — 이 구역 안에서 이미 쓰던 간격이라 새 수치가 아니다. */
.marketplace-affiliate-legend { margin-top:11px; }
/* 62-b 잔손질 안전망(2026-08-28 사용자 지시) — 위 래퍼 격리로 이미 22px 규칙은 안 닿지만,
   출처 모듈 본가와 «완전히 같은 간격»(group-label:6px 하나로 성립 · desc 는 자기 기본값
   margin:0 0 10px 그대로)을 이 스코프 안에서 한 번 더 못박는다(임의 수치 발명 0 — 두 값
   다 modules.css 의 기존 선언 그대로). */
.marketplace-affiliate-legend .module-sources__group-desc { margin-top:0; }
.module-info-box--state-arb { background:#fef3c7; border-left:4px solid #d97706; padding:14px 18px; margin:14px 0; border-radius:0 6px 6px 0; font-size:13.5px; line-height:1.7; }
/* 62-b(2026-08-28 사용자 확정) — ::before Affiliate 알약 폐기(위 :5087 설명 참조 — 공유
   클래스의 클리핑+중복 결함, 양쪽 소비처 다 대체 수단 보유). */
.module-info-box__title { margin:0 0 8px; font-weight:700; color:#1e293b; font-size:16px; }
.sponsored-disclosure-note { margin:9px 0 0; font-size:13px; color:var(--mut); line-height:1.55; }
.module-info-box__title--emerald { color:#064e3b; margin-bottom:6px; }
.calculation-basis-entry__label--wide { display:flex; flex-direction:row; gap:10px; flex-wrap:wrap; list-style:none; margin:11px 0 0; padding:0; }
.module-info-box__title--amber { color:#78350f; margin-bottom:6px; }
.calculation-basis-entry__label--wide li { flex:1 1 150px; display:flex; flex-direction:column; gap:3px; padding:10px 12px; border:1px solid var(--line2); border-radius:var(--r-s); background:var(--surf2); }
.module-info-box__body { margin:0 0 8px; color:#334155; }
.module-info-box__body--last { margin-bottom:0; }
.module-info-box__body--amber { color:#78350f; }
.calculation-basis-entry__label--wide span { font-size:13px; color:var(--mut); }
.module-info-box__list { margin:0; padding-left:18px; color:#065f46; }
.calculation-basis-entry__label--wide b { font-size:19px; font-weight:800; }
.module-info-box__list li { margin:3px 0; }
/* 2026-08-27 60호 부속(사용자 확정 — 이중 박스 해소) — 겉 회색 테두리를 벗기고 «면 1장»
   (테두리 0·옅은 배경 surf2·최소 패딩)으로 시세요약+마켓행 전체를 묶는다. 안쪽 유일한
   박스(테두리)는 sponsored-offer-box(골드, 상업 식별) 하나뿐 — 그 아래 개별 시안 참조.
   🆕 2026-08-27 «상단 구분 가시성» 확정(사용자) — 이 면이 위 문답(FAQ) 구역과 갈리는
   경계는 ①면 시작 경계(surf2 톤 전환) ②상단 여백 margin-top:18px(수치 명시, 12px→18px
   상향 — 문답 항목 간 여백보다 «눈에 띄게» 커야 새 구역 시작으로 읽힌다) 둘로 계약한다.
   "Price today" 라벨이 구역명을 겸하므로 별도 상단 타이틀은 두지 않는다(중복 금지 — 아래
   "Where to buy" 모듈 타이틀과는 다른 자리). */
/* 🆕 2026-08-27 «상단 구분 가시성» 실측 — surf2 단독(#EEF1F6)은 페이지 바탕(rgb(247,248,249))과
   luminance 차 4% 미만이라 실측 스크린샷상 경계가 약했다. 옵션 A(면 톤 1단 진하게 — surf2·
   line2 혼합)가 옵션 B(상단 1px 보더)보다 뚜렷했다(비교 컷: 60ho-topboundary-optionA-darker.png
   vs -optionB-border.png) — A 채택, 지휘자 확인 대기(잠정 적용). */
/* 2026-08-28 62호(사용자 확정 — «구역 배경=페이지 배경») — 위 Option-A 진한 surf2/line2
   혼합 배경을 폐기한다. 이 상자는 시세요약 헤더+Where to buy 행을 «한 마크업»으로 묶는
   래퍼라(마크업 변경 0 제약) 배경을 완전히 걷어야 행 구역도 «감싸는 상자 0»이 된다 —
   헤더 텍스트도 함께 페이지 바탕 위에 직접 앉는다(승인 시안 .mod{background:transparent}
   와 동형). 상단 경계 표식(60호가 만들었던 톤 전환)은 이 결정으로 폐기 — 필요하면 후속
   회차에서 별도 장치(구분선 등)로 재도입. */
.card-price-quote-box { margin-top:18px; }
.module-calc-input-group label span.label-hint--block { display:block; margin-top:4px; font-size:13px; color:#6b7280; }
/* 2026-08-27 60호 부속 재정정(사용자 — 세로 3단은 여백 낭비) — 라벨+값+범위를 «한 줄»로
   압축한다: 「Price today $199.99 · Past year $24.00–$199.99」. 마크업은 그대로(각자 제
   <p>) 두고 CSS 로만 inline 배치 — 자산(CSS)만 교체하면 되므로 재굽기 무관(HTML 불변).
   값만 시각 앵커(20px·굵게), 라벨·범위는 보조 크기. 모바일은 inline 요소 자연 줄바꿈으로
   2행까지 허용(별도 미디어쿼리 불요 — flex-wrap 성격의 inline 흐름 자체가 처리). */
.card-price-quote-box__label { display:inline; margin:0; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--mut); }
.card-price-quote-box__value { display:inline; margin:0 0 0 6px; }
.card-price-quote-box__value em { font-style:normal; font-size:20px; font-weight:800; line-height:1.3; font-variant-numeric:tabular-nums; }
.card-price-quote-box__rank { display:inline; margin:0; font-size:13px; color:var(--mut); }
.card-price-quote-box__rank::before { content:"·"; display:inline-block; margin:0 8px; color:var(--mut); font-weight:700; }
.card-price-quote-box__divider { margin:12px 0; border:0; border-top:1px solid var(--line2); }
.card-price-quote-box .module-title { margin:20px 0 14px; }
.card-price-quote-box .sponsored-offer-box { margin-top:13px; }
/* 2026-08-28 62호(사용자 확정 — 안 B «카드 스택», 마크업 변경 0) — 이 행 자체가 흰 카드가
   된다(위 sponsored-offer-box 는 이미 배경·테두리 0 이라 이중 테두리 문제가 구조적으로
   사라졌다). 그림자로 띄우고 카드 사이 여백은 부모의 flex gap:12px 가 만든다(border-bottom
   구분선 폐기 — :last-child 예외 규칙도 함께 폐기). radius=var(--r)(시안 --r:14px 와 동일
   토큰 기존 보유). 그림자는 이 파일의 기존 관례(순수 rgba(0,0,0,.NN), 예: :3945·:4656)를
   따른다 — 새 색 발명 없이 «검정 알파»만 쓴다. */
/* 62-b(2026-08-28 사용자 확정) — «경계가 거의 안 보임» 지적. 그림자만으로는 옅은 배경
   위에서 식별 대비가 약했다 — 본판 카드 스택(.marketplace-offer-card:3635 border:1px
   solid var(--line2))과 같은 시각 언어로 통일한다(새 값 발명 0 — 같은 토큰 재사용). */
.print-variant-offer-row { display:flex; align-items:center; gap:10px; padding:16px 18px; border:1px solid var(--line2); border-radius:var(--r); background:var(--surf); box-shadow:0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.07); margin-top:0; font-size:14px; position:relative; }
.print-variant-offer-row em { font-style:normal; font-weight:800; margin-left:auto; font-variant-numeric:tabular-nums; }
.module-table__scroll-wrap>table { margin:0; }
/* 2026-08-28 62호(사용자 확정 — 골드 전면 폐기→전용 행동색 --buy) — 기본(=실가격/제휴 행) 상태는
   빨강 배경 알약형 단추(흰 글자). hitarea(덮개 <a>)는 :not() 으로 반드시 제외 — 제외 안 하면
   inset:0 전체가 이 배경으로 덮인다(사고 방지).
   🔧 62-c(2026-08-28) — 무가격 행 판정 신호를 href="#market" 에서 rel*=sponsored 부재로
   바꿨었다(당시는 제휴=TCGplayer 하나뿐이라 «제휴 여부»가 «가격 보유 여부»와 1:1 이었다).
   🔧 65호(2026-08-28 사용자 확정) — eBay 도 EPN 제휴가 되면서 그 1:1 이 깨졌다(eBay =
   sponsored 이지만 여전히 무가격). «가격 보유»와 «제휴 여부»는 서로 다른 축이라, 판정
   신호를 rel 에서 떼어 전용 속성 data-priced(card-cardq.php·card-template.php 'priced'
   필드 — 값 자체가 이미 판정한 것을 그대로 승계, 새 판단 0)로 옮긴다. */
.print-variant-offer-row a:not(.denominator-labelled-row__hitarea) { color:#fff; font-weight:800; text-decoration:none; font-size:12.5px; border:0; padding:7px 14px; border-radius:999px; white-space:nowrap; background:var(--buy); }
.print-variant-offer-row[data-priced="0"] a:not(.denominator-labelled-row__hitarea) { color:var(--ink2); background:var(--surf2); }
.module-table__scroll-hint { text-align:center; font-size:15px; font-weight:700; color:var(--acc-i); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important; line-height:1.4; padding:2px 0; margin:7px 0 16px; }  /* 생김새만 — display 는 modules.css SSOT (p28-f-7) */
/* 2026-08-27 60호 부속(사용자 확정) — 단추 전용 초록 호버(배경 전환) 폐기, 행 호버로 통일.
   위 ⑪(:12636 부근) 코멘트의 "단추 자체 background:var(--surf)"(평상시 자기 배경 — 행 호버
   틴트가 비쳐 글자가 안 보이던 문제의 수리)는 유지, 거기 적힌 "호버시 단추 자체 색 전환"
   문구만 이 회차로 폐기 — 단추는 이제 행과 같은(golden) 호버만 받고 별도 배경 전환이 없다. */
.print-variant-offer-row__market-name { font-weight: 700; }
.module-table__scroll-hint--top { margin:0 0 8px; }  /* 기준판 */
.matchup-table { width:100%; border-collapse:collapse; font-size:14px; margin-top:4px; }
.module-table__scroll-wrap+.module-table__scroll-hint:not(.module-table__scroll-hint--top) { margin-top:14px !important; }
.matchup-table th { padding:7px 10px; text-align:left; border-top:1px solid var(--line); font-size:13px; color:var(--mut); text-transform:uppercase; letter-spacing:.04em; }
.module-table-wrap+.module-table__scroll-hint:not(.module-table__scroll-hint--top) { margin-top:14px !important; }
.matchup-table td { padding:7px 10px; text-align:left; border-top:1px solid var(--line); }
.module-table__scroll-hint--top+.module-table__scroll-wrap { margin-top:2px !important; }
.module-table__scroll-hint--top+.module-table-wrap { margin-top:2px !important; }
.matchup-table td.table-number-cell { text-align:right; font-variant-numeric:tabular-nums; font-weight:700; }
.module-table__scroll-hint:last-child { margin-bottom:0 !important; }
.matchup-verdict-badge { font-weight:800; font-size:13px; padding:1px 7px; border-radius:5px; }
/* (.module-table__scroll-hint.table-scroll-hint-active 표시 규칙 — modules.css :4376 으로 일원화, p28-f-7) */
.matchup-verdict-badge--width { background:var(--up-s); color:var(--up); }
.matchup-verdict-badge--label { background:var(--dn-s); color:var(--dn); }
.matchup-verdict-badge--title { background:var(--warn-s); color:var(--warn); }
.price-trend-line-figure { margin:0; padding:0; border:0; }
.price-trend-line-figure>figcaption { margin-top:8px; font-size:13px; color:var(--mut); line-height:1.55; }
.price-trend-line-figure--flat { margin:0; }
.price-trend-line-figure--flat>figcaption { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.legal-disclaimer-panel { margin:16px 0 0; padding:14px 15px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
.legal-disclaimer-panel .legal-disclaimer-body__title { margin:0 0 8px; font-size:14px; font-weight:800; color:var(--ink2); }
.legal-disclaimer-panel ul { margin:0; padding-left:17px; }
.legal-disclaimer-panel li { font-size:13px; color:var(--mut); line-height:1.75; }
.holo-thumb-popup-card__front img { width:100%; height:100%; object-fit:contain; display:block; }
.denominator-labelled-row .denominator-labelled-row__hitarea { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.print-variant-offer-row .denominator-labelled-row__hitarea { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.denominator-labelled-row>*:not(.denominator-labelled-row__hitarea) { position:relative; z-index:2; pointer-events:none; }
.print-variant-offer-row>*:not(.denominator-labelled-row__hitarea) { position:relative; z-index:2; pointer-events:none; }
.denominator-labelled-row a:not(.denominator-labelled-row__hitarea) { pointer-events:auto; }
.denominator-labelled-row button { pointer-events:auto; }
.print-variant-offer-row a:not(.denominator-labelled-row__hitarea) { pointer-events:auto; }
.print-variant-offer-row button { pointer-events:auto; }
.denominator-labelled-row:hover { border-color:var(--gold); background:color-mix(in srgb,var(--gold)6%,transparent); }
/* 2026-08-28 62호(사용자 확정) — 카드에는 테두리가 없다(box-shadow 만) — border-color 전환은
   제거, 옅은 빨강 배경 틴트만. 위 :5292 블록과 동기화. */
.print-variant-offer-row:hover { background:color-mix(in srgb,var(--buy)6%,var(--surf)); }
.denominator-labelled-row:focus-within { outline:2px solid var(--gold); outline-offset:2px; }
.print-variant-offer-row:focus-within { outline:2px solid var(--buy); outline-offset:2px; }
.marketplace-offer-card--nolink { cursor:default; opacity:.62; }
.table-inline-purchase-button--nolink { cursor:default; opacity:.62; }
.denominator-labelled-row__button--nolink { cursor:default; opacity:.62; }
.table-inline-purchase-button--nolink::after { content:none; }
.marketplace-offer-card--nolink:hover { transform:none; border-color:var(--line2); background:var(--surf); }
.table-inline-purchase-button--nolink:hover { background:var(--surf2); border-color:var(--line2); color:var(--ink); }
.denominator-labelled-row__button--nolink:hover { background:var(--surf2); border-color:var(--line2); color:var(--ink); }
.denominator-labelled-row:not(:has(.denominator-labelled-row__hitarea)):hover { border-color:var(--line); background:transparent; }
.answer-first-paragraph__question { margin:0 0 6px; font-size:15px; font-weight:700; color:var(--ink); }
.answer-first-paragraph__arrow { margin:0 0 6px; font-size:15px; line-height:1.62; color:var(--ink); }
.answer-first-paragraph__arrow b { font-variant-numeric:tabular-nums; }
.answer-first-paragraph__title { margin:0; font-size:13px; line-height:1.6; color:var(--mut); }
.page-summary-box__heading { margin:0 0 8px; font-size:14px; font-weight:700; color:var(--ink); }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card.is-live .holo-thumb-popup-card__rotator { transition:none; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card.is-live .holo-thumb-popup-card__translater { transition:none; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card.is-live .holo-thumb-popup-card__shine { transition:none; }
.holo-thumb-popup-artwork-frame .holo-thumb-popup-card.is-live .holo-thumb-popup-card__glare { transition:none; }
h2.lens-entry-panel__title { font-size:24px; font-weight:700; line-height:1.35; letter-spacing:-.02em; margin:70px 0 15px 0; padding-left:15px; border-left:4px solid var(--acc); padding-bottom:10px; border-bottom:1px solid var(--line2); color:var(--ink); text-transform:none; text-wrap:balance; }
figure.price-trend-line-titled-box { margin:0 0 14px; }
.two figure.price-trend-line-titled-box { margin-bottom:0; }
a.attribute-chip-link { text-decoration:none; color:inherit; cursor:pointer; transition:border-color .12s,color .12s; }
a.attribute-chip-link:hover { border-color:var(--acc); color:var(--acc-i); }
a.attribute-chip-link:focus-visible { border-color:var(--acc); color:var(--acc-i); outline:2px solid var(--acc); outline-offset:2px; }
caption.screen-reader-only-text { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.holo-thumb-popup-thumb__image>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; pointer-events:none; }
.holo-thumb-popup-thumb__image.card-image-fallback::after { content:"No image"; position:absolute; left:0; right:0; top:34%; text-align:center; font-size:13px; font-weight:600; letter-spacing:.03em; color:var(--mut); } /* 2026-08-27 지휘자 판정식 오류 정정 — 정본대로 복원 */
.holo-thumb-popup-artwork-frame.card-image-fallback { background:var(--surf2); border:1px solid var(--line2); display:grid; grid-template-rows:auto 1fr auto; padding:13px 14px; place-items:stretch; }
.holo-thumb-popup-artwork-frame.card-image-fallback::before { content:attr(data-nm); font-size:14px; font-weight:800; color:var(--ink2); line-height:1.35; align-self:start; }
.holo-thumb-popup-artwork-frame.card-image-fallback::after { content:attr(data-no); font-size:13px; font-weight:700; color:var(--mut); align-self:end; text-align:right; }
.holo-thumb-popup-artwork-frame.card-image-fallback>.card-image-fallback__meta { align-self:center; text-align:center; font-size:13px; line-height:1.55; color:var(--mut); }
.holo-thumb-popup-preview.card-image-fallback .holo-thumb-popup-card__front { background:var(--surf2); }
.holo-thumb-popup-preview.card-image-fallback .holo-thumb-popup-card__front::after { content:"No image"; position:absolute; inset:0; display:grid; place-items:center; font-size:13px; font-weight:600; color:var(--mut); } /* 2026-08-27 지휘자 판정식 오류 정정 — 정본대로 복원 */
.card-image-fallback .holo-thumb-popup-card__shine { opacity:0 !important; display:none; }
.card-image-fallback .holo-thumb-popup-card__glare { opacity:0 !important; display:none; }
.card-image-fallback .composition-donut-stat-cell__holo { opacity:0 !important; display:none; }
.card-image-fallback .composition-donut-stat-cell__sheen { opacity:0 !important; display:none; }
.holo-thumb-popup-artwork-frame.card-image-fallback .holo-thumb-popup-card__rotator { transform:none !important; }
.quick-fact-card.state-paid-source { background:color-mix(in srgb,var(--warn)7%,var(--surf)); border-color:color-mix(in srgb,var(--warn)34%,transparent); }
.composition-donut-stat-cell.state-paid-source { background:color-mix(in srgb,var(--warn)7%,var(--surf)); border-color:color-mix(in srgb,var(--warn)34%,transparent); }
.quick-fact-card.state-unavailable-source { background:color-mix(in srgb,var(--dn)7%,var(--surf)); border-color:color-mix(in srgb,var(--dn)32%,transparent); }
.composition-donut-stat-cell.state-unavailable-source { background:color-mix(in srgb,var(--dn)7%,var(--surf)); border-color:color-mix(in srgb,var(--dn)32%,transparent); }
.quick-fact-card .source-limit-badge--card { grid-column:1/-1; grid-row:4; margin:6px 0 0; justify-self:start; }
.composition-donut-stat-cell .source-limit-badge--card { margin:5px 0 0; align-self:start; }
.source-limit-badge--card { margin-left:0; }
h2 .source-limit-badge { vertical-align:2px; }
.price-trend-line-period-switch label.state-paid-source { color:var(--warn); position:relative; }
.price-trend-line-period-switch label.state-paid-source::after { content:""; position:absolute; top:3px; right:3px; width:5px; height:5px; border-radius:50%; background:var(--warn); }
.answer-first-paragraph .source-limit-badge { margin-left:0; margin-top:8px; display:inline-block; }
.denominator-labelled-row__legend .marketplace-logo { margin:0; }
.marketplace-offer-card-logo .marketplace-logo { margin:0; }
.marketplace-logo svg { display:block; width:auto; height:100%; }
.marketplace-logo--cardmarket svg { fill:#012169; aspect-ratio:1; height:32px; width:auto; }
.marketplace-logo--ebay svg { aspect-ratio:1000/401; width:56px; height:auto; }
.marketplace-logo--tcgplayer svg { aspect-ratio:801/337; width:56px; height:auto; }
.marketplace-logo--fanatics-collect img { display:block; width:auto; height:32px; }
.denominator-labelled-row--low .denominator-labelled-row__legend:has(.marketplace-logo--fanatics-collect) { background:#111; }
.marketplace-offer-card--best .marketplace-offer-card-logo:has(.marketplace-logo--fanatics-collect) { background:#111; }
.marketplace-logo img { display:block; }
/* R9(2026-08-20 W3-CSS) 이름 분리 — 위 :5765 구획과 같은 표의 기준판이라 함께 옮긴다. */
.card-fact-table table { width:100%; border-collapse:collapse; font-size:15px; }
.card-fact-table caption { caption-side:top; text-align:left; padding:0 0 8px; font-size:13px; font-weight:700; color:var(--mut); }
.card-fact-table th { padding:9px 12px; border:1px solid var(--line); vertical-align:top; text-align:left; width:150px; font-size:13px; font-weight:700; color:var(--mut); background:var(--surf2); white-space:nowrap; }
.card-fact-table td { padding:9px 12px; border:1px solid var(--line); vertical-align:top; text-align:left; color:var(--ink); font-weight:600; }
.card-fact-table__wide td { font-weight:500; color:var(--ink2); }
.card-fact-table__source { margin:8px 0 0; font-size:13px; color:var(--mut); }
.badge-bar-row--fold { padding:0; }
.badge-bar-row--fold .module-list-fold { width:100%; }
.badge-bar-row--fold .module-list-fold__toggle { display:block; padding:9px 12px; cursor:pointer; list-style:none; font-size:14px; font-weight:700; color:var(--acc-i); border:1px dashed var(--line2); border-radius:var(--r-s); background:var(--surf2); }
.badge-bar-row--fold .module-list-fold__toggle::-webkit-details-marker { display:none; }
.badge-bar-row--fold .module-list-fold__toggle:hover { border-color:var(--acc); border-style:solid; }
.badge-bar-row--fold .module-list-fold[open] .module-list-fold__toggle { margin-bottom:8px; }
.badge-bar-row-list--fold { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.marketplace-logo--ebay img { width:56px; height:auto; aspect-ratio:1000/401; }
.marketplace-logo--tcgplayer img { width:56px; height:auto; aspect-ratio:801/337; }
.marketplace-logo--cardmarket img { height:32px; width:auto; aspect-ratio:1; }
.rank-dial-label-box { min-width:0; display:flex; flex-direction:column; gap:2px; flex:none; align-items:center; }
.summary-metric-five-column-grid>* { min-width:0; }
.inline-mini-bar>* { min-width:0; }
.meta-tile-grid>* { min-width:0; }
.deep-dive-grid>* { min-width:0; }
.marketplace-offer-grid>* { min-width:0; }
.asymmetric-two-column-grid>* { min-width:0; }
.lens-entry-panel__group>* { min-width:0; }
.cross-link-list-grid>* { min-width:0; }
.two>* { min-width:0; }
.footer-link-grid>* { min-width:0; }
.footnote-block-grid>* { min-width:0; }
.holo-thumb-popup-thumb__grid>* { min-width:0; }
.versus-compare-panel-compact>* { min-width:0; }
.print-variant-shine-map-diagram__row>* { min-width:0; }
.meta-tile__value.tabular-number { overflow:visible; text-overflow:clip; white-space:nowrap; }
:where(.content-section-block)>* { margin-bottom:12px; }
:where(.content-section-block)>*:last-child { margin-bottom:0; }
.content-section-block>.denominator-labelled-bar-list { margin-bottom:12px; }
.content-section-block>.deep-dive-grid { margin-bottom:12px; }
.content-section-block>.cross-link-list-grid { margin-bottom:12px; }
.content-section-block>.denominator-labelled-bar-list:last-child { margin-bottom:0; }
.content-section-block>.deep-dive-grid:last-child { margin-bottom:0; }
.content-section-block>.cross-link-list-grid:last-child { margin-bottom:0; }
:is(.content-section-block)>:nth-child(n+2) { margin-top:22px; }
:is(.content-section-block)>.block-followup-note:nth-child(n+2) { margin-top:8px; }
:is(.content-section-block)>.list-page-bar:nth-child(n+2) { margin-top:8px; }
:is(.content-section-block)>.section-lead-paragraph+* { margin-top:0; }
:is(.content-section-block)>.summary-return-anchor:nth-child(n+2) { margin-top:18px; }
:is(.content-section-block)>.module-table__scroll-hint:nth-child(n+2) { margin-top:7px; }
:is(.content-section-block)>*+.section-lead-paragraph { margin-top:28px; }
:is(.content-section-block)>h2+.section-lead-paragraph { margin-top:0; }
:is(.content-section-block)>.footnote-block-grid:nth-child(n+2) { margin-top:30px; }
.badge-bar-row__picture--none .card-image-fallback.card-image-fallback--row { grid-template-rows:1fr; padding:0; gap:0; }
.badge-bar-row__picture--none .card-image-fallback--row .card-image-fallback__header { display:none; }
.badge-bar-row__picture--none .card-image-fallback--row .card-image-fallback__footer { display:none; }
.badge-bar-row__picture--none .card-image-fallback--row .card-image-fallback__artwork { grid-row:1; background:transparent; border-radius:0; }
.badge-bar-row__picture--none .card-image-fallback--row .card-image-fallback__meta { font-size:13px; font-weight:800; line-height:1; color:var(--line2); }
.print-variant-shine-map-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.print-variant-shine-map-grid>* { min-width:0; }
.print-variant-shine-map-grid__content { padding:13px 15px; background:var(--surf); border:1px solid var(--line2); border-radius:var(--r-s); }
.print-variant-shine-map-grid__key { margin:0 0 9px; font-size:13px; font-weight:800; letter-spacing:.04em; color:var(--mut); }
.print-variant-shine-map-grid__subtitle { margin:10px 0 0; font-size:15px; color:var(--ink2); line-height:1.65; }
.print-variant-shine-map-grid__subtitle b { color:var(--ink); font-weight:800; }
.print-variant-availability-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.print-variant-availability-list__image { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:800; color:var(--mut); }
.print-variant-availability-list__image--active { color:var(--ink); }
.print-variant-availability-list__image em { margin-left:auto; font-style:normal; font-size:13px; font-weight:600; color:var(--mut); white-space:nowrap; overflow:visible; text-overflow:clip; }
.print-variant-availability-list__swatch { flex:0 0 auto; width:17px; height:17px; border-radius:5px; border:1.5px solid var(--line2); background:repeating-linear-gradient(135deg,transparent 0 3px,var(--line2)3px 5px); }
.print-variant-availability-list__image--active .print-variant-availability-list__swatch { background:var(--acc); border-color:var(--acc); }
.prize-count-marks { display:flex; align-items:center; gap:7px; margin:0; }
.prize-count-marks__image { width:26px; height:36px; border-radius:4px; border:1.5px solid var(--line2); background:repeating-linear-gradient(135deg,transparent 0 3px,var(--line2)3px 5px); }
.prize-count-marks__image--active { background:var(--dn); border-color:var(--dn); }
.prize-count-marks--small { display:inline-flex; vertical-align:-4px; margin:0 3px; }
.prize-count-marks--small .prize-count-marks__image { width:15px; height:21px; border-radius:3px; }
.prize-count-marks__compact { margin:9px 0 0; font-size:14px; color:var(--mut); font-weight:600; }
.prize-count-marks__compact b { color:var(--ink2); font-weight:800; }

@container (max-width:64px) {
  .card-image-fallback__header { display:none; }
  .card-image-fallback__footer { display:none; }
}

@container (max-width:80px) {
  .card-image-fallback__set { display:none; }
  .card-image-fallback__hp { display:none; }
  .card-image-fallback__content { display:none; }
}

@media (hover:hover) {
  .tilt-btn { display:none; }
}

@media (hover:none) {
  .pointer-only-hint { display:none; }
  .touch-only-hint { display:inline; }
}

/* F60(2026-08-22) — 이 구간(@media max-width 1180px~400px) 전체가 «좁은→넓은» 오름차순으로 쌓여
   있어, 같은 선택자가 여러 폭에서 중복 선언될 때 특이성이 같으므로 «나중에(=더 넓은 폭 규칙) 나온»
   규칙이 캐스케이드로 이겨 좁은 화면 전용 값을 덮어썼다(quick-fact-grid·meta-tile-grid·
   app-layer-panel·content-section-block>h2·card-image-tile-grid 등 다수 — 상세는 F60 진단
   allSimBugsDetail.txt). F58 은 ≤430px 블록 하나만 옮겨 부분 수리했던 것을, 이번에 전 구간을
   «넓은 폭 먼저 · 좁은 폭 나중»(내림차순: 1180→1100→1080→1060→1000→960→920→900→860→820→800→
   760→720→700→680→640→620→600→560→520→480→470→430→400)으로 재정렬해 근본 수리한다.
   선택자·선언값은 전부 무변경 — 블록의 «자리»만 옮겼다. co-tenant 재확인: 서로 다른 폭의 블록은
   선택자 집합이 겹치지 않거나(겹치는 것은 이번 재정렬로 바로잡히는 대상 자신) 값이 같아 순서를
   바꿔도 새 충돌이 생기지 않음을 이동 전 대조로 확인했다. */

@media (max-width:1180px) {
  .summary-metric-five-column-grid { grid-template-columns:1.3fr 1fr 1fr; }
}

@media (max-width:1100px) {
  .holo-thumb-popup-grid { grid-template-columns:repeat(4,1fr); }
  .card-image-tile-grid { grid-template-columns:repeat(8,1fr); }
  .visual-block-box--split { grid-template-columns:1fr; gap:14px; }
  .ranked-thumbnail-list-feature-row { grid-template-columns:repeat(4,1fr); }
  .holo-thumb-popup-thumb__grid { grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); }
}

@media (max-width:1080px) {
  .denominator-labelled-row { grid-template-columns:minmax(0,1.5fr)104px 100px 68px 104px; }
  .denominator-labelled-row__name { display:none; }
}

@media (max-width:1080px) and (min-width:521px) {
  .meta-tile-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:1060px) {
  .quick-fact-grid { grid-template-columns:repeat(3,1fr); }
  .data-story-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:1000px) {
  .quick-fact-grid { grid-template-columns:repeat(2,1fr); }
  .deep-dive-grid { grid-template-columns:repeat(2,1fr); }
  .asymmetric-two-column-grid { grid-template-columns:1fr; }
  .lens-entry-panel__group > .data-story-tile { flex-basis:calc((100% - 21px) / 4); }  /* 기준판 · F55(2026-08-22) — 3개 간격×7px=21px */
  .cross-link-list-grid { grid-template-columns:repeat(2,1fr); }
  .sibling-axis-link-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:960px) {
  .price-band-navigator { grid-template-columns:repeat(2,1fr); }
  .summary-metric-five-column-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:920px) {
  .body-prose-block { grid-template-columns:1fr; row-gap:14px; }
  .body-prose-block>p { grid-column:1; }
  .calculation-basis-aside { grid-column:1; grid-row:auto; position:static; }
}

@media (max-width:900px) {
  .app-layer-split-columns { flex-direction:column; align-items:center; }
  .three-card-arc-column { flex:0 0 auto; align-self:center; width:min(340px,86vw); }
  .three-card-arc-display { min-height:250px; }
  .meta-tile-grid { grid-template-columns:repeat(3,1fr); }
  .marketplace-offer-grid { grid-template-columns:repeat(2,1fr); }
  .process-step-diagram { grid-template-columns:1fr; gap:9px; }
  .process-step-diagram .process-step-arrow svg { transform:rotate(90deg); }
  .holo-thumb-popup-artwork-frame { flex:0 0 auto; align-self:center; width:min(300px,80vw); }
  .process-step-arrow { width:38px; height:34px; margin:0 auto; }
  .holo-thumb-popup-artwork-frame--medium { width:min(216px,62vw); }
  .holo-thumb-popup-artwork-column { flex:0 0 auto; width:min(320px,86vw); }
  .stat-tile-grid { grid-template-columns:repeat(2,1fr); }
  .mini-card-thumbnail-grid { grid-template-columns:repeat(6,1fr); }
  .axis-card-grid { grid-template-columns:1fr; }
  .axis-overview-panel .ranked-thumbnail-list-feature-row { max-width:none; }
  .site-search-field { order:3; flex-basis:100%; }
  .site-search-field__scan span { display:none; }
  .site-search-field__scan { padding:6px 9px; }
  .overlap-venn-diagram-intersection { grid-template-columns:1fr; }
}

@media (max-width:860px) {
  .ranked-thumbnail-list-artist-header { grid-template-columns:1fr; }
  .evolution-chain-diagram-link { flex-direction:column; align-items:stretch; gap:13px; }
  .evolution-chain-diagram-link__row { justify-content:center; flex-wrap:wrap; }
  .evolution-chain-diagram-link__description { padding-left:0; border-left:0; padding-top:13px; border-top:1px solid var(--line); min-width:0; }
  .two { grid-template-columns:1fr; }
  .matchup-triad-diagram { grid-template-columns:1fr; gap:9px; }
  .matchup-triad-diagram .matchup-triad-arrow svg { transform:rotate(90deg); }
  .matchup-triad-arrow { width:38px; height:34px; margin:0 auto; }
  .stat-tile-grid { grid-template-columns:repeat(2,1fr); }
}

/* 대표카드 격자 태블릿 3열 — 520px 이하 모바일 1열 규칙(:10497)을 덮지 않도록 구간 한정 (p28-e) */
@media (min-width:521px) and (max-width:860px) {
  .value-representative-card-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:820px) {
  .app-layer-split-columns { flex-direction:column; align-items:center; }
  .holo-thumb-popup-artwork-frame { flex:0 0 auto; align-self:center; width:var(--art-w); height:auto; --art-w:min(330px,78vw); }
  /* 🆕 66호(2026-08-28 사용자 확정) — 대표 카드 이미지가 모바일에서 왼쪽 정렬되는 결함 수리.
     근본원인(실측: 브라우저 CSSOM 매치 규칙 열람) — :5393 의 무조건 규칙
     `.app-layer-split-columns .module-card-holo__stage`(명시도 0,2,0·미디어쿼리 없음)가
     align-self:flex-start 를 걸어, 바로 위 :11535(명시도 0,1,0)의 모바일 센터 시도를
     항상 이기고 있었다(그 규칙은 2026-08-11 «홈 히어로 카드 2배 확대» 결함을 막으려고
     생겼고 당시 모바일 정렬은 고려 대상이 아니었다 — width:244px·aspect-ratio 는 그대로
     둬야 하는 값이라 손대지 않는다). 같은 선택자·같은 명시도(0,2,0)로 이 미디어쿼리
     안에서만 align-self 를 center 로 재선언한다 — width·aspect-ratio 등 나머지 값은
     :5393 규칙이 데스크톱과 동일하게 계속 공급하므로 여기서 다시 안 적는다(재선언은
     이 한 속성뿐 — 그 외 값 변경 0). census 확인 — 이 조합 선택자를 만드는 마크업은
     app-layer.php·card-app.php·spec-app.php 3곳뿐이고(axis-app.php·hub-card-art.php 는
     .app-layer-split-columns 는 있어도 .module-card-holo 가 없어 이 선택자 자체가
     안 걸림 — 파급 0), 셋 다 카드 히어로 이미지 문맥이라 모바일 중앙정렬이 셋 다에
     맞다(부작용 없이 균일 적용). */
  .app-layer-split-columns .module-card-holo__stage { align-self:center; }
  .holo-thumb-popup-artwork-frame span { font-size:14px; }
  .content-section-block { margin-bottom:24px; padding-top:20px; margin-top:18px; }
  /* 71호(2026-08-28 사용자+지휘자 실측) — 브레드크럼(모바일 margin-top:-16px·margin-bottom:16px
     — modules.css:6798)과 «첫» 구역의 margin-top:18px+padding-top:20px 가 겹쳐 브레드크럼~
     첫 헤더 사이 여백이 과다(390px 실측: 브레드크럼 바닥 124px→H1 상단 182px = 58px).
     첫 구역만 표적 한정(:first-of-type — 브레드크럼 div 다음의 첫 <section> 이 항상 이것 ·
     특이성 0,2,0으로 범용 규칙 0,1,0 을 자동으로 이겨 순서 무관) — 둘째 구역부터는 «이전
     구역과 분리»가 진짜 필요하므로 전역 값 그대로(파급 0 — 전후 스크린샷으로 2개 구역 이상
     증빙). 브레드크럼 자체 여백(16px)이 이미 분리 신호를 지므로 첫 구역은 0으로 상쇄. */
  .content-section-block:first-of-type { margin-top:0; padding-top:0; }
  .content-section-block>h2 { font-size:21px; margin:50px 0 13px 0; padding-left:12px; border-left-width:3px; }
  .card-image-tile-grid { grid-template-columns:repeat(6,1fr); }
  .ranked-thumbnail-list-artist-row { grid-template-columns:46px minmax(0,1fr)74px 62px; row-gap:2px; }
  .ranked-thumbnail-list-artist-row__width { grid-column:2/5; }
  .ranked-thumbnail-list-artist-header { grid-template-columns:46px minmax(0,1fr)74px 62px; }
  .ranked-thumbnail-list-artist-header span:nth-child(5) { display:none; }
  .search-intent-triad { grid-template-columns:1fr; }
  /* 연도 라벨 모바일 숨김 제거(2026-08-10 사용자 실측 — 좁은 폭에서 라벨이 통째로 사라져
     «글자 안 보임» 재발 3회의 진짜 뿌리. 두 자리 연도 13px 는 좁은 칸에도 수납됨) */
  .year-histogram-strip { height:150px; padding:12px 8px; }
  /* 🚫 `.module-table__scroll-hint { display:block }` 를 여기 다시 넣지 마라(2026-08-13 p28-f-7 제거).
     좁은 폭이라고 «모든» 표에 안내를 띄우면, 안 넘치는 표에까지 「옆으로 미세요」가 붙어 거짓 신호가 된다.
     안내를 켜고 끄는 것은 넘침 여부이고 그 판정은 dc-runtime.js 가 클래스로 알린다. */
  .side-content-column { gap:10px; }
  .side-content-column .purchase-action-row { order:1; margin-top:2px; }
  .side-content-column .purchase-action-caveat { order:2; margin-top:0; }
  .side-content-column .summary-metric-five-column-grid { order:3; margin-top:4px; }
  .side-content-column .meta-tile-grid { order:4; margin-top:0; }
  /* 67호 재개(2026-08-28) — 1fr 1fr → 1fr(펴짐존 :3611 과 동일 근거·같은 이유). */
  .purchase-action-row { grid-template-columns:1fr; gap:8px; }
  .purchase-action-row .primary-action-button { padding:13px 12px; font-size:14px; }
  .purchase-action-row .outline-action-button { padding:12px 10px; }
  .purchase-action-row .primary-action-button:first-child { grid-column:1/-1; }
  .gainers-losers-board { grid-template-columns:1fr; }
  .app-layer-panel { padding:0; border:0; background:none; border-radius:0; }
  .app-layer-panel::before { position:static; display:inline-block; margin:0 0 10px; }
  .offer-compare-panel { padding-left:12px; padding-right:12px; }
  .price-trend-line-band { padding-left:12px; padding-right:12px; }
  .quick-fact-card { padding:10px; }
  .price-trend-line-titled-box { padding-left:12px; padding-right:12px; }
  .visual-block-box.visual-box-table-scroll { padding-left:12px; padding-right:12px; }
  .deep-dive-panel { padding-left:12px; padding-right:12px; }
  .footnote-block { padding-left:12px; padding-right:12px; }
  .cross-link-list-column { padding-left:12px; padding-right:12px; }
  .app-layer-panel>*+* { margin-top:24px; }
  .lens-entry-panel { margin-top:28px; }
  .visual-box-table-scroll+.tblhint { display:block; }
  table { min-width:560px; }
  .ranked-thumbnail-list-gap-row { grid-template-columns:minmax(0,1fr)78px; gap:8px 10px; row-gap:6px; }  /* 기준판 */
  .ranked-thumbnail-list-gap-row__bar { grid-column:1/-1; order:3; }
  .ranked-thumbnail-list-gap-row__name { grid-column:1/-1; order:4; }
  .cross-axis-summary-link { gap:8px; }
  .cross-axis-summary-link__group { margin-left:0; width:100%; }
  h2.lens-entry-panel__title { font-size:21px; margin:50px 0 13px 0; padding-left:12px; border-left-width:3px; }
}

@media (max-width:800px) {
  .data-story-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:760px) {
  .versus-compare-panel { grid-template-columns:1fr; gap:10px; }
  .versus-compare-middle { min-width:0; flex-direction:row; flex-wrap:wrap; justify-content:center; gap:4px 10px; }
  .versus-compare-middle__arrow { width:38px; height:34px; }
  .versus-compare-middle__arrow svg { transform:rotate(90deg); }
  .versus-compare-middle__subtitle { flex:1 0 100%; }
  .versus-compare-middle__versus { width:44px; height:44px; font-size:15px; }
  .reasoning-step-grid { grid-template-columns:1fr; }
  .group-value-compare-grid { grid-template-columns:repeat(2,1fr); }
  .versus-compare-panel-compact { grid-template-columns:1fr; gap:10px; }
  .gainers-losers-board { grid-template-columns:1fr; }
  .cause-flow-strip { flex-direction:column; align-items:stretch; }
  .cause-flow-strip__name { flex:0 0 auto; }
  .cause-flow-strip__arrow { width:100%; transform:rotate(90deg); }
  .rank-contrast-pair-grid { grid-template-columns:1fr; }
  .rank-contrast-pair-grid .contrast-pair-arrow { transform:rotate(90deg); margin:0 auto; }
  .print-variant-shine-map-grid { grid-template-columns:1fr; }
}

@media (max-width:720px) {
  .composition-donut-stat-panel { grid-template-columns:1fr 1fr; }
  /* 🚨 59호 — 위 desktop 규칙과 같은 사유로 모바일에서도 이 두 줄이 summary-metric-five-column-grid
     (gap:8px, 칸이 안 닿음)까지 새어 들어가 "1-year change"(+"7-day change") 왼쪽 테두리를
     지우고 있었다(실측: 390px 뷰포트). .composition-donut-stat-panel(칸이 닿는 격자)로 좁힌다. */
  .composition-donut-stat-panel>.composition-donut-stat-cell:nth-child(odd) { border-left:0; }
  .composition-donut-stat-panel>.composition-donut-stat-cell:nth-child(n+3) { border-top:1px solid var(--line); }
  .ranked-thumbnail-list-card-row { grid-template-columns:38px minmax(0,1fr)84px; row-gap:3px; }
  .ranked-thumbnail-list-card-row__multiple { grid-column:2/-1; text-align:left; }
  .denominator-labelled-row { grid-template-columns:minmax(0,1fr)auto; gap:8px 10px; padding:11px; }
  .denominator-labelled-row__meta { grid-column:1/-1; }
  .denominator-labelled-row__picture { flex-direction:row; align-items:baseline; gap:7px; grid-column:1; flex-wrap:wrap; }
  .denominator-labelled-row__title { flex-direction:row; align-items:flex-end; gap:6px; grid-column:2; text-align:right; }
  .denominator-labelled-row__description { justify-self:start; grid-column:1/-1; }
  .denominator-labelled-row__button { grid-column:1/-1; width:100%; box-sizing:border-box; padding:11px 10px; font-size:14px; }
  .gainers-losers-board { grid-template-columns:1fr; }
  .denominator-labelled-row__title b { font-size:16px; }
  .denominator-labelled-row__name { display:none; }
  .denominator-labelled-row__legend { width:62px; height:40px; border-radius:7px; max-width:80px; padding:4px 6px; }
  .marketplace-offer-card-logo { width:62px; height:40px; border-radius:7px; max-width:80px; padding:4px 6px; }
  .offer-compare-panel { padding:12px 11px; }
  .denominator-labelled-row__heading { gap:4px; }
  .marketplace-logo--ebay svg { width:48px; }
  .marketplace-logo--tcgplayer svg { width:48px; }
  .marketplace-logo--cardmarket svg { height:27px; }
  .marketplace-logo--fanatics-collect img { height:27px; }
  /* R9(2026-08-20 W3-CSS) 이름 분리 — 위 두 구획과 같은 표의 모바일 판이라 함께 옮긴다. */
  .card-fact-table table { display:block; }
  .card-fact-table tbody { display:block; }
  .card-fact-table tr { display:grid; grid-template-columns:minmax(92px,36%)minmax(0,1fr); }
  .card-fact-table th { display:block; border-top:0; width:auto; white-space:normal; }
  .card-fact-table td { display:block; border-top:0; }
  .card-fact-table tr:first-child th { border-top:1px solid var(--line); }
  .card-fact-table tr:first-child td { border-top:1px solid var(--line); }
  .marketplace-logo--ebay img { width:48px; }
  .marketplace-logo--tcgplayer img { width:48px; }
  .marketplace-logo--cardmarket img { height:27px; }
}

@media (max-width:700px) {
  .three-card-arc-display { --fanw:clamp(88px,33vw,180px); min-height:calc(var(--fanw)* 1.75); }
  .lens-entry-panel__group > .data-story-tile { flex-basis:calc((100% - 14px) / 3); }  /* 기준판 · F55(2026-08-22) — 2개 간격×7px=14px */
  .ranked-thumbnail-list-card-row { grid-template-columns:46px minmax(0,1fr)auto; row-gap:2px; }  /* 다수결12장 */
  .ranked-thumbnail-list-card-row__subtitle { grid-column:2/3; font-size:13px; }  /* 다수결12장 */
  .ranked-thumbnail-list-card-row__title { grid-column:3/4; grid-row:2; font-size:13px; text-align:right; align-self:center; }  /* 다수결12장 */
  .ranked-thumbnail-list-card-row__picture { grid-row:1/span 2; align-self:center; grid-column:2/3; }  /* 다수결4장 */
  /* 🔧 p28-f(2026-08-13) U — 좁은 화면: 그림이 «늘어나는 칸»에 앉아 있던 것을 바로잡는다
     ■ 실측(390px) — 열 38px | 136.89px(1fr) | 84px 인데 위 :__picture 가 그림을 2/3 칸,
       즉 «늘어나는 칸»에 못박고 있었다. 그림은 33.3px 뿐이라 그 칸에 103.6px 이 빈 채로 남고
       (사용자가 본 「랭크와 썸네일 사이 여백」), 밀려난 이름은 84px 에 갇혀 잘렸다.
     ■ 수리 — 그림에게 «제 폭짜리» 칸을 따로 준다. 그러면 늘어나는 칸은 셋째로 옮겨 이름·곁줄이
       갖고, 수치·꼬리표가 넷째를 나눠 쓴다(시안판 네 칸 모형 `38px 28px minmax(0,1fr) auto` 그대로).
       ⚠️ 둘째 칸은 28px 이 아니라 auto 다 — 시안판의 28px 은 그림 폭을 «손으로» 적은 값인데,
          지금 그림 폭은 행 높이가 정한다(:__picture height:46.5px × 745/1040 = 33.3px). 28px 로
          못박으면 그림이 제 칸을 5.3px 넘어 서고, 그 넘친 만큼 선언 간격 10px 이 4.7px 로 깎인다
          (실측). auto 는 칸을 그림에 맞추므로 간격이 선언값으로 돌아온다 — :11644 가 첫 칸을
          56px→auto 로 바꾼 것과 «같은 사유»다(그 주석에 실측 대조표가 있다).
     🔒 그림을 진 행에만 건다 — 그림 없는 다섯 자식 행의 세 칸 모양은 그대로다(회귀 0).
     ⚠️ 이 규칙들도 파일 맨 끝으로 옮겼다(p28-f-2) — 사유는 위 기준판 자리의 같은 표시 참조.
        칸을 정하는 쪽과 놓는 쪽이 «다른 자리»에 있으면, 한쪽만 이겨서 칸 0px 짜리에 그림이
        얹히는 사고가 난다(작가 셀 390px 실측). 둘을 한 구획에 붙여 둔다. */
  .dual-panel-compare-grid { grid-template-columns:1fr; }
  .ranked-thumbnail-list-share-row { grid-template-columns:58px minmax(0,1fr); grid-template-areas:"pic name" "pic meta" "pic bar"; row-gap:3px; align-items:center; }
  .ranked-thumbnail-list-share-row__picture { grid-area:pic; width:58px; align-self:center; }
  .ranked-thumbnail-list-share-row__name { grid-area:name; }
  .ranked-thumbnail-list-share-row__meta { grid-area:meta; display:flex; flex-wrap:wrap; gap:2px 9px; align-items:baseline; }
  .ranked-thumbnail-list-share-row__subtitle { text-align:left; }
  .ranked-thumbnail-list-share-row__description { text-align:left; }
  .ranked-thumbnail-list-share-row__title { text-align:left; }
  .ranked-thumbnail-list-share-row__bar { grid-area:bar; }
  .rule-flow-diagram { flex-direction:column; }
  .rule-flow-diagram__subtitle { flex:1 1 auto; }
  .rule-flow-diagram__arrow { flex:0 0 34px; transform:rotate(90deg); }
}

@media (max-width:680px) {
  .holo-thumb-popup-grid { grid-template-columns:repeat(3,1fr); }
  .ranked-thumbnail-list-feature-row { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:640px) {
  .app-layer-panel { padding:20px 12px 13px; }
  /* R24-b(2026-08-20 W3) 삭제 — `.visual-block-box{padding-left:6px;padding-right:6px;padding:11px}`.
     단축 padding:11px 이 뒤에 와서 실효값이 11px 사방이었다(디박스로 뿌리 소멸). */
  .deep-dive-panel { padding-left:6px; padding-right:6px; }  /* 기준판 */
  .footnote-block { padding-left:6px; padding-right:6px; }  /* 기준판 */
  .cross-link-list-column { padding-left:6px; padding-right:6px; }  /* 기준판 */
  .vertical-timeline-rail__rank { display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"pic head" "pic num" "desc desc"; align-items:center; gap:2px 10px; }
  .vertical-timeline-rail__body { display:contents; }
  .vertical-timeline-rail__picture { grid-area:pic; align-self:stretch; display:flex; align-items:center; }
  .vertical-timeline-rail__heading { grid-area:head; }
  .vertical-timeline-rail__name { grid-area:num; justify-self:start; width:fit-content; margin:0; }
  .vertical-timeline-rail__width { grid-area:desc; margin-top:1px; }
  .vertical-timeline-rail__picture .year-rail-card-thumbnail { width:60px; }
  .vertical-timeline-rail--markets .vertical-timeline-rail__picture .year-rail-card-thumbnail { width:62px; }
  .ranked-thumbnail-list-standout-compare { padding:12px; }
  .ranked-thumbnail-list-standout-compare .module-overall-score--withpic .module-overall-score__head { display:grid; grid-template-columns:auto auto; grid-template-areas:"pic tile" "meta meta"; justify-content:start; align-items:start; gap:12px 14px; }
  .ranked-thumbnail-list-standout-compare .module-overall-score--withpic .module-overall-score__head::after { display:none; }
  .ranked-thumbnail-list-standout-compare .module-overall-score__pic { grid-area:pic; width:114px; }
  .ranked-thumbnail-list-standout-compare .module-overall-score__pic>a { width:84px; }
  .ranked-thumbnail-list-standout-compare .module-overall-score--withpic .module-overall-score__tile { grid-area:tile; }
  .ranked-thumbnail-list-standout-compare .module-overall-score--withpic .module-overall-score__meta { grid-area:meta; flex:none; width:100%; }
  .funnel-step-chart__subtitle { grid-template-columns:1fr; gap:5px; }
  .funnel-step-chart__value { text-align:center; }
  .funnel-step-chart__band { min-width:88px; }
  .denominator-labelled-row { grid-template-columns:minmax(0,1fr)auto; gap:6px 10px; }
  .denominator-labelled-row__bar { grid-column:1/-1; order:3; }
  .denominator-labelled-row__value { justify-self:end; }
  .module-review-panel { padding:18px; }
  .module-overall-score__head { flex-direction:column; align-items:stretch; }
  .module-overall-score--tile .module-overall-score__tile { align-self:flex-start; }
  .module-overall-score--segment .module-overall-score__head { flex-direction:column; }
  .module-overall-score__value { font-size:36px; }
  .module-overall-score__meta { flex:1 1 auto; }
  .ranked-thumbnail-list-rank-row { grid-template-columns:34px minmax(0,1fr); grid-template-areas:"pic body" "pic bar"; row-gap:5px; }
  .ranked-thumbnail-list-rank-row__picture { grid-area:pic; align-self:center; }
  .ranked-thumbnail-list-rank-row__body { grid-area:body; }
  .bar-row-bar-column { grid-area:bar; align-items:stretch; }
  .bar-row-value { text-align:left; }
  .ranked-thumbnail-list-standout-compare__host { padding:12px; }
  .ranked-thumbnail-list-standout-compare__extra { flex-direction:column; }
  .ranked-thumbnail-list-standout-compare__ethumb { flex:0 0 auto; width:120px; align-self:center; }
  .ranked-thumbnail-list-standout-compare__row { grid-template-columns:63px minmax(0,1fr); grid-template-areas:"pic body" "pic bar"; min-height:0; gap:4px 10px; align-items:stretch; }
  .ranked-thumbnail-list-standout-compare__rowpic { width:63px; align-self:center; }
  .ranked-thumbnail-list-standout-compare__rowbody { justify-content:center; }
  .ranked-thumbnail-list-standout-compare__rowbar { align-self:stretch; }
  .step-cliff-column-chart { height:112px; }
  .step-cliff-column-chart__year { font-size:13px; writing-mode:vertical-rl; letter-spacing:-.04em; }
  .holo-thumb-popup-thumb__grid { grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:8px; }
  .calculation-basis-entry__label--wide { gap:7px; }
  .calculation-basis-entry__label--wide li { flex:1 1 0; min-width:0; padding:9px 8px; }
}

@media (max-width:620px) {
  .summary-metric-five-column-grid { grid-template-columns:1fr 1fr; }
  .type-showcase-row { grid-template-columns:1fr; justify-items:center; text-align:center; }
}

@media (max-width:600px) {
  .content-section-block>h2 { font-size:19px; margin:40px 0 12px 0; }
  .holo-thumb-popup-effect-layer__row { grid-template-areas:"holo" "rev"; grid-template-columns:minmax(0,1fr); row-gap:16px; }
  .holo-thumb-popup-effect-layer__single-panel--holo .holo-thumb-popup-effect-layer__hero { max-width:min(330px,78vw); }
  .holo-thumb-popup-effect-layer__single-panel--reverse-holo .holo-thumb-popup-effect-layer__hero { max-width:min(330px,78vw); }
  .holo-thumb-popup-effect-layer__single-panel { padding:0 0 6%; }
  .ranked-thumbnail-list-series-fold-summary { grid-template-columns:minmax(0,1fr)auto; }
  .ranked-thumbnail-list-series-fold-summary__meta { grid-column:1/-1; text-align:left; }
  .corr__r { grid-template-columns:minmax(0,1fr)84px; row-gap:5px; }
  .corr__t { grid-column:1/-1; order:3; }
  .module-core-facts__item { padding:16px 18px; }
  h2.lens-entry-panel__title { font-size:19px; margin:40px 0 12px 0; }
}

@media (max-width:560px) {
  .quick-fact-grid { grid-template-columns:repeat(2,1fr); }
  .deep-dive-grid { grid-template-columns:1fr; }
  .group-value-ladder-list>li { grid-template-columns:minmax(72px,96px)minmax(0,1fr)62px; gap:7px; }
  /* 68호(2026-08-28 사용자 확정) — 이 존이 실제 승자(기준판). wrap→nowrap: 썸네일이
     제 줄로 밀려나던 결함의 직접 원인이었다(본문이 이제 내부 2단이라 바깥은 안 접는다).
     .bar-row-bar-column 2규칙은 마크업에서 그 칸 자체를 걷어내 죽은 선언이 됐다(제거
     안 해도 무해 — 해당 클래스를 지닌 요소가 더는 없다). */
  .badge-bar-row__arrow { flex-wrap:nowrap; }
  .bar-row-bar-column { flex:1 1 100%; align-items:stretch; }
  .bar-row-bar-column .bar-row-value { text-align:left; }
  .cross-link-list-grid { grid-template-columns:1fr; }
  .sibling-axis-link-grid { grid-template-columns:1fr; }
  summary.list-unfold-button { flex-wrap:wrap; }
  .ranked-thumbnail-list-group-header__body { flex:1 1 100%; }
  /* R24-c(2026-08-20 W3): 안여백만 a. 로 내렸다 — 상자를 벗은 감싸개(div)가 좁은 화면에서만
     여백을 되찾는 일이 없게. gap·줄바꿈은 두 역할 공통 배치라 밑동에 남긴다. */
  .ranked-thumbnail-list-value-row { gap:10px; flex-wrap:wrap; }
  a.ranked-thumbnail-list-value-row { padding:10px 12px; }
  .ranked-thumbnail-list-value-row__picture { width:48px; }
  .ranked-thumbnail-list-value-row__value b { font-size:18px; }
  .vertical-timeline-rail__rank { flex-wrap:wrap; gap:9px; }
  .vertical-timeline-rail__body { flex:1 1 calc(100% - 58px); }
  .vertical-timeline-rail__name { margin-left:58px; }
  .value-representative-card-grid { grid-template-columns:1fr; }
  .ranked-thumbnail-list-rank-row-link { flex-wrap:wrap; }
  .bar-row-value { text-align:left; }
  .mini-card-thumbnail-grid { grid-template-columns:repeat(4,1fr); }
  summary.list-unfold-button.ranked-thumbnail-list-group-header { flex-wrap:wrap; }
  .lifespan-band-chart-row { grid-template-columns:88px minmax(0,1fr)84px; gap:7px; }
  .rail__link { display:none; }
  .rail__row { flex-wrap:wrap; }
  .rail__c { flex:1 1 44%; }
  .bar-row-body { flex:1 1 100%; min-width:0; }
}

@media (max-width:520px) {
  .quick-fact-grid { grid-template-columns:1fr; }
  .meta-tile-grid { grid-template-columns:repeat(2,1fr); }
  .marketplace-offer-grid { grid-template-columns:1fr; }
  .card-image-tile-grid { grid-template-columns:repeat(4,1fr); }
  .value-representative-card-grid { grid-template-columns:repeat(2,1fr); }
  .stat-tile-link--span-2 { grid-column:auto; }
  .purchase-action-row { grid-template-columns:1fr; }   /* 67호 재개(2026-08-28) */
  .purchase-action-row .primary-action-button { grid-column:1/-1; }
  .ranked-thumbnail-list-rank-panel__meta { min-width:0; }
  .stat-tile-grid { grid-template-columns:1fr; }
  .rank-dial-panel { flex-direction:column; align-items:flex-start; }
  .offer-compare-panel { padding-left:10px; padding-right:10px; border-radius:10px; }
  .price-trend-line-band { padding-left:10px; padding-right:10px; border-radius:10px; }
  .data-story-grid { grid-template-columns:1fr; }
  .stat-tile-sparkline--span-2 { grid-column:span 1; }
}

@media (max-width:480px) {
  .unit-converter-row { flex-direction:column; align-items:stretch; }
  .unit-converter-swap { justify-content:center; padding:4px 0; }
  .swap-btn { transform:rotate(90deg); }
  .unit-tab { padding:6px 10px; font-size:13px; }
}

@media (max-width:470px) {
  .price-band-navigator { grid-template-columns:1fr; }
}

@media (max-width:430px) {
  .holo-thumb-popup-grid { grid-template-columns:repeat(2,1fr); }
  .ranked-thumbnail-list-feature-row { grid-template-columns:repeat(2,1fr); }
  .lens-entry-panel__group > .data-story-tile { flex-basis:100%; }  /* F55(2026-08-22) — 1칸(모바일)은 간격 없음 */
}

@media (max-width:400px) {
  .denominator-labelled-row { grid-template-columns:1fr; }
  .denominator-labelled-row__picture { grid-column:1; align-items:flex-start; text-align:left; }
  .denominator-labelled-row__title { grid-column:1; align-items:flex-start; text-align:left; flex-direction:row; gap:7px; }
  /* R24-b(2026-08-20 W3) 삭제 — `.visual-block-box{padding-left:4px;padding-right:4px}`(디박스로 뿌리 소멸) */
  .deep-dive-panel { padding-left:4px; padding-right:4px; }
  .footnote-block { padding-left:4px; padding-right:4px; }
  .cross-link-list-column { padding-left:4px; padding-right:4px; }
}

@media (min-width:769px) {
  .dacalc-flex-layout .site-content { display:flex; align-items:stretch; }
  .dacalc-flex-layout .site-content>.content-area { float:none; min-width:0; }
  .dacalc-flex-layout .site-content>.widget-area { float:none; }
}

/* (@media (min-width:821px) 의 `.module-table__scroll-hint{display:none !important}` — p28-f-7 제거.
   두 시트가 표시를 나눠 가지던 자리다. 실측상 이 규칙은 활성 힌트(선택자 두 칸)에게 이미 지고 있어
   제거해도 렌더가 그대로였다. 넓은 화면에서도 «진짜로 넘치는» 표에는 안내가 뜨는 것이 옳다 —
   1280px 에서 넘치는 표는 허브 1장·spec 2장뿐이고, 안 넘치는 표는 그대로 숨어 있다.) */

@media (prefers-reduced-motion:no-preference) {
  .position-spread-gauge-needle.sh-go { animation-play-state:running; }
  /* R19(2026-08-20 W3-CSS) 삭제 — `.position-spread-gauge-arc.sh-go{animation-play-state:running}`.
     지시서 3점 밖의 «넷째 결속 줄»이라 함께 걷는다(A-1 형제 전수 + 판정식 「잔여 0」).
     호의 animation-name 이 전부 사라진 뒤라 이 줄은 이미 아무 일도 하지 않는 빈 줄이었다
     (play-state 는 재생할 이름이 있을 때만 뜻이 있다) — 지워도 렌더가 한 픽셀도 안 바뀐다. */
  /* B-8 확장(2026-08-14 지휘자 판정) — 아래 4개는 기본 선언에서 animation 제거, 트리거에만 shorthand.
     전부 기준 규칙(item-modules.css 다른 자리)에 width/height 가 애니와 무관하게 이미 서 있어
     안전(정지 상태 = 최종값 그대로 노출). */
  .group-value-ladder-list__footnote.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .axis-directory-card__bar>i.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .box-whisker-chart__box.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .box-whisker-chart__width.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .distribution-bar-row:nth-child(1) .distribution-bar-fill { animation-delay:.20s; }
  .box-whisker-chart>li:nth-child(1) .box-whisker-chart__box { animation-delay:.20s; }
  .group-value-ladder-list>li:nth-child(1) .group-value-ladder-list__footnote { animation-delay:.20s; }
  .distribution-bar-row:nth-child(2) .distribution-bar-fill { animation-delay:.24s; }
  .box-whisker-chart>li:nth-child(2) .box-whisker-chart__box { animation-delay:.24s; }
  .group-value-ladder-list>li:nth-child(2) .group-value-ladder-list__footnote { animation-delay:.24s; }
  .distribution-bar-row:nth-child(3) .distribution-bar-fill { animation-delay:.28s; }
  .box-whisker-chart>li:nth-child(3) .box-whisker-chart__box { animation-delay:.28s; }
  .group-value-ladder-list>li:nth-child(3) .group-value-ladder-list__footnote { animation-delay:.28s; }
  .distribution-bar-row:nth-child(4) .distribution-bar-fill { animation-delay:.32s; }
  .box-whisker-chart>li:nth-child(4) .box-whisker-chart__box { animation-delay:.32s; }
  .group-value-ladder-list>li:nth-child(4) .group-value-ladder-list__footnote { animation-delay:.32s; }
  .distribution-bar-row:nth-child(5) .distribution-bar-fill { animation-delay:.36s; }
  .box-whisker-chart>li:nth-child(5) .box-whisker-chart__box { animation-delay:.36s; }
  .group-value-ladder-list>li:nth-child(5) .group-value-ladder-list__footnote { animation-delay:.36s; }
  .distribution-bar-row:nth-child(6) .distribution-bar-fill { animation-delay:.40s; }
  .box-whisker-chart>li:nth-child(6) .box-whisker-chart__box { animation-delay:.40s; }
  .group-value-ladder-list>li:nth-child(6) .group-value-ladder-list__footnote { animation-delay:.40s; }
  .distribution-bar-row:nth-child(7) .distribution-bar-fill { animation-delay:.44s; }
  .box-whisker-chart>li:nth-child(7) .box-whisker-chart__box { animation-delay:.44s; }
  .group-value-ladder-list>li:nth-child(7) .group-value-ladder-list__footnote { animation-delay:.44s; }
  .distribution-bar-row:nth-child(8) .distribution-bar-fill { animation-delay:.48s; }
  .box-whisker-chart>li:nth-child(8) .box-whisker-chart__box { animation-delay:.48s; }
  .group-value-ladder-list>li:nth-child(8) .group-value-ladder-list__footnote { animation-delay:.48s; }
  .distribution-bar-row:nth-child(9) .distribution-bar-fill { animation-delay:.52s; }
  .box-whisker-chart>li:nth-child(9) .box-whisker-chart__box { animation-delay:.52s; }
  .group-value-ladder-list>li:nth-child(9) .group-value-ladder-list__footnote { animation-delay:.52s; }
  .distribution-bar-row:nth-child(10) .distribution-bar-fill { animation-delay:.56s; }
  .box-whisker-chart>li:nth-child(10) .box-whisker-chart__box { animation-delay:.56s; }
  .group-value-ladder-list>li:nth-child(10) .group-value-ladder-list__footnote { animation-delay:.56s; }
  .distribution-bar-row:nth-child(n+11) .distribution-bar-fill { animation-delay:.60s; }
  .box-whisker-chart>li:nth-child(n+11) .box-whisker-chart__box { animation-delay:.60s; }
  .group-value-ladder-list>li:nth-child(n+11) .group-value-ladder-list__footnote { animation-delay:.60s; }
  /* B-8(2026-08-14 지휘자 구두 발주 · #2·#16 점 5개 동결 해제) + B-8 확장(같은 날 지휘자 판정 —
     census A군 전체 승인 · 정본 5-l-3): 아래 7개(.proportion-bar-track>i 포함 총 8개 중 나머지 7)도
     같은 원리로 기본 선언에서 animation 제거 — 트리거(.rv-anim-go)로만 옮겼다. .proportion-bar-track>i
     기준판(:7439)과 같이, 각자 자기 기준판/기본 CSS(모양·크기)가 이미 있어 정지 상태 = 최종값 그대로
     노출된다(width/height 는 애니와 무관한 별도 선언이라 영향 0). */
  .data-story-tile__bars>i { transform-origin:bottom center; animation:tg-col-grow 1.5s linear .2s both; animation-play-state:paused; }
  .data-story-tile__rank>i { transform-origin:bottom center; animation:tg-col-grow 1.5s linear .2s both; animation-play-state:paused; }
  .distribution-bar-fill.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .ranked-thumbnail-list-rank-panel-bar__footnote.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .attribute-distribution-bar-fill.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .attribute-distribution-track>i.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .bar-row-track>i.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .group-value-compare-cell-bar>span.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .data-story-tile__gauge>i.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }
  .proportion-bar-track>i.rv-anim-go { transform-origin:left center; animation:tg-bar-fill 1.5s linear .2s both; }  /* B-8: 애니메이션 선언 전체를 이 트리거 규칙으로 이전(기본 선언엔 이제 없음) */
  .data-story-tile__bars>i.rv-anim-go { animation-play-state:running; }
  .data-story-tile__rank>i.rv-anim-go { animation-play-state:running; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(1) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.20s; }
  .data-story-tile__bars>i:nth-child(1) { animation-delay:.20s; }
  .data-story-tile__rank>i:nth-child(1) { animation-delay:.20s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(2) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.24s; }
  .data-story-tile__bars>i:nth-child(2) { animation-delay:.24s; }
  .data-story-tile__rank>i:nth-child(2) { animation-delay:.24s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(3) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.28s; }
  .data-story-tile__bars>i:nth-child(3) { animation-delay:.28s; }
  .data-story-tile__rank>i:nth-child(3) { animation-delay:.28s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(4) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.32s; }
  .data-story-tile__bars>i:nth-child(4) { animation-delay:.32s; }
  .data-story-tile__rank>i:nth-child(4) { animation-delay:.32s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(5) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.36s; }
  .data-story-tile__bars>i:nth-child(5) { animation-delay:.36s; }
  .data-story-tile__rank>i:nth-child(5) { animation-delay:.36s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(6) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.40s; }
  .data-story-tile__bars>i:nth-child(6) { animation-delay:.40s; }
  .data-story-tile__rank>i:nth-child(6) { animation-delay:.40s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(7) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.44s; }
  .data-story-tile__bars>i:nth-child(7) { animation-delay:.44s; }
  .data-story-tile__rank>i:nth-child(7) { animation-delay:.44s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(8) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.48s; }
  .data-story-tile__bars>i:nth-child(8) { animation-delay:.48s; }
  .data-story-tile__rank>i:nth-child(8) { animation-delay:.48s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(9) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.52s; }
  .data-story-tile__bars>i:nth-child(9) { animation-delay:.52s; }
  .data-story-tile__rank>i:nth-child(9) { animation-delay:.52s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(10) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.56s; }
  .data-story-tile__bars>i:nth-child(10) { animation-delay:.56s; }
  .data-story-tile__rank>i:nth-child(10) { animation-delay:.56s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(11) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.60s; }
  .data-story-tile__bars>i:nth-child(11) { animation-delay:.60s; }
  .data-story-tile__rank>i:nth-child(11) { animation-delay:.60s; }
  :is(.distribution-bar-row,.ranked-thumbnail-list-rank-panel-bar,.group-value-compare-cell,.badge-bar-row,.ranked-thumbnail-list-rank-row,.attribute-distribution-list>li):nth-child(n+12) :is(.distribution-bar-fill,.ranked-thumbnail-list-rank-panel-bar__footnote,.attribute-distribution-bar-fill,.attribute-distribution-track>i,.bar-row-track>i,.group-value-compare-cell-bar>span) { animation-delay:.64s; }
  .data-story-tile__bars>i:nth-child(n+12) { animation-delay:.64s; }
  .data-story-tile__rank>i:nth-child(n+12) { animation-delay:.64s; }
  .position-spread-gauge-needle { animation-duration:1.5s; animation-timing-function:cubic-bezier(.22,.68,.3,1); animation-delay:.2s; animation-fill-mode:both; animation-play-state:paused; animation-name:tg-needle; }
  /* R19(2026-08-20 W3-CSS) 삭제 2줄 — `.position-spread-gauge-arc{animation-…;animation-name:tg-garc}` 와
     그 짝 `.position-spread-gauge-arc.rv-anim-go{animation-play-state:running}`. 이 블록은 기본 선언과
     «따로» 호를 다시 애니에 묶고 있던 중복 결속이라, :9797 만 고치면 여기서 되살아난다(A-3 SSOT).
     바늘 두 줄은 그대로 둔다 — 애니를 지는 것은 바늘이고 호는 아니다(:6457). */
  .position-spread-gauge-needle.rv-anim-go { animation-play-state:running; }
}

@media (prefers-reduced-motion:no-preference) and (scripting:none) {
  .position-spread-gauge-needle { animation-play-state:running; }
  /* R19(2026-08-20 W3-CSS) 삭제 — `.position-spread-gauge-arc{animation-play-state:running}`.
     호의 animation-name 을 이 회차에 전부 걷었으므로 재생할 것이 없는 빈 줄이 됐다. 바로 아래
     B-8 확장 주석이 «같은 사유로» 열한 이름을 이미 정리한 자리다 — 호도 그 목록에 합류시킨다. */
  /* B-8 확장: group-value-ladder-list__footnote·axis-directory-card__bar>i·box-whisker-chart__box/
     __width·distribution-bar-fill·ranked-thumbnail-list-rank-panel-bar__footnote·
     attribute-distribution-bar-fill·attribute-distribution-track>i·bar-row-track>i·
     group-value-compare-cell-bar>span·data-story-tile__gauge>i·proportion-bar-track>i 전부 제거 —
     이제 이 문맥엔 재생할 animation-name 자체가 없다(no-op 정리). 스크립팅 꺼진 환경에서도 각자
     기준판의 정적 최종값이 그대로 보이므로 안전. */
  .data-story-tile__bars>i { animation-play-state:running; }
  .data-story-tile__rank>i { animation-play-state:running; }
}

@media (prefers-reduced-motion:reduce) {
  .sibling-axis-link-card__arrow { transition:none; }
  .summary-return-anchor::before { transition:none; }
  .sibling-axis-link-card:hover .sibling-axis-link-card__arrow { transform:none; }
  .summary-return-anchor:hover::before { transform:none; }
  .distribution-bar-fill { animation:none; }
  .lifespan-band-chart-band { animation:none; }
  .attribute-distribution-bar-fill { animation:none; }
  .ranked-thumbnail-list-series-fold-summary__footnote { animation:none; }
  .bar-row-track i { animation:none; }
  .ranked-thumbnail-list-gap-row__bar i { animation:none; }
  .stat-tile-link__track i { animation:none; }
  .data-story-tile__gauge i { animation:none; }
  .proportion-bar-track>i { animation:none; }
  .denominator-labelled-row__bar i { animation:none; }
  .stat-tile-metric__bar i { animation:none; }
  .compact-value-bar-row>i::after { animation:none; }
  .data-story-tile__rank i { animation:none; }
  .stat-tile-link__bars i { animation:none; }
  .stat-tile-link__dot i { animation:none; }
  .yearly-output-spark-bars__bar { animation:none; }
  .holo-thumb-popup-grid-cell__picture { transition:none; }
  .holo-thumb-popup-grid-cell__image::after { transition:none; }
  .holo-thumb-popup-grid-cell__image:hover .holo-thumb-popup-grid-cell__picture { transform:translateY(-8px); }
  .holo-thumb-popup-grid-cell__image:hover::after { opacity:0; }
  .prtip { transition:none; }
  .data-story-tile::after { transition:none; }
  .holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__rotator { transform:none !important; }
  .holo-thumb-popup-effect-layer__hero .holo-thumb-popup-card__translater { transform:none !important; }
  .vfxd__z { animation:none; background-position:40% 50%; }
  a.price-band-navigator__content:hover { transform:none; }
  .price-band-navigator__arrow { transition:none; transform:none; }
  a.price-band-navigator__content:hover .price-band-navigator__arrow { transition:none; transform:none; }
  .value-representative-card .evolution-chain-diagram-link__picture { transition:none; }
  .value-representative-card img { transition:none; }
  .value-representative-card:hover .evolution-chain-diagram-link__picture { transform:translateY(-6px); }
  .value-representative-card:hover img { transform:translateY(-6px); }
  .type-showcase-card-image { transition:none; }
  .type-showcase-row:hover .type-showcase-card-image { transform:none; }
  .ranked-thumbnail-list-feature-cell__picture { transition:none; }
  .ranked-thumbnail-list-feature-cell:hover .ranked-thumbnail-list-feature-cell__picture { transform:translateY(-6px); }
  .holo-thumb-popup-card__rotator { transform:none !important; }
  .holo-thumb-popup-card__translater { transform:none !important; }
  .year-rail-card-thumbnail { transition:none; }
  .year-rail-card-thumbnail:hover { transform:none; }
  .composition-donut-stat-cell__sheen { animation:none; opacity:.28; left:12%; }
  .holo-thumb-popup-preview__inner { transition:none; }
  .data-story-tile { transition:none; }
  .data-story-tile__go { transition:none; }
  .data-story-tile__go::after { transition:none; }
  .module-rate-bar__fill { animation:none; }
  .module-overall-score--circle .module-overall-score__tile { animation:none; }
  .module-overall-score__seg-pin { animation:none; }
  .module-rate-bar__marker { animation:none; }
  .module-overall-score__seg-caption { animation:none; }
  .module-rate-bar__marker-cap { animation:none; }
  .bar-row-track>i { animation:none; }
  .denominator-labelled-row__bar>i { animation:none; }
  .stat-tile-metric__bar>i { animation:none; }
  .sibling-axis-link-card__bar>i { animation:none; }
  .data-story-tile__rank>i { animation:none; }
  .data-story-tile__bars>i { animation:none; }
  .data-story-tile__gauge>i { animation:none; }
  .ranked-thumbnail-list-gap-row__bar>i { animation:none; }
  .position-spread-gauge-hand { transform:none; animation:none; }
  .position-spread-gauge-hand.sh-go { transform:none; animation:none; }
  .position-spread-gauge-arc { stroke-dashoffset:0; animation:none; }
  .position-spread-gauge-arc.sh-go { stroke-dashoffset:0; animation:none; }
  .funnel-step-chart__band>i { animation:none; }
  .position-spread-gauge-hand.rv-anim-go { transform:none; animation:none; }
  .position-spread-gauge-arc.rv-anim-go { stroke-dashoffset:0; animation:none; }
  .price-trend-line-tooltip { transition:none; }
  .step-cliff-column-chart__bar { animation:none; }
  .yearly-print-bar-chart__bar { animation:none; }
  .price-band-navigator__bar>i { animation:none; }
  .proportion-segment-strip { animation:none; }
  .holo-thumb-popup-artwork-frame .holo-thumb-popup-card__rotator { transition:none; }
  .holo-thumb-popup-preview { transition:none; }
}

@media (scripting:none) {
  .bar-row-track>i { animation:none; }
  .denominator-labelled-row__bar>i { animation:none; }
  .compact-value-bar-row>i::after { animation:none; }
  .stat-tile-metric__bar>i { animation:none; }
  .sibling-axis-link-card__bar>i { animation:none; }
  .data-story-tile__rank>i { animation:none; }
  .data-story-tile__bars>i { animation:none; }
  .data-story-tile__gauge>i { animation:none; }
  .position-spread-gauge-hand { animation:none; }
  .position-spread-gauge-arc { animation:none; }
  .distribution-bar-fill { animation:none; }
  .ranked-thumbnail-list-gap-row__bar>i { animation:none; }
  .funnel-step-chart__band>i { animation:none; }
  .step-cliff-column-chart__bar { animation:none; }
  .yearly-print-bar-chart__bar { animation:none; }
  .price-band-navigator__bar>i { animation:none; }
  .proportion-segment-strip { animation:none; }
}

@media screen and (max-width:900px) {
  .holo-thumb-popup-card[data-fx="holo"] .holo-thumb-popup-card__shine { --scanlines-space:.5px; }
}


/* ══ 구획 2 · 라이브 전용 보존 187개 ═══════════════════════════════
   시안에 없는 규칙이다 — 조각이 시안 이후 만든 칸·카드 무늬·초점 표시 등.
   시안만으로 재건축하면 사라지므로 옮겨 싣는다. 이번 회차는 전부 유지한다. */
a.vertical-timeline-rail__rank:hover .row-entrance-arrow-badge { border-color:var(--acc); }
.ranked-thumbnail-list-rank-row .bar-row-title { display:block; font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ranked-thumbnail-list-rank-row .bar-row-set-number { display:inline-block; margin-right:6px; font-size:13px; font-weight:800; font-style:normal; color:var(--mut); font-variant-numeric:tabular-nums; }
.ranked-thumbnail-list-rank-row .bar-row-bar-column { display:flex; flex-direction:column; align-items:flex-end; gap:4px; min-width:0; }
.ranked-thumbnail-list-rank-row .bar-row-track { display:block; width:100%; height:10px; border-radius:5px; background:var(--line2); overflow:hidden; }
.ranked-thumbnail-list-rank-row .bar-row-track i { display:block; height:100%; border-radius:5px; background:var(--acc); }
.ranked-thumbnail-list-rank-row .bar-row-value { font-size:13px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:visible; text-overflow:clip; }
a.data-story-tile:hover { border-color:var(--acc); }
.data-story-tile__meta b { color:var(--ink); font-weight:700; }
.data-story-tile__rank>i.bar-segment-emphasis { background:var(--acc); }
.data-story-tile__donut>i { position:absolute; border-radius:50%; background:conic-gradient(var(--acc)calc(var(--p,0)* 1%),var(--line2)0); left:50%; top:0; transform:translateX(-50%); width:40px; height:40px; }
.data-story-tile__donut>b { position:relative; z-index:1; font-size:13px; font-weight:800; color:var(--ink); }
.gainers-losers-board__label .gainers-losers-board__title.gainers-losers-board__image { width:auto; border:0; background:transparent; border-radius:0; overflow:visible; aspect-ratio:auto; }
.evolution-chain-diagram-link__picture--none { border:0; background:none; }
.evolution-chain-diagram-link__picture--none .card-image-fallback { width:100%; height:100%; }
.evolution-chain-diagram-link__picture img { width:100%; height:100%; object-fit:cover; display:block; }
a.stat-tile-link:hover { border-color:var(--acc); }
.stat-tile-link__track>i { display:block; height:100%; width:var(--w,0%); background:var(--acc); border-radius:4px; }
.stat-tile-link__bars>i { flex:1 1 0; height:var(--h,0%); min-height:2px; background:var(--line2); border-radius:2px 2px 0 0; }
.stat-tile-link__bars>i.bar-segment-emphasis { background:var(--acc); }
.ranked-thumbnail-list-value-row__heading .ranked-thumbnail-list-value-row__value { font-size:15.5px; font-weight:800; letter-spacing:-.02em; }
.ranked-thumbnail-list-value-row__heading .ranked-thumbnail-list-value-row__meta { font-size:14px; color:var(--mut); }
.ranked-thumbnail-list-gap-rows>details.ranked-thumbnail-list-series-fold { border-left:1px solid var(--line); border-right:1px solid var(--line); border-top:1px solid var(--line); margin-bottom:0; }  /* F32(2026-08-21 눈검수) — border-top:0 이 위 peek 행과의 구분선을 지웠다(펼침 컨트롤이 리스트 행에 «붙어» 보임). dex fold(:8044 무처방·기본 4면 border 유지)가 이미 구분선 있는 기준판이라 그와 일관되게 top 복원(선 1개만·박스 신설 아님 — 이 요소는 어차피 .ranked-thumbnail-list-gap-rows 바깥 박스의 내부 구획) */
.ranked-thumbnail-list-gap-rows>*:last-child:not(details.remaining-list-fold) { border-bottom-left-radius:var(--r-s); border-bottom-right-radius:var(--r-s); overflow:hidden; }
.ranked-thumbnail-list-gap-rows>.ranked-thumbnail-list-card-rows--peek:first-child:last-child { border-radius:var(--r-s); }
.ranked-thumbnail-list-share-rows { display:block; background:var(--surf2); }
a.matchup-triad-cell:hover { border-color:var(--acc); }
.matchup-triad-cell__description b { color:var(--ink); font-weight:700; }
.contrast-side-panel__description b { color:var(--ink); font-weight:700; }
.holo-thumb-popup-thumb__image--none { border:0; background:transparent; }
.holo-thumb-popup-thumb__image--none .card-image-fallback { width:100%; height:100%; aspect-ratio:auto; border-radius:9px; }
.holo-thumb-popup-thumb__image--none .holo-thumb-popup-thumb__title { z-index:2; }
.holo-thumb-popup-thumb__title--value { white-space:normal; line-height:1.25; padding-bottom:4px; }
/* N6(2026-08-23 눈검수·사용자·정확대상) — card-oppo 그리드 캡션 카드명 `<b>`를 «1행 말줄임»→«2행 클램프»
   (긴 카드명+번호[N5] 수용·썸네일 하단 캡션 여백 여유). 가격 `<em>`(아래줄)은 1행 유지. */
.holo-thumb-popup-thumb__title--value>b { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-weight:700; white-space:normal; overflow:hidden; }
.holo-thumb-popup-thumb__title--value>em { display:block; font-style:normal; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sibling-axis-link-card:hover .row-entrance-arrow-badge { border-color:var(--acc); background:var(--acc); color:#fff; }
.fan-spread__picture:nth-child(1) { transform:rotate(-14deg)translate(calc(var(--fanw)* -.367),2px); }
.fan-spread__picture:nth-child(2) { transform:rotate(0deg)translateY(-8px); z-index:2; }
.fan-spread__picture:nth-child(3) { transform:rotate(14deg)translate(calc(var(--fanw)* .367),2px); }
.fan-spread__deck:hover .fan-spread__picture:nth-child(1) { transform:rotate(-21deg)translate(calc(var(--fanw)* -.544),2px); }
.fan-spread__deck:hover .fan-spread__picture:nth-child(3) { transform:rotate(21deg)translate(calc(var(--fanw)* .544),2px); }
.fan-spread__deck:hover .fan-spread__picture:nth-child(2) { transform:translateY(-26px)scale(1.07); box-shadow:0 30px 44px -12px rgba(0,0,0,.7); }
.fan-spread__caption { display:block; text-align:center; font-size:13px; color:var(--mut); line-height:1.4; }
.entity-spec-summary-strip>a { display:flex; justify-content:space-between; gap:10px; align-items:baseline; padding:7px 2px; border-bottom:1px solid var(--line2); font-size:13px; text-decoration:none; color:inherit; }
.entity-spec-summary-strip>span { display:flex; justify-content:space-between; gap:10px; align-items:baseline; padding:7px 2px; border-bottom:1px solid var(--line2); font-size:13px; text-decoration:none; color:inherit; }
.entity-spec-summary-strip>a:last-child { border-bottom:0; }
.entity-spec-summary-strip>span:last-child { border-bottom:0; }
.entity-spec-summary-strip>a:hover em { color:var(--acc); }
/* 🩹 2026-08-11(p28-b) ⑨ 짝 수리 — 레일의 «밑줄 신호»가 실은 한 번도 그려진 적이 없었다.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 기둥은 <button> 이라 시트가 `.year-histogram-strip .year-histogram-column{border:0}`
     으로 브라우저 기본 테두리를 지운다. 그 선택자는 명시도 (0,2,0) 이고 아래 레일 규칙은
     (0,1,0) 이라, 순서와 무관하게 «지우는 쪽»이 언제나 이겼다.
     실측(수리 전 · 세트 축 1280px): rail 기둥의 border-bottom = 0px none.
   ■ 왜 이것이 ⑨ 와 한 짝인가 — 밑줄이 안 나오니 「레일에 있다」를 말할 자리가 없었고,
     그래서 그 신호가 «막대색»으로 옮겨 붙었다(:8626 에서 지운 그 줄). 막대색을 되돌리면서
     밑줄을 살리지 않으면 레일 신호가 통째로 사라진다 — 둘은 함께 고쳐야 한다.
   ■ 수리 = 지우는 규칙과 «같은 범위»(strip 안)로 명시도를 맞춘다. 값은 원래 이 줄의 것 그대로다.
   🔒 값(2px solid var(--acc))은 한 글자도 안 바꿨다 — 닿게만 했다. */
.year-histogram-strip .year-histogram-column--rail { border-bottom:2px solid var(--acc); }
.year-histogram-column:focus-visible .year-histogram-column-bar { background:var(--acc); }
.year-histogram-column:hover .price-trend-line-tooltip { opacity:1; visibility:visible; }
.year-histogram-column:focus-visible .price-trend-line-tooltip { opacity:1; visibility:visible; }
.year-histogram-column:first-child .price-trend-line-tooltip { left:0; transform:none; }
.year-histogram-column:last-child .price-trend-line-tooltip { left:auto; right:0; transform:none; }
.imageless-card-link__image { display:block; width:100%; aspect-ratio:745/1040; border-radius:6px; overflow:hidden; border:1px solid var(--line2); background:var(--surf2); }
.imageless-card-link__image img { width:100%; height:100%; object-fit:cover; display:block; }
.imageless-card-link:hover .imageless-card-link__value { color:var(--acc-i); }
.rarity-symbol-table small { color:var(--mut); font-size:13px; }
.visual-block-box--split .composition-donut-ring-box { margin-bottom:0; }
/* 🩹 2026-08-11(p28-b) ⑫ — gap 14 → 12(집 안 자 ≤12px). 이 줄이 :7732 보다 «구체적»이라
   실제 화면을 정하는 것은 여기다 — 앞 줄만 고치면 값이 안 바뀐다(실측으로 잡았다). */
.ranked-thumbnail-list-card-rows>a.ranked-thumbnail-list-value-row { display:flex; align-items:center; gap:12px; padding:12px 14px; border-top:1px solid var(--line); text-decoration:none; color:var(--ink2); border:0; border-radius:0; background:transparent; }
.ranked-thumbnail-list-card-rows>a.ranked-thumbnail-list-value-row:first-child { border-top:0; }
.ranked-thumbnail-list-card-rows>a.ranked-thumbnail-list-value-row:hover { background:var(--surf); }
.ranked-thumbnail-list-card-rows>a.ranked-thumbnail-list-value-row .ranked-thumbnail-list-value-row__value { flex:0 0 auto; text-align:right; }
aside.legal-disclaimer-panel { margin:16px 0 0; padding:14px 15px; border:1px solid var(--line); border-radius:var(--r); background:var(--surf2); }
aside.legal-disclaimer-panel .legal-disclaimer-body__title { margin:0 0 8px; font-size:14px; font-weight:800; color:var(--ink2); }
aside.legal-disclaimer-panel ul { margin:0; padding-left:17px; }
aside.legal-disclaimer-panel li { font-size:13px; color:var(--mut); line-height:1.75; }
aside.legal-disclaimer-panel li b { color:var(--ink2); font-weight:800; }
aside.legal-disclaimer-panel .legal-disclaimer-body__updated { margin:9px 0 0; font-size:13px; color:var(--mut); }
.price-trend-line-tooltip__delta { font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.price-trend-line-tooltip__delta--up { color:#6EE7A8; }
.price-trend-line-tooltip__delta--down { color:#FF9C8F; }
.price-trend-line-tooltip__delta--flat { color:var(--surf); opacity:.68; }
.list-unfold-button::-webkit-details-marker { display:none; }
a.search-intent-card:hover { border-color:var(--acc); }
.versus-compare-side--current { border-color:var(--line2); }
.versus-compare-side--opponent { border-color:var(--acc); }
.matchup-triad-arrow--bad svg { stroke:var(--dn,var(--mut)); }
.matchup-triad-arrow--good svg { stroke:var(--up,var(--mut)); }
.lifespan-band-chart-axis>span { grid-row:1; grid-column:2; font-size:13px; color:var(--mut); }
.lifespan-band-chart-axis>span:first-child { justify-self:start; }
.lifespan-band-chart-axis>span:last-child { justify-self:end; }
.module-table td.table-number-cell { text-align:right; font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap; }
.module-table th.table-number-cell { text-align:right; font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap; }
.module-table td.table-wrap-column { white-space:normal; }
.module-table th.table-wrap-column { white-space:normal; }
a.quick-fact-card:hover { border-color:var(--acc); }
.block-followup-note b { color:var(--ink); font-weight:700; }
.wide-table-scroll-area td.table-wrap-column { color:var(--dn); font-weight:700; }
.fan-spread { flex:0 0 332px; display:flex; flex-direction:column; gap:13px; }
.stat-tile-subtitle b { color:var(--ink); font-weight:700; }
.holo-thumb-popup-artwork-caption b { color:var(--ink); font-weight:700; }
.section-lead-paragraph b { color:var(--ink); font-weight:700; }
.fan-spread__deck { flex:1 1 auto; position:relative; display:grid; place-items:center; min-height:calc(var(--fanw)* 2.06 + 8px); padding-inline:calc(var(--fanw)* .725 - 1px); --fanw:180px; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
.fan-spread__facts { display:flex; flex-wrap:wrap; gap:3px 12px; padding:9px 11px; border-radius:var(--r-s); background:var(--surf); border:1px solid var(--line2); font-size:13px; color:var(--ink2); }
.fan-spread__facts-title { flex:1 0 100%; font-size:13px; color:var(--mut); }
.fan-spread__facts-title b { color:var(--ink); font-weight:800; }
.fan-spread__fact { display:inline-flex; align-items:center; gap:4px; }
.fan-spread__fact b { color:var(--ink); font-weight:800; }
.fan-spread__picture { position:absolute; width:var(--fanw); aspect-ratio:745/1040; border-radius:9px; background-size:cover; background-position:center; box-shadow:0 14px 30px rgba(0,0,0,.38); border:1px solid rgba(255,255,255,.09); transition:transform .28s cubic-bezier(.18,.75,.28,1),box-shadow .28s; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
a:focus-visible .row-entrance-arrow-badge { background:var(--acc); border-color:var(--acc); color:#fff; }
.sibling-axis-link-card:focus-visible .row-entrance-arrow-badge { background:var(--acc); border-color:var(--acc); color:#fff; }
.data-story-tile:hover .row-entrance-arrow-badge { background:var(--acc); border-color:var(--acc); color:#fff; }
.data-story-tile:focus-visible .row-entrance-arrow-badge { background:var(--acc); border-color:var(--acc); color:#fff; }
.vertical-timeline-rail__body { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.vertical-timeline-rail__heading { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lensrow>* { min-width:0; }
/* 🩹 2026-08-11(p28-c 추가7-보강) 셀 추이선 «호버해도 말풍선이 안 나오던» 뿌리.
   ─────────────────────────────────────────────────────────────────────────────
   ■ 실측(셀 type/fire · 1280px · 진짜 포인터를 CDP Input 으로 옮겨 잼):
       훅 .price-trend-line-tooltip-hitarea = width 0px (height 120px)
       → 폭이 0이니 포인터가 닿을 데가 없다. 열림 규칙은 멀쩡했고 말풍선 내용도 DOM 에
         들어 있었다(「26 Aug 25 · Typical price · 2.37」). 안 열린 게 아니라 «못 닿았다».
   ■ 왜 0이 되나 — 밴드 갈래의 설계(:6382·:9630)는 «flex 로 나눠 갖기»다:
       .price-trend-line-band__hitarea{display:flex} + 훅{flex:1 1 0; position:relative}
     그런데 이 두 줄이 그것을 통째로 뒤집었다 — 컨테이너를 block 으로, 훅을 absolute 로.
     absolute 로 만들면 훅은 left/width 를 «누가 정해 줘야» 하는데, 밴드 마크업의 훅은
     빈 <span> 이라 그런 값이 없다. 그래서 폭이 0으로 접혔다(점별 좌표를 인라인으로 받는
     다른 갈래의 배치를 이 갈래에 잘못 씌운 것 — «갈래 미전파»의 거울상).
   ■ 아래 :11274 의 원 취지는 «세로 쌓기(flex-direction:column) 금지»였다(그 주석이 그렇게 적혀 있다).
     그 취지는 display:block 이 아니라 flex-direction:row 로 지켜진다 — 가로 배치는 그대로 살고
     훅은 폭을 되찾는다. 취지를 어기지 않으면서 결함만 없앤다.
   🔒 새 규칙을 만들지 않았다 — 이 두 줄의 값을 밴드 설계(:9630)의 값으로 되돌린 것뿐이다. */
.price-trend-line-chart__content .price-trend-line-band__hitarea { position:absolute; inset:0; display:flex; flex-direction:row; }
.price-trend-line-chart__content .price-trend-line-band__hitarea>.price-trend-line-tooltip-hitarea { position:relative; top:auto; bottom:auto; flex:1 1 0; min-width:0; }
.versus-compare-panel--legend .stat-tile-value { font-size:29px; }
.versus-compare-panel--legend .stat-tile-key { font-size:12px; }
.footnote-block h3 { margin:0 0 9px; font-size:14px; letter-spacing:-.01em; }
.footnote-block ul { margin:0; padding-left:17px; font-size:13.5px; color:var(--ink2); line-height:1.62; }
.footnote-block li { margin-bottom:5px; }
.deep-dive-panel h4 { margin:0 0 9px; font-size:15px; }
.cross-link-list-column h4 { margin:0 0 4px; font-size:15px; }
.price-trend-line-titled-box h4 { margin:0 0 10px; font-size:15px; font-weight:700; color:var(--ink2); }
.footer-link-grid h4 { margin:0 0 8px; font-size:13px; letter-spacing:.07em; text-transform:uppercase; color:var(--mut); }
.ranked-thumbnail-list-gap-row--current .ranked-thumbnail-list-gap-row__content { background:var(--c1); color:#fff; }
.ranked-thumbnail-list-gap-row--separator .ranked-thumbnail-list-gap-row__content { background:color-mix(in srgb,var(--c5)22%,transparent); color:var(--c5); }
.holo-thumb-popup-card.is-live .holo-thumb-popup-card__rotator { box-shadow:0 0 3px -1px hsl(0 0% 100%/.9),0 0 4px 1px var(--card-edge),0 0 16px 3px var(--card-glow),0 12px 26px -8px hsl(0 0% 0%/.75),0 0 46px -26px var(--card-glow),0 0 60px -18px var(--card-glow); }
.holo-thumb-popup-card__rotator:focus-visible { box-shadow:0 0 3px -1px hsl(0 0% 100%/.9),0 0 4px 1px var(--card-edge),0 0 16px 3px var(--card-glow),0 12px 26px -8px hsl(0 0% 0%/.75),0 0 46px -26px var(--card-glow),0 0 60px -18px var(--card-glow); }
.holo-thumb-popup-card__rotator>* { width:100%; display:grid; grid-area:1/1; aspect-ratio:var(--card-aspect); border-radius:var(--card-radius); transform-style:preserve-3d; pointer-events:none; overflow:hidden; image-rendering:optimizeQuality; }
.holo-thumb-popup-card__shine::before { content:""; grid-area:1/1; border-radius:var(--card-radius); }
.holo-thumb-popup-card__shine::after { content:""; grid-area:1/1; border-radius:var(--card-radius); }
.holo-thumb-popup-card[data-fx="vmax"] { --card-glow:hsl(9 81% 59%); }
.holo-thumb-popup-card[data-fx="vmax"] .holo-thumb-popup-card__shine::before { --bars:2.2%; }
.holo-thumb-popup-card[data-fx="holo"] { --card-glow:hsl(43 90% 60%); }
.holo-thumb-popup-card[data-fx="secret"] { --card-glow:hsl(283 80% 70%); --card-edge:hsl(283 100% 84%); }
.holo-thumb-popup-card[data-fx="plain"] .holo-thumb-popup-card__glare { opacity:calc(var(--card-opacity)* .32); }
.holo-thumb-popup-card[data-fx="plain"] { --card-glow:hsl(220 12% 62%); --card-edge:hsl(220 16% 74%); }
.footnote-block b { color:var(--ink); }
.body-prose-block p:last-child { margin:0; }
.attribute-chip-link[aria-pressed="true"] { background:var(--card-edge,hsl(47 100% 78%)); border-color:transparent; color:hsl(224 30% 10%); }
.attribute-chip-link.state-current-active { background:var(--card-edge,hsl(47 100% 78%)); border-color:transparent; color:hsl(224 30% 10%); }
.attribute-chip-link:focus-visible { outline:2px solid hsl(43 90% 66%); outline-offset:3px; }
td.energy-cost-ladder-row-note { text-align:center; white-space:nowrap; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.box .numeric-value-column { font:750 21px/1.2 var(--mono); font-variant-numeric:tabular-nums; color:var(--fg); }
ol.reasoning-step-grid { margin:0; padding-left:0; list-style:none; counter-reset:s; display:flex; flex-direction:column; gap:11px; }
ol.reasoning-step-grid li { counter-increment:s; position:relative; padding-left:38px; font-size:15px; color:var(--fg-dim); line-height:1.65; }
ol.reasoning-step-grid li::before { content:counter(s); position:absolute; left:0; top:3px; font:700 12px/24px var(--mono); text-align:center; width:24px; height:24px; border-radius:6px; background:var(--gold-soft); color:var(--gold); }
ol.reasoning-step-grid b { color:var(--fg); font-weight:650; }
.lcat__i .icon-filled-shape { fill:currentColor; stroke:none; }
/* 🩹 W2c(2026-08-18) — 「Printings」 판본 목록 마지막 줄(예: Reverse Holofoil) 하단 테두리 소실 제거
   (사용자 지적: 「Normal / Market $0.14 …」·「Reverse Holofoil / Market $0.29 … / $0 market」
   박스의 하단 선이 안 보임)
   ─────────────────────────────────────────────────────────────────────
   ■ 뿌리 — 여기 있던 `.badge-bar-row:last-child{border-bottom:0}` 은 «줄마다 테두리를 공유하는
     이어붙인 목록»(표처럼 위아래가 맞닿아 마지막 줄만 바깥 테두리와 겹칠 때)을 전제한 규칙이다.
     그런데 .badge-bar-row 는 :7459/:719 기준판에서 매 줄이 «자기 테두리를 완결로 진» 낱개 카드다
     (border:1px solid var(--line2) + border-radius 전부)이고, 부모 .badge-bar-row-list(:709·:7456
     기준판)는 줄 사이를 gap:6px 로 띄운다 — 줄끼리 맞닿지 않으니 애초에 겹칠 테두리가 없다.
     즉 전제가 틀렸다: 이 규칙은 «겹침을 막지 않고» 마지막 줄 카드의 아래쪽 한 변만 지운다.
   ■ 확인 — app-layer.php:456-460(Printings 판본 목록)·다른 11개 .badge-bar-row-list 사용처
     (card-app.php·spec-app.php·rank-rows.php·list-row.php 등) 전부 같은 gap 목록이라 전수 동일 결함.
   ■ 수리 = 이 규칙을 삭제한다(다른 값 발명 0 — 기준판 :7459/:719 의 border 선언이 그대로 살아
     매 줄이 4면 테두리를 온전히 두른다). 회귀 0: 이 규칙에 기대던 다른 의도(겹침 방지)는 애초에
     성립하지 않았으므로 삭제해도 잃는 시각이 없다. */
/* 🔧 2026-08-09 «줄 테두리와 그림 테두리가 맞붙어 두 겹으로 보이던 것» 의 «단 하나의» 원인 (사용자 지적)
   ■ 실측 — 같은 마크업이 두 판에서 다르게 선다 (1280px · 상자 사슬)
       축 axis-v1 (이 시트를 싣는다)          카드 card-v2 (이 시트를 안 싣는다 · 대조군)
         <li .badge-bar-row--link> 여백=0px      <li .badge-bar-row--link> 여백=0px
           <a .__arrow> 여백=10px 12px            <a .__arrow> 여백=10px 12px
                        크기=0.0×0.0  ← 상자 없음              크기=1278.0×98.2  ← 상자 있음
             <span .__picture> 좌시작=+1.0          <span .__picture> 좌시작=+13.0
     축 판만 그림이 +1.0(줄 테두리 바로 옆)에서 시작해 1px 선 두 개가 맞닿는다. 카드 판은
     +13.0(테두리 1 + 여백 12)이라 애초에 그런 일이 없다 — 차이는 «이 한 줄»뿐이다.
   ■ 왜 이 한 줄이 세 규칙을 한꺼번에 무력화했나
     이 줄 위쪽에는 「줄의 여백을 안쪽 링크에게 넘긴다」는 규칙이 세 벌 있다
       :772  .badge-bar-row--current{padding:0}
       :5711 .badge-bar-row--link{padding:0}
       :5837 .badge-bar-row-list>.badge-bar-row:has(>.badge-bar-row__arrow){padding:0}   ← 실제 승자
     셋 다 넘겨받을 링크가 여백을 «지고 있다»는 전제 위에 서 있다(:7273 padding:10px 12px · width:100%).
     그런데 display:contents 는 그 링크의 상자 자체를 없앤다 — 자식만 남고 자신은 사라지므로
     padding 이 그려질 자리가 없다. 넘겨준 여백이 «받는 사람 없이» 증발해 줄 여백이 0 이 된다.
     ⚠️ 그래서 여백을 넘기는 세 규칙 중 어느 것을 걷어도 증상이 안 고쳐진다(2026-08-09 실증:
        :772·:5711 을 걷어 봤지만 :5837 이 그대로 이겨 여백은 여전히 0 이었다).
        원인이 «넘기는 쪽»이 아니라 «받는 쪽»에 있었기 때문이다. 고칠 곳은 여기 한 곳이다.
   ■ display:contents 를 걷으면 무엇이 되살아나나 — :4150·:7273 의 본래 값이다
       .badge-bar-row__arrow{ display:flex; align-items:center; gap:11px; width:100%; padding:10px 12px }
     즉 링크가 줄 전체를 채우는 flex 상자가 되어 세 규칙이 넘긴 여백을 «실제로» 진다.
     카드 판이 바로 그 상태이고(위 실측 1278.0×98.2), 이 수리는 축 판을 그 상태로 맞추는 것이다.
   🔒 새 값 0 — 여백·정렬·간격 전부 이미 있던 :7273 의 수다. 이 줄에서는 값을 «지우기»만 한다.
   🔒 color:inherit·text-decoration:none 은 남긴다 — 링크 글자색·밑줄을 줄에 맞추는 별개의 일이고,
      그것까지 지우면 파란 밑줄이 되살아난다.
   🔒 이 이름을 «상자 없는 감싸개»로 쓰던 다른 판이 있었을 수 있으나(꼬리표 없는 기준판 줄),
      그런 판에서도 :7273 이 flex·width:100% 를 이미 주고 있어 줄 전체를 채우는 결과는 같다. */
.badge-bar-row>a { color:inherit; text-decoration:none; }
.badge-bar-row:hover { background:var(--acc-s); }
/* R40(2026-08-20 W3-CSS) 삭제 — `.badge-bar-row:hover .bar-row-title{color;text-decoration:underline;…}`.
   ■ 결함 ─ `--link` 꼬리표를 안 보고 «모든» .badge-bar-row 에 호버 밑줄을 걸었다. 판본 줄
     (variant-diagram.php:63-73 「1st Edition Holofoil」 등)은 <a> 도 --link 도 없는 평문인데
     밑줄이 떠서 «누를 수 있는 것»으로 읽혔다 — 그것이 R40 이다.
   ■ 왜 «스코프 추가»가 아니라 «삭제»인가 ─ 제대로 한정된 짝이 :10078·:10081 에 이미 서 있다
     (`.badge-bar-row--link:hover|:focus-within .bar-row-title`). 여기에 --link 를 붙이면 그 짝의
     복제가 되어 중복 정의가 하나 더 생긴다(A-3). 지우면 SSOT 가 :10078 한 곳으로 모인다.
   ↩︎ 곁따라 바로잡히는 것 ─ 이 줄은 같은 특이성(0,3,0)에 «뒤»라서 진짜 링크 줄에서도 :10078 을
      덮고 있었고, 그 바람에 text-decoration-thickness:1.5px 가 빠진 얇은 밑줄이 그려졌다.
      지우면 링크 줄이 기준판 두께를 되찾는다(회귀가 아니라 복원).
   🔒 윗줄(호버 배경)은 남긴다 ─ 판본 줄의 호버 배경은 2026-08-02 9차에 «일부러» 세운 것이고
      (:6001-6008 `.vvar .badge-bar-row-list>.badge-bar-row:hover`) R40 이 지적한 것은 밑줄이다. */
.distribution-bar-row>i { position:absolute; left:0; top:0; bottom:0; width:var(--w); background:var(--bar,var(--fire)); opacity:.26; border-radius:6px; }
.distribution-bar-row b { position:relative; font-weight:700; color:var(--ink2); }
.distribution-bar-row em { position:relative; margin-left:auto; font-style:normal; font-weight:800; color:var(--ink); }
.distribution-bar-row span { position:relative; font-size:13px; color:var(--mut); font-weight:600; }
th.table-number-cell { text-align:right; }
tr.bar-segment-emphasis td { background:color-mix(in srgb,var(--fire)9%,transparent); }
th.table-wrap-column { white-space:normal; min-width:190px; }
td.table-wrap-column { white-space:normal; min-width:190px; }
.holo-thumb-popup-thumb__image img { -webkit-user-drag:none; pointer-events:none; }
.holo-thumb-popup-thumb__image span { -webkit-user-drag:none; pointer-events:none; }
.footnote-block h3 .tag { display:inline-block; margin-right:7px; padding:2px 9px; border-radius:999px; font-size:13px; font-weight:800; vertical-align:2px; color:#fff; }
.holo-thumb-popup-grid-cell__value.is-up { color:var(--up); }
.holo-thumb-popup-grid-cell__value.is-flat { color:var(--ink2); }
.evolution-chain-diagram-link__content:focus-visible .evolution-chain-diagram-link__picture { transform:translateY(-14px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.6); }
.versus-compare-side:focus-visible .versus-compare-side__picture { transform:translateY(-14px)rotateX(8deg)scale(1.06); box-shadow:0 20px 28px -10px rgba(0,0,0,.6); }
.versus-compare-middle__title.is-safe { color:var(--up); }
td.tabular-number { font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.below { padding:13px 2px 18px; border-top:1px solid var(--line); }
.search-intent-card:hover .search-intent-emoji-badge { background:var(--acc); color:#fff; }
.search-intent-card:focus-visible .search-intent-emoji-badge { background:var(--acc); color:#fff; }
.composition-donut-stat-panel>.composition-donut-stat-cell { padding:19px 14px; border:0; border-left:1px solid var(--line); border-radius:0; background:transparent; }
.summary-metric-five-column-grid>.composition-donut-stat-cell { padding:11px 12px 9px; background:var(--surf); }

@media (max-width:560px) {
  .evolution-chain-diagram-link__arrow { padding-top:0; }
  .evolution-chain-diagram-link__arrow svg { transform:rotate(90deg); }
  .stat-tile-link--span-2 { grid-column:span 1; }
  .ranked-thumbnail-list-card-rows>a.ranked-thumbnail-list-value-row { gap:10px; padding:10px 12px; }
  .versus-compare-middle__arrow svg { transform:rotate(90deg); }
  /* F60-b(2026-08-22) 삭제 — 옛 p28⑫ 규칙(셋째 열 82px 고정 의도의 5열 값)이 남긴 잔재. p28-f-2(:13405)가
     ≤820 을 헤더·값 동일한 4열로 정합시킨 뒤로는 이 ≤560 5열 규칙이 파일순서상 항상 져 dead rule 이었다
     (13433 의 4열 규칙이 더 뒤라 캐스케이드 승자). F60 진단이 이를 "의도값"으로 오탐(narrow=intended
     휴리스틱 오적용)해 재점화 우려가 있어 제거 — 렌더 변화 0(CDP 320~1200px 전후 동일 확인, F60-b 보고). */
  /* 🩹 2026-08-11(p28) ⑪ — 눈금은 «행과 한 짝»이어야 자를 가리킨다.
     이 폭에서 행이 88px minmax(0,1fr) 84px · gap 7px 로 좁아지므로(:10298) 눈금도 같이 좁힌다.
     앞선 값(1fr)은 눈금을 상자 전체 폭에 다시 펼쳐 놓아, 넓은 화면에서 방금 고친 어긋남을
     좁은 화면에서 그대로 되살렸다. 뿌리 설명 = :8760 주석. */
  .lifespan-band-chart-axis { grid-template-columns:88px minmax(0,1fr)84px; gap:7px; }
  .rank-contrast-pair-grid { grid-template-columns:1fr; }
  .versus-compare-panel { grid-template-columns:1fr; }
  .lifespan-band-chart-row-years { text-align:left; }
}

@media (max-width:640px) {
  .ranked-thumbnail-list-rank-row .bar-row-bar-column { grid-area:bar; align-items:stretch; }
  .ranked-thumbnail-list-rank-row .bar-row-value { text-align:left; }
}

@media (max-width:720px) {
  .matchup-triad-arrow svg { transform:rotate(90deg); }
  .app-layer-split-columns { grid-template-columns:minmax(0,1fr); }
  .matchup-triad-diagram { grid-template-columns:1fr; }
}

@media (max-width:900px) {
  .fan-spread__deck { --fanw:clamp(88px,33vw,180px); }
  .fan-spread { flex:0 0 auto; align-self:center; width:min(340px,86vw); }
}

@media (prefers-reduced-motion:reduce) {
  .evolution-chain-diagram-link__picture { transition:none; }
  .evolution-chain-diagram-link__content:hover .evolution-chain-diagram-link__picture { transform:translateY(-6px); }
}


/* ══ 구획 3 · 사용자 확정 편차 ═══════════════════════════════════════════════ */
/* ── 사용자 확정 편차 (시안보다 뒤에 온 결정 · 재건축이 되돌리면 안 되는 것) ────────── */
/* 추이선 가로 띠 — 시안의 세로 쌓기는 위에서 `.price-trend-line-chart__content--stack` 으로 옮겼다. 기본은 가로다.
   🚫 `.price-trend-line-chart__content .price-trend-line-band__hitarea{flex-direction:column}` 로 되돌리지 마라. 가로 차트가 죽는다.
   🔧 2026-08-11(p28-c 추가7-보강) display:block → flex(가로). 이 줄의 «취지는 세로 쌓기 금지»인데
      block 으로 적어 두어 밴드의 flex 나눠갖기까지 함께 죽였고, 그 결과 훅 폭이 0이 되어
      말풍선이 아예 안 열렸다(실측). flex-direction:row 면 취지(가로)는 그대로 지켜진다.
      뿌리 설명·실측치는 :11122 주석에 있다. */
.price-trend-line-chart__content .price-trend-line-band__hitarea { display:flex; flex-direction:row; }
/* 연대 막대 칸 — 좌우 스크롤 수리. flex 자식은 min-width 가 auto 라 내용이 칸을 밀어낸다.
   시안에는 이 줄이 없다(시안은 그 칸에 긴 글자를 안 넣었다) — 실제 데이터가 넣는다. */
.year-histogram-column { min-width:0; }


/* ══ @keyframes 복원 (2026-08-08 — 재건축 파서가 떨어뜨린 정의 · 시안 원문 그대로) ══ */
@keyframes gnd-sweep{from{transform:rotate(calc(var(--gnd-a,0)*-1deg))}to{transform:rotate(0deg)}}
@keyframes garc-grow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes vfxdshim{to{background-position:180% 50%}}
@keyframes bar-fill-x{from{transform:scaleX(0)}}
@keyframes bar-fill-y{from{transform:scaleY(0)}}
@keyframes garc-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes gnd-turn{from{transform:rotate(var(--gnd-f))}}


/* ══════════════════════════════════════════════════════════════════════════════
   🔧 2026-08-09 «미리보기 타일 패널 막대» 원천 수리 (사용자 지적 · 지휘자 승인)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 사용자 지적 3건 — ①막대가 너무 얇다 ②막대 자리가 안 맞다 ③위 라벨·값 정렬이 안 맞다.
   ■ 실측 (확인판 axis-v1 · 1280px · 15행)
       행 rect 279.25×23.25  ·  막대(i) rect 276.25×6  ·  i 계산 position:absolute · height:6px
       · border-radius:4px · opacity:.34  ·  트랙 요소 없음(채움 한 겹)
   ■ 진짜 원인 — 기준판 한 줄이 «두 설계를 섞어» 들고 있었다
       :8985 .compact-value-bar-row>i{ grid-column:1/-1; order:3; height:6px; border-radius:4px;  ← 격자(막대가 제 줄에 서는) 설계
                                       position:absolute; left:0; top:0; bottom:0; width:var(--w) } ← 배경 워시 설계
     position:absolute 가 배치를 가져가는 바람에 막대가 «글자 뒤에 깔린 6px 띠»가 됐다.
     top:0 과 height:6px 이 함께 걸려 행 위쪽에 붙었고(자리 어긋남), 격자용 선언
     (grid-column·order)은 부모가 display:flex(:8981)라 애초에 아무 일도 하지 않았다.
   ■ 이 장치는 «이미» 2층 구조를 갖고 있었다 — 그것이 이 수리의 근거다
       :7271 .compact-value-bar-row>i::after{ width:var(--w); height:100%; background:var(--acc); opacity:.42 }
     즉 원래 설계는 「i = 전폭 트랙 · i::after = 값만큼의 채움」이다. 기준판이 트랙에까지
     width:var(--w) 를 줘 트랙이 사라지고 채움만 남은 것이 «트랙 없음»의 정체다.
     되살리는 것이지 새로 만드는 것이 아니다.
   ■ 값 출처 — 전부 이 저장소가 이미 쓰는 표준이다(임의 값 0)
       높이 9px · 모서리 5px · 트랙색 var(--line2)
         = .distribution-bar-track (:6348 · 확인판 18개) 와 «같은 값»
         = .bar-row-track (:8854 · 확인판 10개)는 10px/5px/var(--line2) 로 같은 계열
       실측 트랙색 rgb(207,214,226) = var(--line2) (#CFD6E2 · :51) — 색을 새로 고르지 않았다.
   ■ 정렬 — 라벨(좌)·값(우) 한 줄 + 그 아래 전폭 막대. 격자 이름칸으로 못 박아
     글자 길이가 달라져도 값의 오른쪽 끝이 흔들리지 않는다(A5 계열 규율).
   🔒 문맥 한정 — .data-story-tile__rows 안에서만 건다. 같은 부품을 쓰는 다른 자리는
      이 선택자에 닿지 않아 지금 모양 그대로다(회귀 0 · 판정식으로 확인).
      ⚠️ 기준판 :8985 자체는 다른 문맥에서도 같은 증상일 것이다 — 지휘자에 별건 보고.
   🔒 --current(지금 이 무리) 변형은 색만 되돌린다 — 굵기·자리는 위 표준을 그대로 따른다.

   🔧 2026-08-09 «문맥이 너무 넓었다» 좁힘 (사용자 지적 · 위 수리의 되먹임)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 사용자 지적 — 「이야기 타일 안 행이 위아래로 쌓여 자리를 버린다」(언어판 #lang ·
     무리 순위 #same). 실측(1280px · CDP 계산값): 한 행 안에서 English/$45.65 는 y=2926.88,
     막대는 y=2947.13, EN 은 y=2960.13 — 글자가 «세 층»으로 갈라져 행 높이가 36.25px → 56.5px.
   ■ 진짜 원인 — 이 격자가 이름칸을 셋만 정해 두었다("label"·"value"·"bar"). 그런데 이 부품은
     넷째 자식 <code>(언어 코드 EN·순번 No. 1)를 가질 수 있다(lens-story.php :133). 이름칸을
     못 받은 자식은 «자동 배치»가 되는데 1·2행이 이미 다 차 있어 격자가 3행을 새로 만든다.
     즉 code 를 가진 행은 «처음부터 이 격자의 계약 밖»이었다 — 넓게 잡힌 문맥이 그 행까지
     끌어들인 것이 결함이다(막대 수리 자체는 옳다).
   ■ 어떻게 좁히나 — :not(:has(> code)) 한 마디. code 를 진 행만 이 격자에서 빼고
     기준판 한 줄 배치(:9292 display:flex)로 되돌린다. 새 클래스 0 · 새 값 0 · 마크업 무접촉.
     🔒 왜 «타일 이름»(href="#lang" 따위)으로 자르지 않았나 — 그러면 code 가 없는데도 이름이
        다른 타일(#variants·#market·축 4칸)이 함께 잘려 «지금 잘 서 있는 자리»가 바뀐다.
        code 유무는 결함의 «기전 그 자체»라, 고칠 곳과 자를 곳이 정확히 겹친다(회귀 0).
     🔒 :has() 는 이 시트가 이미 62곳에서 쓰는 문법이다(새 문법 도입 0).
   ■ census (CDP 계산값 · 이 부품을 쓰는 타일 전수)
       card-v2  #variants(1행)·#market(3행) = code 없음 → 이 격자 유지(무변경)
                #lang(6행)·#same(5행)       = code 있음 → 한 줄로 복원
       axis-v1  #leaders(4)·#spread(4)·#spread(4)·#faces(3) = 15행 전부 code 없음 → 무변경
                (= 위 수리가 «원래 겨눈» 15행이 바로 이것이다 · 회귀 0)
       spec-v1  이 부품 0곳

   🩹 R7(2026-08-18 W2) — 「0 more」 생략 줄 이중선 수리(위 census 의 누락 보강)
   ─────────────────────────────────────────────────────────────────────
   ■ 위 census 는 「#same(5행) = code 있음」이라 적었지만 실제로는 5행 중 4행만 code 를
     진다 — card-template.php:1587 이 #same 줄 사이에 넣는 생략 표시 줄
     ($srows[] = ['gap' => sprintf('%s more', …)])은 code·b·em·i 없이 <span> 하나뿐인
     .compact-value-bar-row--gap 이다. code 가 없으므로 :not(:has(> code)) 에 걸려
     이 줄도 이 3열 격자(label/value/bar 두 행)에 끌려 들어갔다.
   ■ 결과 — 이름 없는 자식(::before 선 · <span>텍스트</span> · ::after 선) 셋이 이름칸을
     못 받아 격자 자동배치로 (1,1)(1,2)(2,1) 에 각각 흩어져 앉는다: 위 행에 «선 + 글자»가
     나란히, 아래 행에 «선» 하나가 또 서서, 원래 flex 로 가운데 글자를 사이에 두고 한 줄로
     보이던 구분선(:2954-2961 ::before/::after flex:1)이 두 줄로 갈라져 보였다
     ("0 more" 부근 이중선 — 사용자 실측 R7).
   ■ 수리 = :not(.compact-value-bar-row--gap) 을 더해 생략 줄만 이 격자에서 뺀다.
     그 줄은 .compact-value-bar-row--gap(:2946-2961) 의 원래 flex 정의(justify-content:center
     + 앞뒤 flex:1 선)로 되돌아가 한 줄짜리 구분선으로 복원된다. code 없는 다른 행
     (#variants·#market·axis 15행)은 이 조건에 안 걸려 위 수리 그대로 유지된다(회귀 0). */
.data-story-tile__rows .compact-value-bar-row:not(:has(> code)):not(.compact-value-bar-row--gap) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "label value" "bar bar";
  align-items: baseline;
  row-gap: 4px;
  column-gap: 8px;
}
.data-story-tile__rows .compact-value-bar-row:not(:has(> code)):not(.compact-value-bar-row--gap) > b  { grid-area: label; }
.data-story-tile__rows .compact-value-bar-row:not(:has(> code)):not(.compact-value-bar-row--gap) > em { grid-area: value; margin-left: 0; text-align: right; }
.data-story-tile__rows .compact-value-bar-row:not(:has(> code)):not(.compact-value-bar-row--gap) > i {
  grid-area: bar;
  position: static;
  width: 100%;
  height: 9px;
  border-radius: 5px;
  background: var(--line2);
  opacity: 1;
  overflow: hidden;
}
.data-story-tile__rows .compact-value-bar-row:not(:has(> code)):not(.compact-value-bar-row--gap) > i::after {
  border-radius: 5px;
  opacity: 1;
}
.data-story-tile__rows .compact-value-bar-row--current:not(:has(> code)):not(.compact-value-bar-row--gap) > i::after { background: var(--acc-i); }


/* ══════════════════════════════════════════════════════════════════════════════
   🔧 2026-08-09 «말풍선 글자가 안 보이던 것» 원천 수리 (사용자 지적 ② · 지휘자 승인)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 사용자 지적 — 「호버 툴팁 내용이 안 나온다」.
   ■ 실측 (확인판 axis-v1 · 말풍선을 강제로 띄워 계산값을 읽음)
       말풍선 자신   background rgb(18,22,31) · color rgb(255,255,255)
       __heading     color rgb(18,22,31)   ← 바탕과 «같은 색»
       __rank        color rgb(18,22,31)   ← 같음
       __footnote    color rgb(18,22,31)   ← 같음
     글자는 «있었다»(textContent = "Top 5 Value 65.0% 5 of the 11 types cover 65.0%…").
     안 보인 이유는 어두운 바탕 위에 «같은 어두운 색»으로 그려졌기 때문이다.
   ■ 진짜 원인 — 기준판 세 줄이 자식에 color:var(--ink) 를 얹고 있었다
       :9081 .price-trend-line-tooltip__heading  { … color:var(--ink) }
       :9084 .price-trend-line-tooltip__rank     { … color:var(--ink) }
       :9100 .price-trend-line-tooltip__footnote { … color:var(--ink) }
     그런데 말풍선 자신이 :9079 에서 background:var(--ink); color:var(--surf) 다.
     즉 «바탕색을 글자색으로» 쓰고 있었다 — 밝은 바탕 말풍선 변형의 값이 어두운 말풍선에
     섞여 들어온 자국으로 보인다.
   ■ 본보기 — 이 장치의 원문(시안 이관본)에는 자식에 color 선언이 «아예 없다».
       faithful-entity.css :455 .price-trend-line-tooltip__heading{font-size:13px;font-weight:800;…}
       faithful-entity.css :457 .price-trend-line-tooltip__rank{display:flex;…}
     색을 말하지 않고 말풍선의 color(var(--surf))를 그대로 물려받는 것이 원래 문법이다.
     그 문법으로 되돌린다 — 새 색을 고르지 않고 «상속»을 되살린다.
   🔒 색만 되돌린다 — 굵기·크기·여백·구분선은 기준판 값 그대로다.
   🔒 opacity 로 만든 濃淡(__footnote .8 · __rank>span .78)은 그대로 둔다. 흰 글자에 걸리면
      「덜 중요한 줄」이라는 뜻이 그대로 살아난다.
   ⚠️ 이 세 줄은 «말풍선을 쓰는 전 페이지»에 걸린다 — 카드 갈래에도 같은 증상이 있는지는
      지휘자 확인 필요(별건 보고). */
.price-trend-line-tooltip__heading,
.price-trend-line-tooltip__rank,
.price-trend-line-tooltip__footnote { color: inherit; }

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 2026-08-09 «한 번 짚었는데 효과가 두 겹 일어나던 것» — 이중 효과 판례 적용 (⑬⑮)
   ═══════════════════════════════════════════════════════════════════════════
   ■ 무엇이 틀렸나 (확인판 axis-v1 · 1280px · 짚기를 «진짜 이벤트»로 걸어 실측)
       한 그림에 손을 얹으면 ① 그림 자신이 떠오르며 기울고 ② 그 위에 큰 그림 팝업이 또 뜬다.
       둘 다 「짚었다」를 말하는 장치라 뜻이 겹치고, 떠오르는 동안 팝업이 그 자리를 덮어
       무엇을 보라는 것인지 눈이 갈피를 못 잡는다.
       실측 = 효과 2종
         .card-image-tile.holo-thumb-popup-thumb__image            11개  이동 translateY(-9px) scale(1.09) + 팝업
         .versus-compare-side__picture.holo-thumb-popup-thumb__image 2개  이동 translateY(-14px) rotateX(8deg) + 팝업
   ■ 판례 — «칸이 작으면 팝업만, 칸이 크면 띄움만»
       칸이 작으면 그림이 안 읽히므로 팝업이 «못 보던 것»을 보여 준다 → 팝업을 남긴다.
       칸이 크면 이미 다 읽히므로 팝업은 화면만 덮는다 → 제 몸 띄움만 남긴다.
       (큰 쪽 판정과 짝이 되는 신호 = card-cells.php 의 data-popup="off" · card-holo-popup.js :62)
   ■ 여기서 «지우는 것»과 «남기는 것»
       지운다 = 이동(transform)·그 이동이 낳는 잘림·떠오름 그림자·그리고 그 전이(transition).
       남긴다 = 테두리 색(var(--acc))·z-index. 이 둘은 「짚혔다」는 표시일 뿐 움직이지 않으므로
                효과가 겹치지 않는다. 짚은 자리를 아예 안 알려 주면 어디를 짚었는지 사라진다.
   🔒 팝업 «안쪽 층»(.holo-thumb-popup-preview·__inner·-card·__shine·__glare)은 손대지 않는다 —
      고쳐야 할 것은 «칸이 어떻게 움직이는가»지 팝업이 어떻게 생겼는가가 아니다.
   🔒 훅이 달린 칸에만 걸린다(클래스 두 개를 함께 적었다). 같은 부품이라도 팝업이 없는 칸은
      예전처럼 떠오른다 — 그 칸에는 겹치는 효과가 없기 때문이다(회귀 0).
   ══════════════════════════════════════════════════════════════════════════ */
.card-image-tile.holo-thumb-popup-thumb__image { transition: border-color .15s; }
.card-image-tile.holo-thumb-popup-thumb__image:hover,
.card-image-tile.holo-thumb-popup-thumb__image:focus-visible { transform: none; box-shadow: none; }
.versus-compare-side__picture.holo-thumb-popup-thumb__image { transition: none; }
.versus-compare-side:hover .versus-compare-side__picture.holo-thumb-popup-thumb__image,
.versus-compare-side:focus-visible .versus-compare-side__picture.holo-thumb-popup-thumb__image { transform: none; box-shadow: none; }

/* ═══════════════════════════════════════════════════════════════════════════════
   2026-08-09 마감 라운드 — 사용자 검수 승인분 (⑥⑦⑧⑨⑭⑯⑰⑱)
   이 구획은 «파일 맨 끝»에 둔다. 같은 자세함이면 뒤가 이기므로, 여기 적힌 것이
   앞 구획의 옛 값을 확실히 덮는다(앞 구획을 지우면 그 값이 어디서 왔는지 잃는다).
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── ⑥ 접기 장치 두 판 통일 ────────────────────────────────────────────────────
   ■ 무엇이 어긋나 있었나 (확인판 실측 · 1280px)
       카드 .badge-bar-row--fold .module-list-fold__toggle
              테두리 1px dashed #CFD6E2 · 바탕 #EEF1F6 · 왼쪽 시작점 0.0 (이웃 행과 같음)
       축   details.remaining-list-fold
              안여백 11px 14px  ← 전역 details 안여백이 그대로 남아 있었다
              그래서 여는 단추의 왼쪽 시작점 22.0 · 위 목록 첫 행 9.0 → 13px 어긋남
     같은 「접기」인데 두 판의 겉모습·시작점·표식이 전부 달랐다.
   ■ 사용자 확정 사양 (2026-08-09)
       ① 점선 폐기 → 이웃 행과 «같은 실선·같은 두께»
       ② 색만 살짝 눈에 띄게 — 새 색을 만들지 않는다
       ③ 호버 신호(배경 전환) 유지
       ④ 표식은 행에 하나 · 아래 화살표 계열 · 펼치면 회전 · 색은 제목 글자와 같은 강조색
       ⑤ 토글 행 위·아래 실간격 같게
   ■ 값 출처 — 전부 «이 프로젝트가 이미 쓰는» 조합에서 가져왔다(실측)
       테두리·바탕 = 1px solid var(--acc) + var(--acc-s)
                    ← .list-unfold-button (축 판이 이미 이 조합으로 서 있다)
       호버        = border-color:var(--acc-i) / background:var(--surf2) / color:var(--acc-i)
                    ← .list-unfold-button:hover (같은 출처)
       이웃 두께   = 1px  ← 카드 .badge-bar-row 1px solid #CFD6E2 · 축 .ranked-thumbnail-list-card-rows 1px solid #E2E7EF
       표식 색     = var(--acc-i)  ← 토글 글자색과 «같은 계산값»(제목이 그 색을 상속한다)
   🔒 이웃과 색이 겹치지 않는다 — 이웃은 회색 계열(--line·--line2), 토글은 강조 계열(--acc). */
details.remaining-list-fold { padding: 0; }
/* R83-b(2026-08-20 W3 배치3 눈검수) 카드 가격 사다리 접기 시작선 어긋남 — 세 번째 같은 병
   ─────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 어긋났나 — 시트 일반 규칙 `details{…padding:11px 14px}`(:8263, FAQ 아코디언용)이
     `.module-list-fold`(rank-rows.php 정본 — 카드 #same·#era·#line·#grp·#alt·가격 사다리 공유)를
     되잡지 않고 있었다. 그래서 토글과 펼친 목록(badge-bar-row-list--fold) 전체가 14px+테두리만큼
     안쪽으로 밀려, 위 상시 행(badge-bar-row__arrow 좌여백 12px)과 시작선이 어긋났다(실측:
     base1-16/price 41건 접기).
   ■ 같은 병을 이미 두 번 고쳤다 — 축(:12253 details.remaining-list-fold)·시리즈
     (:8852 .ranked-thumbnail-list-series-fold) 둘 다 padding:0 으로 이 누수를 끈다. 이 갈래만
     빠져 있었다(«표본만 고침» 재발 3호) — 같은 처방을 여기도 잇는다.
   ■ 사용자 확정(2026-08-20) — 토글을 «위 행과 같은 행 어법»으로: 배경은 강조 버튼(--acc-s)이
     아니라 이웃 행과 같은 «살짝 다른 표면» 토큰(--surf2, --line2 테두리)으로 낮추고, 호버 시에만
     일반 행과 동일한 강조(--acc-s, .badge-bar-row:hover 와 같은 값)를 준다. 펼침 신호는 이미
     떠 있는 강조색 셰브론(.unfold-chevron)이 진다 — 새 장치 0. */
.badge-bar-row--fold .module-list-fold { padding: 0; }
.badge-bar-row--fold .module-list-fold__toggle {
  display: flex; align-items: center; gap: 11px;
  border: 1px solid var(--line2); border-style: solid; background: var(--surf2); color: var(--acc-i);
  transition: background .15s, border-color .15s, color .15s;
}
.badge-bar-row--fold .module-list-fold__toggle-label { flex: 1 1 auto; min-width: 0; }
.badge-bar-row--fold .module-list-fold__toggle:hover,
.badge-bar-row--fold .module-list-fold__toggle:focus-visible {
  border-color: var(--acc); border-style: solid; background: var(--acc-s); color: var(--acc-i);
}
/* F(2026-08-23 눈검수 — 사용자 지적) — 펼침 «컨테이너 li» 자체의 호버 배경만 끈다.
   보라 배경의 실체 = 전역 .badge-bar-row:hover(:12072)의 정상 li 호버(--acc-s). 그런데
   .badge-bar-row--fold 는 «데이터 행»이 아니라 토글을 감싼 li 라, 그 li 호버 보라가 토글의
   제 호버 위에 겹쳐 이중으로 칠해졌다. 컨테이너 li 에만 background:none — 펼친 목록 «안»의
   진짜 데이터 행은 평소대로 호버한다(그건 정상 신호라 유지). 특이성 0,3,0 으로 :12072 를 이긴다. */
.badge-bar-row.badge-bar-row--fold:hover { background: none; }
/* 표식 색 — 제목 글자와 같은 값. 전에는 회색(--ink2)이라 «누르는 자리»로 안 읽혔다. */
.unfold-chevron svg { stroke: var(--acc-i); }
/* 토글(문구 행)과 첫 펼침 행 사이 여백 — 2026-08-23 눈검수 사용자 지적(「펼침 문구 행과 첫
   펼침 행이 붙어 있어. 여백이 없어」). «문구=제어»와 «펼침=데이터»를 시각 분리한다:
   펼쳤을 때 토글 아래 8px 를 준다(이전 0 = 붙음). 위(margin-top:0)는 위 상시 행과 맞닿는 리듬 유지. */
.badge-bar-row--fold .module-list-fold[open] .module-list-fold__toggle { margin-bottom: 8px; }
.badge-bar-row--fold .module-list-fold__toggle { margin-top: 0; }

/* ── ⑦ 산문 문맥의 굵은 글자가 «떨어져» 보이던 것 ──────────────────────────────
   ■ 원인 실측 — 배지 규칙이 번진 것이 아니었다. 이 문단 자체가 flex 였다:
       .block-followup-note{display:flex; gap:8px; justify-content:space-between}
     그 규칙은 「왼쪽 곁말 + 오른쪽 링크」 두 칸짜리 꼬리줄을 위해 있는 것이다.
     그런데 산문을 담은 문단(축 #cells 「There is no page to turn — all <b>11 types</b> are …」)
     에서는 글토막과 굵은 글자가 «각각 flex 항목»이 되어, space-between 이 그 셋을 양끝으로 밀었다.
     실측: b 가 display:block 으로 승격 · 좌우에 8px 씩 틈 · 문장이 세 도막으로 갈렸다.
   ■ 고치는 법 — 두 칸짜리 꼬리줄일 때«만» flex 로 둔다
     그 문법의 표지는 «직계 링크»다(곁말 + 링크). 링크가 없는 문단은 그냥 글이므로 흐름에 맡긴다.
   🔒 회귀 0 — 링크를 진 꼬리줄(축 1건 · 카드 1건)은 조건에 걸려 지금 모양 그대로다.
      링크 없이 span 하나만 진 문단(카드 4건)은 항목이 하나뿐이라 flex 든 흐름이든 같은 자리다. */
.block-followup-note:not(:has(> a)) { display: block; }

/* ── ⑧ 상자수염 한 줄 범례 ─────────────────────────────────────────────────────
   ■ 왜 필요한가 — 이 그림의 «굵은 세로획»에 이름이 없었다. 그 획의 실체는 원자의
     median(전형가)이다(axis-spread-box.php 계약 · axis-template 의 bwRows).
   ■ 견본은 그림이 실제로 쓰는 세 도형을 그대로 축소한 것이다 — 견본과 그림이 다르면
     범례가 오독을 만든다. 색·두께는 그림 조각 구획에서 그대로 가져왔다.
   🔒 --et 는 그 줄의 타입색이다. 범례에는 줄이 없다.
   ■ 견본 색 = «중립 회색»(--line2 계열) — 사용자 확정 2026-08-09.
     ─────────────────────────────────────────────────────────────────────────
     전에는 강조색(--acc = 보라)으로 세웠다. 그런데 그림에서 상자 색은 «줄마다 다르다»
     (--et = 그 줄의 타입색 — 불꽃은 붉고 물은 푸르다). 견본만 보라로 서면 읽는 사람이
     「보라 = 가운데 절반」이라는 없는 규칙을 배운다 — 화면 어디에도 보라 상자는 없다.
     견본이 설명하는 것은 «색»이 아니라 «모양»이다(가는 선 / 넓은 상자 / 굵은 세로획).
     그래서 뜻을 지지 않는 중립 회색으로 세워, 눈이 모양에만 가게 한다.
   🔒 행 색은 건드리지 않는다 — .box-whisker-chart__box 의 var(--et,var(--acc)) 는 그대로다. */
.box-whisker-chart-legend {
  display: flex; flex-wrap: wrap; gap: 8px 18px;
  margin: 10px 0 0; padding: 0; list-style: none;
  font-size: 13px; color: var(--mut);
}
.box-whisker-chart-legend__item { display: flex; align-items: center; gap: 7px; }
.box-whisker-chart-legend__glyph { flex: 0 0 auto; display: block; }
.box-whisker-chart-legend__glyph--range   { width: 22px; height: 2px;  background: var(--line2); }
.box-whisker-chart-legend__glyph--box     { width: 22px; height: 14px; border-radius: 2px; background: var(--line2); }
/* 전형가 획도 «같은 사유»로 중립 회색이다(2026-08-09 · 사용자 확정 · Middle half 와 한 벌).
   그림에서 이 획의 색도 줄마다 다르다 — .box-whisker-chart__modal 이 var(--et,var(--acc)) 라
   불꽃 줄은 붉고 물 줄은 푸르다. 견본만 보라로 서면 화면에 없는 「보라 = 전형가」라는
   규칙을 읽는 사람이 배운다. 견본이 설명하는 것은 색이 아니라 «모양»(굵은 세로획)이다. */
.box-whisker-chart-legend__glyph--typical { width: 3px;  height: 18px; border-radius: 1px; background: var(--line2); }
.box-whisker-chart-legend__label { min-width: 0; }

/* ── ⑨ 값 줄 목록의 «마지막 행 아래 여백» ──────────────────────────────────────
   실측: .ranked-thumbnail-list-value-row 가 margin:0 0 16px 를 지고, 마지막 행 뒤에도
   그 16px 이 남아 상자 안여백과 겹쳤다(상자 아래가 두 겹으로 벌어진다).
   표준 문법 = 마지막 행만 0(간격은 «행 사이»에만 있는 것이 목록의 뜻이다). */
.ranked-thumbnail-list-value-row:last-child { margin-bottom: 0; }

/* 🔒 확정(사용자 확정 2026-08-09): 좌정박 T=0(anchor 그대로 포개짐)·우정박 T=+3px(캡 자신의
   폭=anchor-modal 틈 보정) — 광학상수가 아닌 «이 구획의 기하값». 유도 과정은 아래 3판 재정정 참조. */
/* ── ⑩ 상자수염 전형가 캡션 — module-rate-bar__marker-cap 재사용 (2026-08-09 · 좌표계 재정정)
   ■ 무엇인가 — axis-spread-box.php 가 각 행의 세로선(median) 바로 아래에 붙이는 이름표
     ("typical $X.XX"). 부품은 module-rate-bar__marker-cap «그대로»(재정의 0 — 이 문맥
     규칙은 원 셀렉터(:9024)를 덮어쓰지 않고, .box-whisker-chart__title 안에서«만» 더
     강한 문맥 셀렉터로 position/left/margin/transform 만 겹쳐 쓴다). 배경·글자색·안여백·
     rv-anim-wait/go 토글은 전부 원 정의를 그대로 물려받는다.
   🔧 재정정(2026-08-09 사용자 실측 — 캡이 세로선보다 훨씬 왼쪽) — 1판(마진 앵커)의 근본 결함
      ─────────────────────────────────────────────────────────────────────────────
      1판은 캡을 <li> 의 «형제»로 두고 margin-left(컨테이닝 블록 = li 폭)를 썼는데, 세로선
      (.box-whisker-chart__modal)은 title «안»에서 left(컨테이닝 블록 = title 안쪽 폭)를 쓴다
      — 태생부터 «다른 좌표계» 둘을 같은 값으로 겹치려 한 것이다. 이 시트의 확인판(1280px)
      에서는 li 폭과 title 폭이 우연히 같아(둘 다 1203px) 오차가 0.2~0.38px 로 작게 나왔지만,
      그건 «우연히 맞은 것»이지 구조가 맞은 게 아니었다 — li와 title의 폭이 갈리는 다른 렌더
      문맥(실 테마 컨테이너 등)에서는 그 비율차가 그대로 큰 오차가 된다(사용자가 그 자리를 봤다).
   ■ 2판 — 캡을 title «안»으로 옮겨 세로선과 «같은 요소» 안에 둔다(axis-spread-box.php 동시 수정)
      이제 캡의 left 값도 modal 과 «완전히 같은 $pc($md) 호출값»이다(문자열 하나까지 동일 —
      PHP 쪽에서 한 번만 계산해 두 곳에 나눠 쓴다). 컨테이닝 블록이 항상 같으므로 li와 title
      폭이 얼마나 갈리든 — 어떤 렌더 문맥이든 — 어긋날 수가 없다(구조적 해결 · 환경 의존 0).
   ■ 정중앙 보정값(2판 — 폐기) — «모달 자신의 폭»뿐(순수 기하, 환경과 무관한 상수)
      modal 은 3px 폭에 transform 이 없어 «왼쪽 모서리»가 anchor(left:X%)에 선다 → 중심은
      anchor + 1.5px. 캡은 translateX(-50%)만 주면 «캡 자신의 중심»이 anchor 에 온다(자기
      폭 절반만큼 왼쪽으로 이동). 그 차 1.5px 를 그대로 더해 상쇄한다:
        transform: translateX(calc(-50% + 1.5px))
      1.5px = 모달 자체 폭(3px)의 절반 — CSS 선언값에서 바로 나오는 고정 상수라 원 -2px
      마커 전제(폭이 다른 컴포넌트를 상대하며 부호를 추정하던 값)를 더는 쓰지 않는다.
   🔧 3판 재정정(2026-08-09 지휘자 판정 — 진범 확정) — 2판의 «중앙 정렬»이 오판이었다
      ─────────────────────────────────────────────────────────────────────────────
      사용자가 보는 «세로선»은 캡 자신의 좌정박 틱(border-left 3px)이다 — 2판은 그 틱을
      캡 «상자 전체의 중앙»(-50%)으로 옮겨, 틱이 캡 폭의 절반(≈시안 텍스트 길이에 비례
      ·폭 무관하게 일정)만큼 세로선(modal) 왼쪽으로 벗어났다(사용자가 광폭 모니터에서
      본 상수 어긋남과 일치). 원래 부품(module-rate-bar__marker-cap 표준형·포디엄이 쓰는
      그 문법)은 «중앙 정렬»이 아니라 «좌정박»이다 — border-left 자체가 anchor 에 서는
      틱이라 상자를 통째로 가운데로 밀 필요가 없다.
      고치는 법 — 중앙 정렬(-50%)을 걷어내고 좌정박으로 되돌린다. 이 문맥의 modal(3px·
      transform 없음·자기 왼쪽 모서리가 anchor)과 캡(3px 좌측 border)이 «같은 left:X%
      앵커·같은 3px 폭»이면 transform 없이(0) 두 3px 사각형이 완전히 포개진다 — 틱 중심
      = 세로선 중심(오차 0, 포디엄의 -2px는 마커가 2px·-50%centered라 상쇄 계산이 다름
      ·이 문맥은 모달·캡이 둘 다 3px 라 0이 그 계산의 이 문맥 버전이다·실측으로 확정).
   ■ 우측 안전(고 % 행) — 부품의 기존 --r(우정박) 승계, absolute 좌표계로 이식
      marker_pct(=median)>50 일 때 캡을 그대로 왼쪽에 두면 트랙 오른쪽 밖으로 넘친다.
      표준 부품은 이때 --r(border-right·margin-right 우정박)로 갈아탄다(rate-bar.php
      :122-125 cap_r 그대로). absolute 좌표계에서는 margin-right 대신 right:calc(100%-X%)
      로 «같은 anchor 점»에 상자 오른쪽 모서리를 세운다 — 이제 캡(3px)이 anchor «왼쪽»에
      서므로 modal(3px·anchor 오른쪽)과 3px 벌어진다. translateX(3px)로 그 3px 를 메워
      두 사각형을 다시 포갠다(좌정박 T=0 과 같은 원리 — «캡 자신의 3px 폭 = 틈»만큼만
      보정, 포디엄의 ±2px 광학상수는 여기 적용 대상이 아니다).
   ■ 모바일 숨김 — 좁은 폭(≤640px)에서는 11줄이 세로로 촘촘히 쌓이는데, 캡션까지 서면
     한 줄이 세로선+상자+캡션 3단으로 늘어나 스크롤이 길어지고 옆 줄과 시각적으로 붐빈다.
     선·상자·범례·눈금자는 그대로 두고 캡션만 접는다(핵심 도형은 유지, 부가 설명만 숨김).
     640px = 이 시트의 표준 모바일 분기점(:4700 외 다수 실측 승계) — 새 값 0. */
.box-whisker-chart__title > .module-rate-bar__marker-cap {
  position: absolute;
  top: 100%;
  margin-left: 0;
  margin-top: 6px;
  transform: translateX(0);
}
.box-whisker-chart__title > .module-rate-bar__marker-cap--r {
  margin-left: 0;
  transform: translateX(3px);
}
/* 겹침 수리 — 캡을 title 안으로 옮기며(position:absolute) 새로 생긴 부작용
   ─────────────────────────────────────────────────────────────────────────
   position:absolute 는 «자기 컨테이닝 블록의 흐름 높이에 기여하지 않는다» — title 은
   그대로 22px 로만 셈해지고, li 는 거기서 끝난다(실측: li bottom == title bottom).
   그런데 캡은 title 아래로 margin-top 6px + 자기 높이 21.55px = 26.5~26.6px 더 나가
   있어서, 다음 행과의 표준 간격(.box-whisker-chart{gap:11px})을 다 먹고도 15.5px 를
   다음 행 속으로 파고들었다(실측: gapToNext = -15.55px · 11행 전수 동일값).
   고치는 법 — title 에 그 몫(26.5~26.6px)만큼 margin-bottom 을 더해 li 의 «흐름 높이»가
   캡까지 포함하게 만든다(값 = 실측 필요치 + 여유 0.5px). :has() 로 캡이 «있는» title
   에만 걸어 — 캡이 없는(값 미상) 행은 여백을 낭비하지 않는다. */
.box-whisker-chart__title:has(> .module-rate-bar__marker-cap) {
  margin-bottom: 27px;
}
@media (max-width:640px) {
  .box-whisker-chart .module-rate-bar__marker-cap { display: none; }
  /* 캡을 숨긴 만큼 자리도 되돌린다 — 안 그러면 안 보이는 캡을 위해 빈 여백 27px 가 남는다. */
  .box-whisker-chart__title:has(> .module-rate-bar__marker-cap) { margin-bottom: 0; }
}

/* ── ⑪ print-variant-offer-row 단추 — 호버 배경 위 글자 안 보임 수리 (2026-08-09 지휘자 확정)
   ■ 무엇이 고장이었나 — .print-variant-offer-row:hover(:9897 등) 는 행 배경을
     color-mix(--up 6%) 로 바꾼다. 그런데 오른쪽 "See listings" 단추(.print-variant-offer-row a
     · :9861)는 자기 배경이 없어(투명) 그 초록 배경이 그대로 비쳤고, 글자·테두리 색도 같은
     --up(초록)이라 단추가 배경에 «섞여» 사라져 보였다.
   ■ 검증 문법 실측 승계 — #summary 마켓 목록 행(.denominator-labelled-row__button · :8545)은
     이미 이 문제를 겪지 않는다: 단추가 «자기 배경»(그때는 --surf2)을 지고 있어서 행 배경이
     바뀌어도 단추 영역은 자기 색으로 덮여 항상 또렷하다.
   ■ 고치는 법 — 같은 원리를 승계한다. .print-variant-offer-row a(:9861) 에 background:var(--surf)
     한 줄만 더한다. --surf 는 «임의 색»이 아니라 이 줄 자신의 평상 배경(.print-variant-offer-row
     의 background 값 · :9858)과 같은 값이다 — 새 색 0. 글자·테두리 색(var(--up))·호버시 단추
     자체 색 전환(a:hover · :9863)은 그대로 둔다(그 상태는 원래도 문제가 없었다). */

/* ── ⑭ 「How far each …」 구역 ─────────────────────────────────────────────────
   ■ 실측 (확인판 axis-v1 · 1280px)
       바깥 figure.visual-block-box            테두리 1px · 안여백 14px
       안쪽 .ranked-thumbnail-list-card-rows   테두리 1px · 바탕 #EEF1F6   ← 상자 안 상자(A3 위반)
       행 격자 56px 747px 225px 78px 62px      ← 다섯 칸인데 알맹이는 «넷» (오른쪽 62px 이 빈 칸)
       썸네일 행높이 45 · 썸높이 31 · 위틈 14 · 아래틈 0   ← 세로 가운데가 아니다(아래로 쏠림)
       행 좌우 안여백 12px  ← 이것은 표준과 «같다»(같은 목록 25/29 행이 12px · 판정 결과 «유지»)
   ■ 고치는 법
       ① 테두리는 한 겹만 — 바깥 상자를 남기고 안쪽 테두리를 뗀다(바탕 결은 남긴다).
       ② 빈 다섯째 칸을 접는다 — 알맹이 수만큼만 칸을 만든다.
       ③ 썸네일을 세로 가운데로 — 그림이 안여백 밖으로 흘러 아래가 붙어 있었다. */
/* R24-b(2026-08-20 W3) 삭제 — `.visual-block-box > .ranked-thumbnail-list-card-rows{border:0}`.
   이 줄의 전제는 바로 위 ①「바깥 상자를 남기고 안쪽 테두리를 뗀다」였는데, R24-b 로 바깥
   상자가 통째로 사라져 전제가 없어졌다. 그대로 두면 «테두리 한 겹»이 아니라 «0 겹»이 된다.
   지우면 목록이 제 기준판 테두리(:8187 1px solid var(--line))를 되찾아 다시 한 겹이 된다
   — 바깥에 테두리가 없으므로 이중 테두리가 되지 않는다(A-5 재확인). 바탕·라운드는 원래대로. */
.visual-block-box > .ranked-thumbnail-list-card-rows > .ranked-thumbnail-list-card-row {
  /* 빈 칸에서 나온 62px 은 «글이 잘리던 칸»으로 보낸다 — 넓은 칸을 더 넓히는 것은
     아무 문제도 풀지 않는다. 실측: 마지막 칸 78px 고정이라 「2,513× the group median」이
     「2,513× the…」로 잘려 있었다(잘림은 빈 칸을 접기 «전에도» 있던 결함이다).
     max-content = 그 줄의 글이 실제로 차지하는 폭. 남은 폭은 이름 칸(1fr)이 가진다.
     🩹 2026-08-11(p28-b) ⑫ — 첫 칸도 같은 사유로 «제 내용 폭»으로 바꾼다(56px → auto).
        그 칸에 서는 것은 세로 카드 썸네일인데, 높이(행 높이 47.5px)에 눌려 폭이 33.3px 로
        정해진다. 56px 고정은 그보다 22.7px 넓어, 그 여백이 그림과 이름 사이의 «빈 골»로
        남았다(실측 1280px: 그림→이름 간격 32.7px = 선언 간격 10px + 남는 트랙 22.7px).
        auto 로 두면 트랙이 그림에 맞고 간격은 선언값 10px 로 돌아온다.
        실측 대조(축 artist 1280px · 최대 간격 / 글자 잘림):
          현재 56px 32.7 / 0   ·   auto 10 / 0   ·   max-content 10 / 0   ·   40px 16.7 / 0
        auto 와 max-content 가 같으므로 «뜻이 분명한» auto 를 고른다(그림 폭 변화 0). */
  grid-template-columns: auto minmax(0,1fr) 225px max-content;
}
.ranked-thumbnail-list-card-row > .ranked-thumbnail-list-card-row__picture {
  align-self: center; margin: 0;
}

/* ── ⑯ 순위 원판 — 타원에서 정원으로 · 거짓 도움 커서 제거 ─────────────────────
   ■ 실측 — .rank-dial-ring 136.9 × 84.0 (축). 흰 속을 그리는 ::after(inset:9px,
     border-radius:50%)가 그 상자 안에서 119×66 짜리 «타원»이 되어 있었다.
   ■ 정원의 지름 = 84px — 이 이름이 원래 지고 있던 height 값 그대로다(새 값 0).
     분모 문구는 조각(cell-artist-rank.php)이 배지 «밖»으로 내보냈으므로 안은 한 줄이다.
   ■ 도움 커서 — 실측 결과 그 커서를 진 요소 7개 «전부» title 이 없었다(툴팁 0건).
     짚어도 아무 말이 뜨지 않는데 커서만 「설명이 있다」고 말하면 거짓 신호다. 뗀다.
     🔒 role="img" + aria-label 은 그대로다 — 낭독기에 말하는 길은 커서와 무관하다. */
.rank-dial-ring--circle {
  width: 84px; min-width: 84px; height: 84px; padding: 0;
  border-radius: 50%; display: grid; place-items: center; text-align: center;
}
.rank-dial-panel { cursor: auto; }

/* ── ⑰⑱ 링크 신호 상시 표시 — 타일·패널형 링크 ────────────────────────────────
   ■ census (확인판 두 판 · 블록형 링크 축 24종/207개 · 카드 28종/359개)
       신호를 «이미» 진 것 6종 — 그중 형태 다수결:
         ::after 로 화살표를 세우는 것 ×3종 (axis-directory-card 11 · quick-fact-card 7 · badge-bar-row__arrow 10)
         자식 도형·글자로 세우는 것    ×3종
       → 1종 확정 = «::after 로 오른쪽에 화살표를 세운다» (다수 문법 · 새 도형 0)
   ■ 적용 범위 = 타일·패널형 링크 중 신호가 «없던» 것
       data-story-tile · module-stat-card · type-sparkline-card · cross-axis-summary-link · marketplace-offer-card
   ■ A18 — 아래는 «적용하지 않고 보고»한다(같은 신호가 한 화면에 과밀해지는 자리)
       그림 타일(card-image-tile 11 · holo-thumb-popup-grid-cell 5 · module-card-grid-page__thumb 6 ·
       holo-thumb-popup-thumb__image 94) · 밀집 목록 행 · 알약/단추 · 되돌이 앵커·공유 단추·출처 링크
   🔒 자리 = 오른쪽 아래 모서리 안여백 안. 우측 안여백 값은 타입 패널(.axis-directory-card)
      실측값 12px 를 그대로 쓴다(두 종류의 화살표가 서로 다른 자리에 서지 않게 한다). */
.data-story-tile, .module-stat-card, .type-sparkline-card,
.cross-axis-summary-link, .marketplace-offer-card { position: relative; }
.module-stat-card::after,
.cross-axis-summary-link::after, .marketplace-offer-card::after {
  content: "\2192";
  position: absolute; right: 12px; bottom: 12px;
  font-size: 13px; font-weight: 800; line-height: 1;
  color: var(--acc-i); opacity: .55; transition: opacity .15s, transform .15s;
  pointer-events: none;
}
.module-stat-card:hover::after,
.cross-axis-summary-link:hover::after, .marketplace-offer-card:hover::after,
.module-stat-card:focus-visible::after, .cross-axis-summary-link:focus-visible::after,
.marketplace-offer-card:focus-visible::after { opacity: 1; transform: translateX(2px); }

/* ── 2026-08-09 마감 라운드 2차 — 1차 적용 후 재실측으로 드러난 잔여분 ────────────
   1차에서 «규칙은 걸렸는데 값이 다른 규칙에 눌려 있던» 세 자리를 원천에서 뗀다. */

/* ⑭-b 썸네일이 칸 밖으로 밀려 있던 진짜 원인 — 자동 수집 규칙의 «밀어내기»
   실측: .ranked-thumbnail-list-card-row__picture 가 left:12px · top:7px 를 지고 있었다
         (:7693 · 꼬리표 「다수결8장」 = 다른 문맥에서 뽑아 온 값).
         그 두 값 때문에 그림이 제 칸에서 오른쪽 12px · 아래 7px 로 밀려,
         행 안여백(7px) 밖으로 흘러 아래가 행 바닥에 붙었다(위틈 14 · 아래틈 0).
   ■ 칸 안에서의 자리는 격자가 잡는다 — 밀어내기는 격자와 «두 벌»이 되어 어긋난다.
     align-self:center 가 이미 세로 가운데를 말하고 있으므로, 밀어내기만 0 으로 되돌리면
     그 말이 그대로 화면이 된다. 🔒 폭·비율·테두리는 건드리지 않는다. */
.ranked-thumbnail-list-card-row__picture { left: 0; top: 0; }

/* ⑥-b 토글 행 위·아래 실간격 대칭 (축)
   실측: 위 목록 .ranked-thumbnail-list-card-rows--peek 가 margin-bottom:14px 를 지고 있어
         위틈 14 · 아래틈 0 이었다. 이 상자의 리듬은 «맞닿음»이다 —
         머리줄 바닥 4949.4 = 목록 top 4949.4(틈 0) · 목록 안 행끼리도 테두리로 맞닿는다.
         그 리듬에 맞춰 0 으로 통일한다(값 출처 = 같은 상자 안 머리줄↔목록 실측 간격). */
.ranked-thumbnail-list-gap-rows > .ranked-thumbnail-list-card-rows--peek { margin-bottom: 0; }

/* ⑥-c 펼친 상태에서도 «강조 계열»을 유지한다
   실측: details[open] 규칙이 테두리를 --line2, 글자를 --ink2 로 되돌려 놓아
         ① 이웃 행 테두리(--line #E2E7EF)와 거의 같은 회색이 되고
         ② 제목 글자색이 회색으로 바뀌어 표식 색과 어긋났다(판정식 「표식 색 = 제목색」 위반).
   사용자 확정 사양은 «색만 살짝 눈에 띄게»이지 «펼치면 꺼진다»가 아니다 — 두 상태를 같게 둔다.
   🔒 바탕은 그대로 --acc-s. 호버에서만 --surf2 로 바뀌므로 «짚었다»는 신호는 살아 있다. */
details.remaining-list-fold[open] > summary.list-unfold-button {
  border-color: var(--acc); background: var(--acc-s); color: var(--acc-i);
}
/* 표식 색 = 글자색과 «같은 계산값». 고정색으로 적으면 상태가 바뀔 때 둘이 어긋난다. */
.unfold-chevron svg { stroke: currentColor; }
details[open] > summary > .unfold-chevron svg { stroke: currentColor; }

/* ⑰⑱-b 화살표 글리프 — CSS 이스케이프 대신 «글자 그대로»
   실측: content:"\2192" 가 계산값 "92" 로 나왔다(이 판의 파서에서 이스케이프가 안 풀렸다).
   같은 파일이 이미 쓰고 있는 문법(:5777·:6050 `content:"→"`)으로 맞춘다. */
.module-stat-card::after,
.cross-axis-summary-link::after, .marketplace-offer-card::after { content: "→"; }

/* ⑥-d «+» 표식의 진짜 자리 — 배지가 아니라 전역 summary::after 였다
   실측(적용 후 재실측): summary::after 의 계산값 content = " +" (:7714 `summary::after{content:" +";float:right}`).
   배지에서 «+»를 떼고 나서도 행에는 표식이 여전히 둘이었다 — 셰브론(도형) + 이 글자 «+».
   사용자 확정 사양 「표식은 행에 하나」에 따라 접기 장치 안에서 이 글자 표식을 끈다.
   🔒 다른 문답용 <details>(FAQ 등)에는 손대지 않는다 — 그쪽은 셰브론이 없어 이 «+»가 유일한 표식이다. */
details.remaining-list-fold > summary::after,
.badge-bar-row--fold .module-list-fold__toggle::after { content: none; }

/* ═══════════════════════════════════════════════════════════════════════════════
   2026-08-09 r10 (사용자 검수 · 지휘자 확정 D·F·G·I·J) — 축 갈래 전용 시트 구획
   이 구획도 «파일 맨 끝»에 둔다(앞 구획과 같은 규율: 같은 자세함이면 뒤가 이긴다).
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── I 「한 번 짚었는데 효과가 두 겹」 3회째 재발의 «진짜 자리» ─────────────────
   ■ 앞선 두 번의 수리가 왜 다 못 잡았나 — 고친 이름이 «움직이는 이름»이 아니었다.
     :11020~11022 는 .versus-compare-side__picture 를 껐다. 그런데 실측으로 움직인 것은
     그 안의 <img> 였다:
        기존 규칙 :7624  .versus-compare-side:hover img
                         { transform:translateY(-14px)rotateX(8deg)scale(1.06);
                           box-shadow:0 20px 28px -10px rgba(0,0,0,.6) }
     감싸개(picture)와 그림(img) «두 이름»에 같은 효과가 따로 적혀 있었고, 앞선 수리는
     그중 하나만 껐다. 그래서 화면에서는 아무것도 안 고쳐진 것처럼 보였다.
   ■ 실측 근거 (확인판 axis-v1 · 1280px · 진짜 포인터 이벤트로 짚어 서브트리 전 노드 대조)
        VS 그림 2개 · 서브트리 7노드 중 «움직인 노드 = <img> 하나»
        x 168.95→165.05 · y 408.61→385.55 · w 130→137.8 · h 182.27→191.32
        transform none → matrix3d(1.06,…,-14,…) · box-shadow none → rgba(0,0,0,.6) 0 20px 28px -10px
        (카드 확인판은 같은 자리에서 «변화 0» — 그 판은 이 시트를 싣지 않기 때문이다.)
   ■ 그래서 이번에는 «움직이는 노드»를 직접 끈다 — 판례(:10994 구획)는 그대로다:
        칸이 작으면 팝업만 남기고 제 몸 띄움은 지운다.
   🔒 훅이 달린 칸에만 걸린다 — 팝업이 없는 VS 그림은 예전처럼 떠오른다(회귀 0).
   🔒 테두리·z-index 는 손대지 않는다(「짚혔다」는 표시는 남아야 한다). */
.versus-compare-side__picture.holo-thumb-popup-thumb__image img { transition: none; }
.versus-compare-side:hover .versus-compare-side__picture.holo-thumb-popup-thumb__image img,
.versus-compare-side:focus-visible .versus-compare-side__picture.holo-thumb-popup-thumb__image img {
  transform: none;
  box-shadow: none;
}

/* ── F 상자수염 눈금자 — 글자 «한가운데»를 참 자리에 맞춘다 ─────────────────────
   ■ 왜 (실측) — `justify-content:space-between`(:7329)은 글자 상자의 «가장자리»만 고르게
     벌린다. 글자 길이가 제각각($1 vs $10,000)이라 한가운데가 참값에서 최대 2.36%p
     (트랙 1234px 에서 29px) 어긋났다. 자가 도형과 어긋나면 없느니만 못하다.
   ■ 자리는 조각이 style="left:…%" 로 실어 온다(부르는 쪽이 도형과 «같은 함수»로 잰 값).
     여기서는 그 자리에 글자 한가운데를 맞추는 일만 한다(계산 0).
   🔒 양 끝 두 글자는 트랙 밖으로 나가지 않게 안쪽으로 붙인다 — 0% 에서 한가운데를 맞추면
      글자 절반이 트랙 왼쪽 밖으로 나가고, 그만큼 문서가 넓어진다(좌우 흔들림의 씨앗).
   🔒 옛 문법(문자열 목록)은 --placed 가 없으므로 지금 모습 그대로다(회귀 0). */
.box-whisker-chart-scale-axis--placed {
  display: block;
  position: relative;
  height: 18px;
}
.box-whisker-chart-scale-axis--placed > span {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
}
.box-whisker-chart-scale-axis--placed > span:first-child { transform: translateX(0); }
.box-whisker-chart-scale-axis--placed > span:last-child  { transform: translateX(-100%); }
/* 기준선 설명 «한 번» — 눈금자 바로 아래 한 줄. 값 색·크기는 눈금과 같은 계열이다. */
.box-whisker-chart-scale-axis__note {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--mut);
}

/* ── G #leaders 2~5위 몫 배지 — 「42.5%」 뒤에 «무엇의 42.5%» ────────────────────
   ■ 곁말은 «한 단 낮춘다» — 읽어야 할 것은 몫이고 기준값은 그것을 받치는 말이다.
     13px = 이 판의 곁말 표준(.ranked-thumbnail-list-standout-compare__rowkv 와 같은 크기).
   🔒 줄바꿈 0 — 몫과 기준값이 갈라지면 「42.5%」와 「of $10,000.00」이 두 값으로 읽힌다.
      그래서 배지 칸은 제 글자만큼만 넓어지고(flex:0 0 auto 는 이미 :9159 에 있다)
      그 안에서는 줄을 넘기지 않는다. */
.ranked-thumbnail-list-standout-compare__rowbh > .module-rate-bar__value {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}
.ranked-thumbnail-list-standout-compare__rowbh-of {
  font-size: 13px;
  font-weight: 700;
  font-style: normal;
  color: var(--mut);
  font-variant-numeric: tabular-nums;
}

/* ── D 기록 타일 칸머리 아이콘 — 「한 칸당 하나」 ───────────────────────────────
   ■ 자리 = 물음 «위». 물음이 두세 줄짜리 문장이라 옆에 두면 글이 눌린다.
   ■ 크기 = 21px — 이 코드가 아이콘 자리에 쓰는 표준값 그대로다(.quick-fact-icon svg :7238 ·
     card-template $tico 의 width/height). 새 치수를 만들지 않는다.
   🔒 상자(바탕·테두리)를 두르지 않는다 — 이 격자는 칸마다 테두리가 이미 있어
      아이콘까지 상자를 지면 테두리가 겹으로 보인다(이중 테두리 금지 계열). */
.data-story-tile__image {
  display: block;
  width: 21px;
  height: 21px;
  margin-bottom: 1px;
}
.data-story-tile__image img { display: block; width: 21px; height: 21px; }

/* ── J 순위 원판 — ①채움 호 vs 잔여 호 ②분모 라벨 자리 ─────────────────────────
   ■ ① 무엇이 없었나 — 원판이 «호»를 그리지 않고 있었다(실측: background-image=none).
     조각은 이미 몫을 style="--p:14.1" 로 싣고 있는데(cell-artist-rank.php :59) 그 값을
     읽는 규칙이 없어, 화면에는 «속이 빈 고리»만 서고 14.1% 라는 사실이 도형에서 사라졌다.
     문법은 만들지 않고 승계한다 — 이 파일이 이미 쓰는 원판 문법:
        :10663  background:conic-gradient(var(--acc) calc(var(--p,0)*1%), var(--line2) 0)
     그대로다. 채움 = var(--acc) · 잔여 = var(--line2) → 두 색이 계열부터 갈린다.
   ■ 12시 시작 — conic-gradient 의 기본 시작각이 12시다(from 0deg). 별도 회전을 주지 않는
     것이 곧 12시 시작이다. 각도 = 14.1% × 360° = 50.76°.
   ■ 호 두께 = 9px — 흰 속을 그리는 ::after 의 inset 값 그대로다(:9105). 새 값 0.
     그 한 겹이 곧 호의 굵기이므로 속 원과 «두 벌»이 되지 않는다.
   ■ ② 분모 라벨 — 실측 .rank-dial-label-box 폭 1142px 에 align-items:center(:9974) 라
     「of all 17,249 cards」가 그 1142px 한가운데(원판에서 500px 넘게 떨어진 자리)에 섰다.
     원판과 그 원판의 분모가 서로 남남처럼 보였다. 왼쪽 정렬로 원판 곁에 붙인다.
   🔒 값·글자는 손대지 않는다 — 자리만 바꾼다. */
.rank-dial-ring--circle {
  background: conic-gradient(var(--acc) calc(var(--p, 0) * 1%), var(--line2) 0);
  border: 0;
}
.rank-dial-ring--circle::after {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 50%;
  background: var(--surf);
}
.rank-dial-label-box { align-items: flex-start; text-align: left; }
.rank-dial-denominator { text-align: left; }

/* ── H 「How far each …」 줄 썸네일 — 오른쪽 «두 줄 글」과 키를 맞춘다 ─────────────
   ■ 무엇이 틀렸나 (확인판 axis-v1 · 1280px · 10행 실측)
       썸네일   28.0 × 31.0px      ← 카드 비율(745:1040)이면 28px 폭의 키는 39.1px 여야 한다
       오른쪽 글 46.5px(이름 23.1 + 부제 21.4)
     :7746 이 `width:28px; height:31px; aspect-ratio:745/1040` 를 함께 적어, 높이가 비율을
     이겨 카드가 «납작해져» 있었다. 게다가 그 납작한 31px 이 옆 글 46.5px 보다 15px 낮아
     줄마다 그림만 작게 떠 있는 것처럼 보였다.
   ■ 고치는 법 — 키를 «글에서» 가져오고 폭은 비율이 정하게 둔다
       height 46.5px = 오른쪽 두 줄 블록 실측 46.5px «그대로»(오차 0)
       width  auto  → 46.5 × 745/1040 = 33.3px (카드 비율 그대로 · 폭을 손으로 정하지 않는다)
       ⚠️ 처음에 47px 로 반올림했다가 되돌렸다 — 0.5px 이 글 높이를 넘어서면서 행 높이가
          61.5→62.0px 로 «따라 커졌다»(10행 실측). 행 리듬을 한 톨도 안 건드리려면 글 높이를
          «넘지 않아야» 한다. 그래서 반올림하지 않고 실측값을 그대로 쓴다.
   ■ 행 리듬 — 지금 행 높이 61.5px 은 «가장 높은 내용»인 오른쪽 글 46.5px 이 정한다.
     그림이 47px 이 되어도 그 값을 넘지 않으므로 행 높이는 그대로다(회귀 0 · 재실측으로 확인).
   🔒 census — 이 이름은 두 판 통틀어 이 목록 10줄에만 쓰인다(축 10 · 카드 0). 다른 사용처 없음.
   🔒 left/top 은 앞 구획 ⑭-b 가 이미 0 으로 되돌렸다 — 여기서 다시 적지 않는다. */
.ranked-thumbnail-list-card-row__picture {
  width: auto;
  height: 46.5px;
}

/* ── ③-보완 «비링크 0» — 지금 보고 있는 축 타일(<span>)의 배지를 «내용부터» 끈다
   :7537 이 이미 display:none 으로 감춰 두었지만 content 는 "" 로 남아 있다. 판정식이
   「비링크에 배지 0」이라 «감춤»이 아니라 «없음»으로 못 박는다(화면은 한 톨도 안 바뀐다). */
.axis-directory-card--self::after { content: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   r6s — 성능판 전수 감사(2026-08-10) 마감 구획
   ───────────────────────────────────────────────────────────────────────────
   대상 = `_시안/_성능판-전수감사-20260810.md` P1-1·P1-2·P1-4·P1-5 / P2-8·P2-10 /
          P3-1·P3-2·P3-5·P3-6 / 타입 흐름도 마감(사용자 지적).
   🔒 표준 모듈(modules.css)을 «고치지 않는다» — 4사이트 공용이다. 여기(사이트 시트)에서
      같은 이름에 TCGGrail 값을 덮는다. 이 시트는 modules.css «뒤»에 실리므로 같은
      명시도라도 이긴다(build-check-*.php 의 싣는 순서가 그 근거다).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── P1-1 · P1-4  산점도 — 점이 오른쪽으로 새고 Y축 라벨이 왼쪽으로 잘렸다 ─────────
   ■ 실측(확인판 spec-v1 · 1440px)
       문서 가로 넘침 5px · 넘치는 요소 = 최우측 점(i right 1441)과 그 과녁(button right 1445)
       Y축 라벨 「0 damage」 x=-3 w=46.5 h=42.9  ← 두 줄로 접힌 채 화면 왼쪽 밖으로 3px
       X축 눈금 3개(0 · 3 Energy · 5)인데 점은 여섯 칸(0~5)
   ■ 뿌리 — 두 값이 서로 안 맞았다
       .scatter-plot-chart{padding-left:40px}  vs  __y-axis-labels{width:36px}
       라벨 상자가 36px 인데 「0 damage」는 46.5px 라, flex-end 정렬이 넘친 폭을 왼쪽으로 민다.
       오른쪽은 아예 여백이 없어(padding-right 0) 점 반지름이 통째로 판 밖으로 나간다.
   ■ 고치는 법 — 라벨이 «한 줄로 들어가는 폭»과 «점 반지름만 한 오른쪽 여백»을 준다
       왼쪽  40 → 56px  (라벨 상자 36 → 52px · 실측 46.5px 를 한 줄로 담고 남는다)
       오른쪽 0 → 24px  (이 판의 가장 큰 점 지름 40.06px 의 반 20.03px 보다 넉넉하다)
     🔒 그림(svg)은 이 여백만큼 줄어들 뿐 좌표계는 그대로다 — preserveAspectRatio="none" 이라
        가로가 접히면 점 자리도 «같은 비율로» 함께 접힌다(점과 축이 어긋나지 않는다).
   ▶ X축 눈금 1:1 은 CSS 가 아니라 부르는 쪽의 일이라 card-spec-template.php 에서 고쳤다. */
.scatter-plot-chart { padding-left: 56px; padding-right: 24px; }
.scatter-plot-chart__y-axis-labels { width: 52px; }
.scatter-plot-chart__x-axis-labels { left: 56px; right: 24px; }

/* ── P1-5  카드 격자 이름 = «그림 아래 별도 줄» (11px 흰 글씨 겹침 소거) ──────────
   ■ 실측 — 이름 15칸이 11px(확정 하한 13px 미달) 흰 글씨로 «그림 위»에 얹혀 있고 바탕이
     완전 투명이라 밝은 카드 아트에서 읽히지 않았다. 값 배지(__metric)는 --named 규칙이
     위로 올려 놓아 카드에 «인쇄된 이름»을 덮었다(1·5·8·9번 칸 실측).
   ■ 왜 이 방향인가 — 표준 모듈 머리말이 스스로 「시안 .holo-thumb-popup-thumb__title 는
     카드 «아래»에 이름 띠를 깔아 그 물음을 없앤다」고 적어 두었다. 시안이 정한 자리가
     그림 아래이므로, 덮개를 예쁘게 만드는 것이 아니라 원래 자리로 되돌린다.
   ■ 방법 — 마크업은 한 글자도 안 고친다(표준 모듈 불가침). 칸의 «비율 상자»를 그림에게
     넘기고 칸 자신은 그림 + 이름 두 줄을 쌓는 상자가 된다.
   🔒 배지는 표준 기본 자리(그림 오른쪽 아래)로 되돌린다 — 이름 줄이 그림 밖으로 나갔으니
      아래를 비켜 줄 이유가 사라졌다. 인쇄된 이름(카드 위쪽)을 더는 가리지 않는다.
   🔒 이름 줄 높이를 «못 박는» 이유 = 배지를 그림 안 오른쪽 아래에 두려면 그 줄 높이를
      알아야 한다(bottom = 이름줄 23px + 5px). 값이 흔들리면 배지가 이름 위로 내려앉는다. */
.module-card-grid-page--named .module-card-grid-page__thumb {
  aspect-ratio: auto; overflow: visible; border: 0; border-radius: 0;
}
.module-card-grid-page--named .module-card-grid-page__thumb > img,
.module-card-grid-page--named .module-card-grid-page__thumb > .module-card-grid-page__fb {
  display: block; width: 100%; height: auto;
  aspect-ratio: var(--module-card-grid-page-aspect, 745/1040);
  object-fit: cover; border: 1px solid var(--line2); border-radius: 6px; overflow: hidden;
}
.module-card-grid-page--named .module-card-grid-page__name {
  position: static; left: auto; right: auto; bottom: auto;
  box-sizing: border-box; height: 23px; padding: 5px 2px 0;
  font-size: 13px; font-weight: 700; line-height: 18px;
  background: none; color: var(--ink2); text-align: center;
}
.module-card-grid-page--named .module-card-grid-page__metric { top: auto; bottom: 28px; right: 5px; }
.module-card-grid-page--named .module-card-grid-page__rank   { top: 5px; left: 5px; }

/* ── P1-5-b  출처 등급 배지 11px → 13px (같은 하한 위반 · 2건) ─────────────────── */
/* 2026-08-27 사용자 격상 — 구획 머리글 지위로 15px 재조정(SSOT=modules.css 본선언과 일치).
   패딩·둥근모서리는 modules.css 쪽에서 같이 키웠다(이 파일은 폭 좁은 아이템 화면 전용
   오버라이드라 font-size 만 따라간다). */
.module-sources__tier { font-size: 15px; }

/* ── P1-2  모바일 390px 문서 가로 넘침 80px — 비율 막대의 «값 문자열» ───────────────
   ■ 실측 — .module-rate-bar__value 넷이 각각 321~406px 인데 화면 본문 폭은 374px 다.
     표준 시트가 그 칸에 white-space:nowrap 을 걸어 두어 한 줄이 통째로 판을 민다.
   ■ 고치는 법 — 좁은 화면에서만 줄바꿈을 허용한다. 데스크톱은 한 톨도 안 바뀐다.
   🔒 표준 시트에 손대지 않는다 — 그 칸의 nowrap 은 «숫자가 갈라지지 않게» 하는 규칙이라
      넓은 화면에서는 맞다. 좁은 화면에서만 이 시트가 위에 덮는다. */
@media (max-width: 760px) {
  .module-rate-bar__value { white-space: normal; min-width: 0; word-break: keep-all; }
  .module-rate-bar__item  { min-width: 0; }
}

/* ── P2-8  요약 타일의 «값»이 라벨보다 2px 크다 ─────────────────────────────────
   실측 = fact-value-cell__value 15px/800 vs __key 13px/700. 같은 판의 앱층 파생 수치는
   21px/800 이다. 743·589·40 은 그 구역의 «결론»인데 라벨과 거의 같은 크기로 서 있었다
   (확정 규칙: 의미를 진 요소는 형태로도 무게를 진다). 판 안에서 「요약 타일의 값」 크기를
   하나로 통일한다 — 새 크기를 만드는 것이 아니라 이미 쓰는 21px 에 맞춘다. */
.fact-value-cell__value { font-size: 21px; letter-spacing: -.02em; line-height: 1.15; }

/* ── P2-10  표 숫자 칸 자릿수 고정 ──────────────────────────────────────────────
   실측 = td 125칸 중 tabular-nums 0. 자릿수가 흔들려 세로로 눈이 안 맞는다.
   글자 칸에 걸어도 해가 없다(숫자가 없으면 아무 일도 하지 않는 속성이다). */
.module-table td, .module-table th { font-variant-numeric: tabular-nums; }

/* ── P3-1 · P3-2  링크 타일 격자 — 빈 칸을 남기지 말고 «있는 타일»이 폭을 나눈다 ──
   ■ 실측 — auto-fill 이라 1,424px 본문에 140px 칸이 아홉 개 «만들어지고», 타일이 셋뿐인
     구역은 여섯 칸이 빈 채로 남는다. 그러면서 실제 타일은 151px 로 좁아
     「Top printed damage ~30」이 세 줄, 「Every regulation mark in the archive」가 네 줄로 접혔다.
     즉 빈 칸과 줄바꿈이 «한 원인»에서 나온다.
   ■ 고치는 법 — auto-fill → auto-fit. 빈 트랙이 접히므로 남은 폭을 있는 타일이 나눠 갖는다.
     타일 셋이면 셋이 판을 채우고 제목이 한 줄로 선다. 열 규칙을 손으로 세지 않아도 된다.
   🔒 min 값은 그대로 둔다(140/100/180/230) — 좁은 화면의 한 줄 규칙은 그 값이 정한다. */
.module-link-grid        { grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); }
.module-link-grid--narrow{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 100px), 1fr)); }
.module-link-grid--cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.module-link-grid--cta   { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
/* 🩹 N31(2026-08-23 눈검수) — cols 옵션이 이 시트에서 «조용히» 무력화되고 있었다.
   ■ 무엇이 문제였나 — hub #browse(「Every way to sort…」 열두 축 카드)는 link-grid 호출에
     `cols=>2` 를 넘긴다(items/pokemon/hub-template.php :1294). SSOT(modules.css :1326-1328)는
     `.module-link-grid--cols-2/3/4` 를 `--cards` «뒤»에 선언해 cols 값이 이기도록 설계했다
     (modules.css :1325 주석 "뒤 선언" 이 그 근거). 그런데 이 시트가 `--cards` 를 다시 선언하면서
     (바로 위 줄) «다른 파일(더 늦게 실리는 시트)»이 되어, 같은 우선순위 싸움에서 순서가 뒤집힌다
     — 결과적으로 cols=2 가 가리키는 280px 최소폭이 사라지고 이 시트의 180px 최소폭이 항상 이겨,
     본문 폭이 넉넉해도 열이 5~6개까지 자잘하게 갈라지고 좁은 화면(≤480px)에서는 반대로 2열이
     남아 카드가 눌린다(실측 Playwright: 900px 폭 4열·480px 폭 2열 — cols=2 의도인 "데스크톱
     3~4열·모바일 1열" 과 어긋남).
   ■ 고치는 법 — cols 옵션의 최소폭(280/185/145)을 이 시트에도 «같은 값 그대로» 얹는다.
     `--cards` 뒤에 두어 이 시트 안에서도 다시 이기게 하고, auto-fill 대신 auto-fit 을 써서
     위 P3-1 개선(빈 트랙 접기)도 그대로 승계한다 — 값은 SSOT 와 한 글자도 다르지 않다(새 숫자 0).
   ■ 영향 범위 — `cols` 를 넘기지 «않는» 다른 모든 link-grid 호출은 위 4줄이 그대로 처리하므로
     출력이 한 바이트도 안 바뀐다(추가 전용). cols=2/3/4 를 넘기는 호출만 의도한 폭을 되찾는다. */
.module-link-grid--cols-2{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.module-link-grid--cols-3{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr)); }
.module-link-grid--cols-4{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); }

/* ── P3-5  «폐기» — 분포 막대는 전폭을 쓴다 (2026-08-10 r9-j · 사용자 확정) ────────────
   ■ r6s 가 여기에 `.distribution-bar-list,.distribution-bar-row{max-width:940px}` 를 넣었다.
     진단은 「1440px 화면에서 라벨과 값이 1,392px 떨어져 있다」였고, 처방이 «폭 묶기»였다.
   ■ 그 처방이 틀린 까닭 — 이 막대의 핵심은 «트랙 전체 길이가 곧 분모»라는 것이다
     (dist-bar.php 머리말). 폭을 묶으면 분모가 짧아져 그림이 말하려던 것이 그만큼 줄고,
     본문 폭 1,424px 가운데 484px 가 통째로 빈다.
   ■ 진짜 배치는 «이미» 맞아 있었다 — 실측(2026-08-10 · axis-v1·spec-v1 렌더 마크업 대조):
         .distribution-bar-row > .distribution-bar-label-row (라벨·비율·값)
                                > .distribution-bar-track    (막대)
     라벨은 막대 «위»에 서고, 값(<b class="tabular-number">)은 그 줄의 오른쪽 끝 = «막대 끝»에
     밀착한다. 즉 눈이 막대를 훑고 다다르는 자리에 값이 있다. 두 판이 같은 조각(dist-bar.php)을
     쓰므로 문법도 한 벌이다 — 여기서 더 만들 것이 없다(신규 클래스 0).
   🔒 규칙을 «지운다»(다른 값으로 덮지 않는다) — 덮으면 다음 사람이 두 규칙을 다 읽어야 한다. */

/* ── P3-6  예약 높이가 실제보다 337~473px 작다 ─────────────────────────────────
   content-visibility:auto 로 비워 두었다가 화면에 닿는 순간 문서가 그만큼 늘어나 스크롤이 튄다.
   실측 높이(성능판 937 / 시세판 1,073)의 가운데쯤인 950px 로 올린다. */
.module-faq, .module-sources { contain-intrinsic-size: auto 0px auto 950px; }

/* ── 타입 흐름도 «맞대면» 마감 (사용자 지적 — 시세판 VS 수준으로) ────────────────
   ■ 무엇이 어긋나 있었나 (확인판 spec-v1 #type-flow 실측)
       ① 세 칸의 값 뜻이 달라 크기가 안 맞았다 — 양옆은 「1,249」 뒤에 「Darkness cards carry
          that type」이 «같은 줄»로 이어져 31px 숫자 뒤에서 줄이 접혔고, 가운데는 「80 HP」였다.
       ② 칸이 stretch 인데 안쪽이 흐름 배치라 «카드 그림의 밑선»이 칸마다 달랐다.
       ③ 세 칸 바탕이 전부 같은 흰 판이라 「누가 때리고 누가 맞는가」가 1px 테두리 색 하나에만
          걸려 있었다 — 그 선은 그 역할을 지기에 약하다.
   ■ 시세판 맞대기(.versus-compare-*)의 마감을 그대로 가져온다 — 새 값 0
       역할 라벨 13px/800/자간 .05em · 곁말 13px/mut · 그림은 가운데 + 1px 테두리 + 8px 모서리.
   ■ 칸 안을 격자로 세워 «같은 줄끼리 같은 높이»를 준다 — 역할/문양/값/설명/그림 다섯 줄이
     칸마다 같은 자리에 서므로 그림 밑선이 저절로 맞는다(높이를 손으로 늘려 맞추지 않는다). */
.module-type-relation__cell {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 2px;
  background: var(--surf);
  border-color: var(--line2);
}
.module-type-relation__cell--self   { background: var(--acc-s); border-color: var(--acc); }
.module-type-relation__cell--weak   { background: var(--dn-s); border-color: color-mix(in srgb, var(--dn) 45%, transparent); }
.module-type-relation__cell--strong { background: var(--up-s); border-color: color-mix(in srgb, var(--up) 45%, transparent); }
.module-type-relation__role { font-size: 13px; font-weight: 800; letter-spacing: .05em; color: var(--mut); margin-bottom: 0; }
.module-type-relation__cell--self   .module-type-relation__role { color: var(--acc-i); }
.module-type-relation__cell--weak   .module-type-relation__role { color: var(--dn); }
.module-type-relation__cell--strong .module-type-relation__role { color: var(--up); }
/* 문양 배지 — 「무엇의 기호인가」가 판 위에 서야 읽힌다(맞대기 VS 배지와 같은 마감) */
.module-type-relation__syms { margin-bottom: 2px; }
.module-type-relation__syms > * {
  border-radius: 50%; background: var(--surf); box-shadow: 0 0 0 2px var(--line2);
}
.module-type-relation__value { font-size: 28px; letter-spacing: -.03em; }
/* 곁말은 «다음 줄»이다 — 28px 숫자 옆에 이어 붙이면 그 줄에서 접힌다 */
.module-type-relation__value small {
  display: block; margin-left: 0; margin-top: 3px;
  font-size: 13px; font-weight: 700; color: var(--mut); line-height: 1.4;
}
.module-type-relation__desc { font-size: 14px; color: var(--ink2); line-height: 1.55; }
.module-type-relation__media { align-self: end; margin-top: 10px; }
.module-type-relation__img {
  width: 118px; border: 1px solid var(--line2); border-radius: 8px; background-color: var(--surf2);
}
/* 흐름 화살표 — 세로 가운데에 세운다(칸이 격자가 되면서 stretch 로 늘어나던 것을 못 박는다) */
.module-type-relation__arrow { align-self: center; color: var(--mut); }

/* ── 타입 흐름도 보강 — 세 칸의 «카드 밑선»을 맞춘다 (2026-08-10 · r6s 2차 실측) ─────
   ■ 실측 — 칸 높이는 셋 다 368px 로 같아졌는데 카드 그림의 아래끝만 어긋났다
       weak 9803 · self 9824 · strong 9824  (21px)
   ■ 뿌리 — 표준 마크업의 차례가 role → syms → value → «그림» → 설명이다. 늘어나는 칸(1fr)이
     그림 줄에 걸려 있어서, 설명이 한 줄 길어진 칸은 그 만큼 그림이 «위로 밀린다».
     즉 어긋남의 원인은 그림이 아니라 «설명 길이»이고, 칸 높이를 맞추는 것으로는 안 낫는다.
   ■ 고치는 법 — 늘어나는 칸을 설명 줄로 옮긴다. 마크업은 못 고치므로(표준 모듈 불가침)
     그림 줄만 order 로 맨 뒤에 세운다. 그러면 남는 높이를 설명이 먹고 그림은 언제나
     칸의 맨 아래 같은 자리에 선다 — 세 카드의 밑선이 한 줄로 맞는다.
   🔒 읽는 차례는 그대로 뜻이 통한다: 역할 → 문양 → 수 → 설명 → 그 무리의 실물 한 장.
      「대결 구도」에서 밑선이 맞는 것이 이 구역의 읽기(누가 누구를 때리나)를 만든다. */
.module-type-relation__cell   { grid-template-rows: auto auto auto 1fr auto; }
.module-type-relation__desc   { order: 1; }
.module-type-relation__media  { order: 2; align-self: end; }


/* ══════════════════════════════════════════════════════════════════════════════
   r9 (2026-08-10) — 이 회차가 더한 구획 셋
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── ① 앱층 «전폭 1열» 담개 (r9-e · 사용자 확정) ──────────────────────────────
   ■ 무엇을 고치나 — 성능판 앱층의 아래 두 묶음(「공격 기록」과 「순위 + 천장 맞대기」)이
     .asymmetric-two-column-grid(1.15fr / 1fr) 안에 나란히 서 있었다. 두 묶음 다 «가로로
     길어야 읽히는» 것들이라(막대 줄 · 순위 원판 + 실물 카드 두 장) 절반 폭에서 눌렸다.
   ■ 왜 기존 격자를 못 쓰나 — 그 이름은 «두 칸»이 정체성이고 시세판 앱층이 같은 이름으로
     실제 두 칸을 세운다. 거기에 1열 규칙을 덮으면 시세판이 함께 무너진다.
   🔒 이름 = 줄임말 없는 직관명(명명 3규칙). 「한 칸씩 세로로 쌓는 격자」 그대로다.
   🔒 간격·윗여백은 형제 격자와 «같은 값»을 쓴다(12px) — 두 판의 리듬이 갈리지 않게. */
.single-column-stack-grid { display: grid; gap: 12px; grid-template-columns: 1fr; margin-top: 12px; }
.single-column-stack-grid > * { min-width: 0; }

/* ── ② 다각형 레이더 (r9-g · 설계 정본 §H) ────────────────────────────────────
   짝 파일 = items/pokemon/modules/stat-radar.php · assets/js/tcggrail-fx.js(FILL 목록)
   🔒 색은 토큰만 — 다크 갈래(theme-tokens)가 저절로 걸린다.
   🔒 이중 테두리 금지 — 상자 테두리는 .visual-block-box 가 지고, 도형의 획은 하나뿐이다.
   🔒 글자 13px 하한(확정 만다트) — SVG 안 글자도 «읽는 글자»다. */
/* 🔒 min-width = viewBox 폭(520). 그보다 좁게 그리면 «13px 로 선언한 SVG 글자»가 배율에
   눌려 실제로는 13px 미만으로 렌더된다(SVG 글자는 사용자 단위라 상자와 함께 줄어든다).
   그래서 좁은 화면에서는 도형을 줄이는 대신 제 상자 안에서 «가로로 굴린다» — 글자 하한이
   기기에 따라 무너지지 않는다(데이터 값을 줄이거나 지우지 않는다는 확정 조항과 한 벌). */
.module-stat-radar { overflow-x: auto; }
.module-stat-radar__chart { display: block; width: 100%; min-width: 520px; max-width: 560px; height: auto; margin: 2px auto 0; }
.module-stat-radar__grid  { fill: none; stroke: var(--line); stroke-width: 1; }
.module-stat-radar__spoke { stroke: var(--line); stroke-width: 1; }
.module-stat-radar__polygon { fill: var(--acc); fill-opacity: .18; stroke: var(--acc); stroke-width: 2; stroke-linejoin: round; }
.module-stat-radar__vertex  { fill: var(--acc); }
.module-stat-radar__axis-label { font-size: 13px; font-weight: 700; fill: var(--ink2); }
.module-stat-radar__axis-value { font-size: 13px; font-weight: 800; fill: var(--mut); font-variant-numeric: tabular-nums; }
.module-stat-radar__summary { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink2); }
/* 움직임 — 반원 계기와 «같은 문법»이다: 기본은 멈춤, 화면에 들어온 것만 재생(.rv-anim-go).
   그리드·축·라벨은 정적이고 데이터 도형 하나만 가운데에서 한 번 펼쳐진다(§H-4). */
@media (prefers-reduced-motion: no-preference) {
  @keyframes tg-radar-grow { from { transform: scale(.04); opacity: 0 } to { transform: scale(1); opacity: 1 } }
  .module-stat-radar__shape { transform-box: view-box; transform-origin: 160px 150px;
    animation: tg-radar-grow .75s cubic-bezier(.22,.9,.3,1) .2s both; animation-play-state: paused; }
  .module-stat-radar__shape.rv-anim-go { animation-play-state: running; }
  /* 스크립트가 없는 환경 — 관찰자가 없으니 처음부터 재생한다(도형이 영영 안 뜨는 일 방지) */
  @media (scripting: none) { .module-stat-radar__shape { animation-play-state: running } }
}

/* ══ 서열 패널 — items/pokemon/modules/rank-standing-panel.php 전용 (2026-08-10 r11 신설) ══
   ─────────────────────────────────────────────────────────────────────────────
   🎯 용도 — 「이 카드는 그 무리 안에서 어디쯤인가」를 한 상자로 끝내는 판. 카드 시세판 #grp ·
      카드 성능판 #standing 두 자리가 같은 조각을 쓴다(값만 다르게 넘긴다).
   📐 시안 출처 = `_시안/tcggrail-set-B1.html` 2620~2707행 「세트 크기 순위」 판(사용자 확정 기준판).
   🔒 판의 «몸»은 여기서 그리지 않는다 — 감싸개(.ranked-thumbnail-list-standout-compare) ·
      흰 카드(.module-review-panel) · 타일 · 세그먼트 · 막대 · 각주는 전부 이미 있는 이름이고
      그 모양은 표준 시트(modules.css)와 위쪽 이관 구획이 이미 진다. 여기 있는 것은
      «이 판에만 있는 두 조각»뿐이다:
        ⓪ .rank-standing-panel__self       자기 카드 얼굴(figure.module-overall-score__pic 안)
        ⑤ .rank-standing-panel__peer*      비교 카드(천장·기록 카드) 얼굴 한 줄
   🔁 재사용 조건 — 「한 대상이 한 모집단 안에서 몇 위인가 + 그 기준들과 얼마나 벌어졌나」를
      말하는 자리라면 다른 아이템에서도 쓸 수 있다. 카드 비율(745/1040)은 얼굴 칸이
      .holo-thumb-popup-thumb__image 에서 물려받으므로, 카드가 아닌 아이템에 옮길 때는
      그 훅 대신 제 그림 칸을 쓴다. */
.rank-standing-panel__self { display:block; width:100%; }   /* 폭·비율·테두리는 .module-overall-score__pic>a 가 진다 */
.rank-standing-panel__peer { display:flex; gap:14px; align-items:flex-start; margin-top:18px; padding-top:16px; border-top:1px solid var(--color-border,#e2e8f0); }
.rank-standing-panel__peer-thumb { flex:0 0 auto; display:block; width:64px; aspect-ratio:745/1040; border-radius:6px; overflow:hidden; border:1px solid var(--color-border,#e2e8f0); background:#f1f5f9; box-shadow:0 4px 12px rgba(15,23,42,.12); transition:transform .2s cubic-bezier(.18,.75,.28,1),box-shadow .2s; }
.rank-standing-panel__peer-thumb:hover { transform:translateY(-3px); box-shadow:0 12px 22px -8px rgba(15,23,42,.3); }
.rank-standing-panel__peer-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.rank-standing-panel__peer-body { flex:1 1 auto; min-width:0; }
.rank-standing-panel__peer-headline { margin:0; font-size:15px; font-weight:700; line-height:1.45; color:var(--color-text-body,#334155); word-break:keep-all; }
.rank-standing-panel__peer-headline b { color:var(--color-text-primary,#1e293b); font-weight:800; }
.rank-standing-panel__peer-note { margin:5px 0 0; font-size:13.5px; line-height:1.5; color:var(--color-text-muted,#64748b); word-break:keep-all; }
@media (max-width:600px) {
  .rank-standing-panel__peer-thumb { width:52px; }
  .rank-standing-panel__peer-headline { font-size:14px; }
}

/* ── 레이더 꼭짓점 말풍선 자리 (2026-08-10 r11) ────────────────────────────────
   🎯 용도 — .module-stat-radar 의 데이터 꼭짓점 위에 «짚는 과녁»을 겹치는 층.
      과녁·말풍선 자체의 생김새는 이미 있는 이름이 진다(:8499 button · 말풍선 구획) —
      여기 있는 것은 «겹치는 층이 svg 와 정확히 같은 상자를 갖게» 하는 세 줄뿐이다.
   🔑 왜 필요한가 — svg 는 width:100%·min-width:520px·max-width:560px·margin:auto 라
      바깥 상자보다 좁아지고 가운데로 밀린다. 감싸개가 그 폭 제약을 대신 지지 않으면
      겹친 층의 % 좌표가 그림의 좌표와 어긋난다(꼭짓점 옆을 짚게 된다).
   🔒 원래 .module-stat-radar__chart 규칙은 한 줄도 고치지 않는다 — 감싸개 «안에서만»
      여백·폭 제약을 무르므로, 감싸개 없이 쓰는 자리는 예전 그대로다(회귀 0). */
.module-stat-radar__hover { position:relative; display:block; width:100%; min-width:520px; max-width:560px; margin:2px auto 0; }
.module-stat-radar__hover > .module-stat-radar__chart { margin:0; min-width:0; max-width:none; }
.module-stat-radar__hover > .price-trend-line-hover-layer__points { pointer-events:none; }
.module-stat-radar__hover > .price-trend-line-hover-layer__points > button { pointer-events:auto; }
/* 긴 순위 글자 — 「9,046」처럼 다섯 자가 오면 110px 칸을 넘친다(실측 2026-08-10).
   표준 활자값(:8779 clamp(40px,8vw,48px))은 고치지 않는다 — 축 판이 그 값으로 검수를
   통과했고, 그 판에는 «네 자 이상 순위»가 오지 않는다(전체 순위를 담는 것은 이 판뿐이다).
   그래서 울타리를 .rank-standing-panel 로 좁히고, 조각이 넘겨 준 글자 수만큼만 줄인다.
   ▸ 셈 근거 — 칸 110px 중 좌우 여백을 뺀 쓸 폭 ≈ 100px, tabular 숫자 한 자 ≈ 0.6em.
     들어갈 조건 = len × 0.6 × fs ≤ 100  →  fs ≤ 166 ÷ len. 위 뚜껑은 표준값 48px.
     len 3 → 48px(표준 그대로) · len 4 → 41px · len 5 → 33px · len 6 → 27px.
   ▸ 넘기지 않은 자리는 기본 3 으로 떨어져 48px — 즉 «값을 안 넘기면 표준 그대로»다. */
.rank-standing-panel .module-overall-score--tile .module-overall-score__value { font-size:min(48px, calc(166px / var(--rank-standing-panel-len, 3))); }

/* ══════════════════════════════════════════════════════════════════════════════
   ☀️ 라이트 고정 «중화» (2026-08-10 · p22 — 시트 머리 p22 블록과 한 쌍)
   ──────────────────────────────────────────────────────────────────────────────
   ■ modules.css:14265 의 무가드 다크 분기(@media prefers-dark) 두 선언을 «라이트
     원문 값»(modules.css:14215·:14240)으로 무조건 재선언해 중화한다. modules.css 는
     전 사이트 SSOT 라 직접 편집하지 않는다(동기화 3게이트 회피) — 이 시트가 뒤에
     실리므로 같은 특이도에서 뒤 선언이 이긴다.
   ■ 이 두 줄이 없으면 다크 브라우저 방문자에게 라이트 화면 위 #94a3b8 글자(대비 2.77)가
     남는다 — 라이트 고정의 마지막 구멍. */
.module-link-grid__card-meta { color: #64748b }
.module-rate-bar__item--self .module-rate-bar__track { box-shadow: 0 0 0 1.5px rgba(15, 23, 42, .22) }

/* ☀️ p22 보강 — 확인판(렌더 스텁) body 바닥 명시. 축판(axis-v1)은 theme-tokens/faithful 의
   body 규칙을 싣지 않아 body 가 투명이었고, 아티팩트 뷰어가 다크면 뷰어 바닥이 비쳐
   «어두운 바닥 × 어두운 글자»가 된다(p22 3상태 판정에서 실측: axis body rgba(0,0,0,0)).
   스텁 클래스 한정이라 라이브 body 는 무접촉. */
body.tcggrail-render-stub{background:var(--bg);color:var(--ink)}

/* ══════════════════════════════════════════════════════════════════════════════
   📊 p23 연대 막대 «상시 값» + 데이터색 + 출처 범례 1행(2026-08-10 · 사용자 지시)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 사용자 원문: 「섹션 미호버 시 배경색 회색/보라색만 보여. 원천적으로 해결해」
     (성능판 #same · 시세판 #era — 같은 부품 hub-era-bars). 실측 뿌리 둘:
     ① 막대 채움이 «테두리 토큰»(--line2 #CFD6E2)이라 판 바닥(--surf2 #EEF1F6) 위
        대비 1.36:1 — 데이터 막대가 배경 워시로 읽힘. → 계열색 --c4 로 교체(강조 해
        --acc·호버 --acc-i 기존 규칙은 특이도가 높아 그대로 이긴다).
     ② 수치가 말풍선(호버)에만 있어 미호버·터치에서 도형이 수를 못 말함.
        → 모듈 v1.1.0 이 track 상자+상시 값(b.year-histogram-column-value)을 세움.
   ■ 시안 원문(faithful :3235)도 같은 약한 설계였으나 사용자 지시가 시안을 이긴다.
   ■ 범례: 당시 modules.css SSOT 무접촉 원칙이라 여기서 세로로 덮었던 임시 패치.
     2026-08-25(43호) — modules.css SSOT 자체가 2열 격자로 정식 재설계돼 이 패치의
     존재 이유가 사라짐(gap 단축 속성이 격자 rows/columns-gap과 충돌할 위험도 있어)
     제거. 정본 = modules.css:6203 부근 .module-sources__legend. */
.year-histogram-column-track { position:relative; flex:1 1 auto; width:100%; min-height:0; display:flex; align-items:flex-end; }
.year-histogram-column-track .year-histogram-column-bar { flex:none; }
.year-histogram-column-value { position:absolute; left:50%; transform:translateX(-50%); font-size:13px; font-weight:800; line-height:1; color:var(--ink2); letter-spacing:-.02em; white-space:nowrap; pointer-events:none; }
.year-histogram-column-bar { background:var(--c4); }
@media (max-width:640px){ .year-histogram-strip--dense .year-histogram-column-value { display:none; } }

/* p25 — 연대 막대 상시 범례(위 숫자 뜻 자기 설명 · hub-era-bars v1.2.0 짝) */
.year-histogram-legend { margin:-4px 0 12px; font-size:13px; font-weight:600; color:var(--mut); line-height:1.45; }

/* ══════════════════════════════════════════════════════════════════════════════
   p28-d (2026-08-11) — 갤러리 칸·표 열 «사용자 지적» 수리 (B·C)
   전부 «부품 기준판»이다. 갈래(페이지 종류) 한정 오버라이드를 새로 만들지 않는다.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── B② 칸 전체가 언제나 링크 (.value-representative-card) ─────────────────────
   ■ 실측 «전» (1280px · 갤러리 3곳 18칸) — 칸전체링크 0/18. 갈 수 있는 자리는 그림뿐이라
     이름·배지·곁줄을 눌러도 아무 일이 없었다(사용자: 「썸네일 호버 때만 링크가 산다」).
   ■ 문법은 이 시트가 이미 쓰는 «덮개»를 그대로 가져온다 — 신규 발명 0.
        본보기 .denominator-labelled-row__hitarea (:10236) · .price-trend-line-hover-layer__hitarea (:1543)
     덮개가 칸을 통째로 덮고(z-index:1), 내용은 그 위(z-index:2)에 서되 클릭을 덮개로
     흘려보낸다. «그 위의 다른 링크»(무리 이름)만 다시 살아나므로 링크 중첩이 없다. */
.value-representative-card { position:relative; }
.value-representative-card .value-representative-card__hitarea { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.value-representative-card>*:not(.value-representative-card__hitarea) { position:relative; z-index:2; pointer-events:none; }
.value-representative-card a:not(.value-representative-card__hitarea) { pointer-events:auto; }
.value-representative-card:focus-within { outline:2px solid var(--acc); outline-offset:2px; }

/* ── B② 확장 — 카드가 링크일 때만 화살표 배지(→) (N25 사용자 지적: "링크 화살표 추가·여백 있음") ──
   ■ 왜 :has() 인가 ─ 이 화살표의 호스트(.value-representative-card)는 그 자신이 <a> 가 아니라
     덮개(§B②)를 «담는 상자»다. R52(:2957-2966)가 피한 :has() 는 «앵커 자신에 태그 자격을
     걸 수 있는 자리»(a.meta-tile 류) 얘기였고, 여기는 그 자리가 없다 — 대신 이 시트가 이미
     같은 뜻으로 쓰는 :has(a…) 판례(.gainers-losers-board__label li:has(a:hover) — :4260)를
     그대로 따른다(«새 문법 도입»이 아니라 기존 판례 재사용). 주소가 없는 줄은 PHP가 애초에
     덮개 <a> 를 안 내므로(위 hurl 조건) 이 선택자가 걸리지 않는다 — 거짓 화살표 0.
   ■ z-index:3 인 이유 ─ 이 카드는 perspective:700px(:9026) 로 이미 스택 맥락을 열어
     덮개(z:1)·내용(z:2) 두 켜를 쓴다. 화살표를 덮개(z:1) 안 ::after 로 넣으면 그 스택
     «밖»의 z:2 내용에 가려진다(자식은 자신이 속한 스택을 벗어나 위로 못 나간다) — 그래서
     화살표는 상자(.value-representative-card) 자신의 ::after 로 세우고 z:3 을 준다(같은
     스택 안에서 1·2·3 정수 비교만으로 항상 맨 위).
   ■ 여백 = padding-right 로 자리를 비운다(meta-tile 패턴 :459-461 과 같은 뜻) — 이름·배지
     글자가 배지 밑에 깔리지 않게 한다. */
.value-representative-card:has(> .value-representative-card__hitarea) { padding-right:34px; }
.value-representative-card:has(> .value-representative-card__hitarea)::after {
  content:"→"; position:absolute; top:14px; right:10px; z-index:3;
  display:grid; place-items:center; width:19px; height:19px; border-radius:50%;
  background:var(--acc-s); color:var(--acc-i); font-size:13px; font-weight:800; line-height:1;
  transition:transform .13s ease,background .13s ease,color .13s ease;
}
.value-representative-card:hover:has(> .value-representative-card__hitarea)::after,
.value-representative-card:focus-within:has(> .value-representative-card__hitarea)::after {
  background:var(--acc); color:#fff; transform:translateX(2px);
}

/* ── B① 테두리와 안쪽 카드 사이 여백 ───────────────────────────────────────────
   ■ 실측 «전» — padding:10px 8px 에 :hover 가 카드를 translateY(-13px) scale(1.06) 으로
     키운다. 커진 카드가 8px 짜리 옆 여백을 넘어 테두리에 «닿아» 보였다(사용자 지적).
   ■ 값은 발명하지 않는다 — 같은 시트의 카드 칸 여백 문법 .holo-thumb-popup-grid-cell(:7557)
     의 padding:8px 을 «사방 균일»이라는 뜻으로 가져오되, 이 칸은 그림이 세로로 커지므로
     세로에 그 두 배를 준다(커지는 방향에 자리를 준다는 같은 규칙의 적용). */
.value-representative-card { padding:16px 12px; }

/* ── B④ 무리 이름 = 그 무리 목록 페이지 링크 ──────────────────────────────────
   이름이 링크임을 «형태로» 말한다 — 밑줄은 글자를 덮지 않게 띄우고, 색은 칸의 강조색을 쓴다.
   (링크 신호 상시 표시 계보 :11673 와 같은 뜻 — 짚어야 나타나는 신호를 만들지 않는다.) */
.value-representative-card__name--link { color:var(--acc-i); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:color-mix(in srgb,var(--acc)55%,transparent); }
.value-representative-card__name--link:hover { text-decoration-color:var(--acc); }

/* ── C 표 열 정렬 — 머리는 전열 가운데 · 단문 값과 그림은 칸의 축에 선다 ────────
   ■ 실측 «전» (type/fire 표 5장) th 정렬 = left·right·left·right·left.
     「Regulation mark」의 값은 G·F·E·D 한 글자인데 왼쪽에 붙어 오른쪽이 텅 비었다.
   ■ 판정은 부품(cell-dex-table.php)이 «값을 보고» 한다 — 부르는 쪽이 열마다 적지 않는다.
     그래서 이 표를 쓰는 모든 자리에 같은 규칙이 걸린다.
   🩹 2026-08-13(p28-f) — 감싸개 이름에 매달아 두었던 것을 뗀다(조용한 회귀 수리)
     이 넉 줄은 원래 `.table-scroll-frame ⟩ …` 으로 시작했다. 그런데 p28-e 정식 수리에서
     표 조각의 감싸개가 표준 `.module-table__scroll-wrap` 으로 바뀌면서 그 조상이 사라졌고,
     선택자는 «문법상 멀쩡한 채로» 아무 표에도 안 걸리게 됐다 — C 수리(머리 가운데·단문 가운데·
     그림 가운데)가 화면에서 통째로 죽어 있었다는 뜻이다. 감싸개가 무엇이든 걸리도록 조상을 뗀다.
     🔒 이름 자체가 이미 좁다 — .table-header-centered · .table-compact-value-cell ·
        .table-picture-cell 은 표 조각(cell-dex-table.php)만 내는 이름이라, 조상 없이도
        번지지 않는다(census: 이 세 이름을 내는 다른 조각 0). */
th.table-header-centered { text-align:center; }
td.table-compact-value-cell { text-align:center; }
td.table-picture-cell { text-align:center; }
td.table-picture-cell>* { margin-inline:auto; }
/* 이름 열 링크 — 표 안에서도 «링크임»이 상시 보이게(짚어야 보이는 신호 금지). */
/* R78(2026-08-20 W3) 표 링크 밑줄 «반전» 수리 — R23(표·버튼 문맥 = 양 상태 밑줄 0)의 형제 누락.
   ■ 사용자 증상 — dex 셀의 희귀도 표·판본(Holo/reverse/plain) 표에서 «안 짚었을 때 밑줄 ·
     짚으면 밑줄 사라짐». 규칙이 정확히 거꾸로였다.
   ■ 뿌리(특이성 계산 · 실측) — 이 표의 링크는 <td> 안이라 표 링크 기준판을 함께 받는다:
       기본 : `table td a`(:10344 text-decoration:none · 0,0,3)  vs  이 줄(underline · 0,1,0)
              → 클래스가 이겨 «밑줄이 그려진다»
       호버 : 이 줄(0,1,0)  vs  `table td a:hover`(:10356 text-decoration:none · 0,1,3)
              → 이번엔 표 규칙이 이겨 «밑줄이 사라진다»
     한 클래스가 두 상태에서 서로 다른 상대에게 지면서 신호가 뒤집혔다.
   ■ 수리 — 밑줄 관련 네 선언(line·thickness·offset·color)을 전부 걷는다. 그러면 두 상태 모두
     :10344/:10356 의 «칩» 차림(안여백·테두리·바탕 + 밑줄 0)으로 통일되어 R23 확정 규칙과 맞고,
     같은 자리의 형제 `.tlink`(:10353·:10362 · 이미 양 상태 none)와도 생김새가 일치한다.
   🔒 색은 남긴다 — var(--acc-i) 는 표 링크 기준판이 쓰는 바로 그 색이라 값이 갈리지 않는다.
   🔒 호버 줄은 지운다 — `text-decoration-color` 만 바꾸던 줄이라 밑줄이 없어진 뒤엔 아무 일도
      하지 않는다. 호버 신호는 :10356 이 바탕·테두리·색으로 이미 준다(신호 손실 0).
   🔍 형제 전수(A-1) — 표 문맥 링크 중 «기본 밑줄»을 가진 클래스는 이 하나뿐이다(census 0건 잔여).
      산문 링크(.deep-dive-panel a :8408 등)는 R49 로 «밑줄 유지»가 정답이라 정당 예외로 제외했다. */
.table-group-name-link { color:var(--acc-i); }  /* R78(2026-08-20 W3) */

/* ── O 링크 신호 화살표 «한 종류» — 원 안에 화살표 든 칩 (p28-d · 사용자 확정) ────
   ■ census «전» (렌더 실측 · 셀 type/fire 1280px) — 한 화면에 네 가지 꼴이 섞여 있었다
       ⓐ .sibling-axis-link-card__arrow   19px 원형 칩 + ::after「→」   8지점
          └ 그중 cell-dex-links.php 만 칸 안에 갈매기 획(svg)을 «함께» 넣어 ▶ 와 → 가
            겹쳐 나왔다(사용자 지적). → 조각에서 획을 뗐다(위 파일 주석).
       ⓑ .row-entrance-arrow-badge        19px 원형 칩 + 글자「→」   54지점
       ⓒ .holo-thumb-popup-preview__go-arrow 19px 원형 칩            1지점
       ⓓ .badge-bar-row--link …::after    «맨 글자 →»(칩 없음)        6지점
       ⓔ 타일 6종 ::after                  «맨 글자 →» 오른쪽 아래 모서리
     ⓐⓑⓒ 는 이미 같은 칩(19px 원 · acc 계열)이다. 갈라진 것은 ⓓⓔ 뿐이라, 다수 문법인
     «원형 칩»으로 그 둘을 끌어온다 — 새 도형을 만들지 않는다.
   ■ 값의 출처 = .row-entrance-arrow-badge(:8078)·.sibling-axis-link-card__arrow(:7747)
     19×19 · border-radius 999px · font-size 13px · font-weight 800. 새 수치 0.
   🔒 뜻을 진 화살표(진화 방향 .evolution-chain-diagram-link__arrow · 대결
      .versus-compare-middle__arrow)는 «획»이다 — 여기서 건드리지 않는다(그 둘은 링크
      신호가 아니라 관계를 그리는 도형이고, 굵기가 뜻을 진다). */
.badge-bar-row--link .badge-bar-row__arrow::after {
  display: inline-grid; place-items: center;
  width: 19px; height: 19px; border-radius: 999px;
  margin-left: 0;
  background: var(--surf2); border: 1px solid var(--line2);
  color: var(--mut); opacity: 1;
}
.badge-bar-row--link:hover .badge-bar-row__arrow::after,
.badge-bar-row--link:focus-within .badge-bar-row__arrow::after {
  background: var(--acc); border-color: var(--acc); color: #fff; opacity: 1;
}
.module-stat-card::after,
.cross-axis-summary-link::after, .marketplace-offer-card::after {
  display: grid; place-items: center;
  width: 19px; height: 19px; border-radius: 999px;
  background: var(--acc-s); color: var(--acc-i); opacity: 1;
}
/* F1-범위(2026-08-23 눈검수 재지적) — 마켓플레이스 카드는 «See listings» 버튼(.marketplace-offer-card-visit-button)이
   이미 링크 신호라, 카드 `<a>` 자체의 링크 화살표(::after "→")가 버튼 위에 «겹쳐» 보였다.
   버튼 있는 카드는 화살표 불필요(체크리스트 확정) → 마켓 카드만 화살표 제거(cross-axis-summary-link 등 공유
   선택자의 화살표는 유지). content:none 이 가상요소를 아예 생성 안 함(0,1,1·나중 규칙이라 이김). */
.marketplace-offer-card::after { content: none; }

/* about 커버리지 stat 카드(2026-08-24) — .module-stat-card__go::after 가 이미 "See details →"
   텍스트 화살표로 링크 신호를 지고 있어, 공유 선택자의 원형 화살표 배지(위 :12662·:12711·:13329,
   19px 원+"→")가 카드당 화살표 «둘»로 겹쳐 보였다. 바로 위 마켓플레이스 카드(§F1)와 같은 처방을
   그대로 쓴다 — content:none 이 가상요소 자체를 안 만든다(0,1,1·나중 규칙이라 이김).
   🔒 .module-stat-card--link 로만 좁힌다(현재 stat 카드 실사용 = about 커버리지뿐이라 안전) —
      cross-axis-summary-link·marketplace-offer-card 등 다른 공유 선택자·다른 카드 종류는 무영향. */
.module-stat-card--link::after { content: none; }

/* 70호(2026-08-28 지휘자 실측+사용자 눈검수) — cross-axis-summary-link 도 «같은 결함 클래스».
   바로 위 두 처방(§F1 마켓플레이스·about stat 카드)이 명시적으로 "cross-axis-summary-link
   등 공유 선택자의 화살표는 유지"라 적어 두었던 것이 바로 그 census 누락 지점이었다 — 이
   컴포넌트는 :10949 `.cross-axis-summary-link__group::after`(원형 배지 20px·이 컴포넌트
   전용·card-app.php 설계 원본)를 이미 갖고 있어, 공유 선택자의 원형 화살표(위 :13557)가
   «같은 모양·다른 자리»로 겹쳐 원이 둘로 보였다(마크업엔 화살표 요소가 없다 — 둘 다
   CSS ::after). 남기는 쪽 = __group::after(이 컴포넌트 전용 원본 장치·card-app.php 헤더
   주석이 설계 의도로 명시) — 지우는 쪽 = 공유 선택자(다른 컴포넌트를 위해 나중에 덧댄 것).
   같은 처방(content:none·나중 규칙이라 이김)을 그대로 적용 — marketplace-offer-card·
   module-stat-card--link 등 다른 공유 선택자 멤버는 무영향. */
.cross-axis-summary-link::after { content: none; }

/* 심플 정보 페이지 공용 우측 사이드바 «info-sidebar» — 완전 native(2026-08-24 재확정⑧ 사용자
   확정: 구 테마 잔존 요소 상속 «금지» — cw 워프 php 기반이 아니라 git+cf 플랫폼 시스템).
   render-page.php 가 generate_after_primary_content_area 에서 <aside class="info-sidebar"> 를
   «직접» 낸다 — GP 사이드바 기계(generate_sidebar_layout 강제·#right-sidebar·
   .inside-right-sidebar{margin-top:20px}·.widget)는 아예 안 쓴다: 숨은 GP 규칙이 걸릴 마크업
   자체가 없다(중화·역보정 계산 폐기). 헤더·메뉴·푸터와 동급 «범용 크롬 컴포넌트»(전 사이트 공용).
   구성 = AdSense sidebar-top 자리(승인 전=core/ads 슬롯 미설정 dormant) + 페이지별 링크 패널.
   폭 320px 고정(재확정④ — 라운드·링크용 narrow·세로 애드센스 300 여유). GP 커스터마이저
   사이드바 30% 공용값과 무관(가상 스포크 페이지 무영향 — 이 컴포넌트는 그 체계 밖).
   sticky — N38(.calculation-basis-aside)·N22(.guide-page-sidebar)와 같은 --chrome-h SSOT
   재사용(신규 변수 발명 0·:1588-1589 정의 그대로).
   정렬(재확정⑨ — 사용자 DOM «최종» 확정 2026-08-24): 사이드바 윗변 == «article › .inside-article
   본문 박스 윗변»(⑧의 .entry-content 지점은 브레드크럼 음수마진 붕괴로 브레드크럼 높이와 같아져
   사용자 의도와 어긋났음 — 본문 «박스» 윗변이 정답). 실측(뷰포트 1400·표본17): .site-content top
   대비 article 박스 top = +20px → .info-sidebar 자체 margin-top:20px 로 같은 y. 판정식① =
   |.info-sidebar top − article top| = 0(스크롤 0 — 00-공통/_도구/browser-automation/
   compare-gap.js 실측). 본문-사이드바 «사이 여백» = 20px(사용자 확인 «그게 20px였어?» — 구판
   실측 정확히 20px. 출처였던 GP right-sidebar 레이아웃의 site-main margin-right 는 폐기하고
   «우리 규칙» column-gap:20px 이 진다·판정식② = 사이드바 left − article right = 20).
   브레드크럼 좌열 원위치 그대로(상단 회귀 0). */
/* 눈검수 37호(2026-08-25) — 모바일 스택 여백 명시 계약. 실측: .site-footer에는 상단 여백
   계약이 어디에도 없었다(item-modules.css·components.css·modules.css·셸 HTML 전수 grep 0건) —
   본문/사이드바 하단이 우연히 그 아래 요소 여백에 기대 있었을 뿐. margin-bottom을 «컨테이너»
   (.site-content) 에 줘 데스크톱(행 방향)·모바일(열 방향) 모두 일관되게 적용한다(자식 중
   하나에만 주면 flex 다른 자식이 더 길 때 무효가 될 수 있어 컨테이너 계약으로 확정). */
body.has-info-sidebar .site-content { display: flex; align-items: flex-start; column-gap: 20px; margin-bottom: 20px; }
/* 42호 재수리(2026-08-25 사용자 제보) — .separate-containers.no-sidebar .site-main{margin-bottom:20px}
   (modules.css:14468, 무조건)과 위 줄이 has-info-sidebar 페이지에서 같이 걸려 20+20=40px
   중첩(실측: 본문 last-content→푸터 40px vs /cards/ 20px). 컨테이너(site-content) 쪽 계약이
   37호가 의도한 SSOT라 안쪽(site-main) 몫을 0으로 — 여백 출처 1곳으로 통일. */
body.separate-containers.no-sidebar.has-info-sidebar .site-main { margin-bottom: 0; }
/* 🔴 2026-08-25 사후 발견 — flex:1 1 auto + min-width:0 만으로는 표(min-content 폭이 안
   줄어드는 요소) 하나가 안 안에 있을 때 이 칼럼 자체가 여전히 표 폭까지 부풀었다(실측:
   뷰포트 390px인데 이 칼럼이 1267px — 표 안 .module-table__scroll-wrap의 overflow-x:auto가
   무력화돼 «표 안 스크롤» 대신 «페이지 전체 가로 스크롤»로 샘). overflow-x:hidden을 이 칼럼
   자체에 걸어 «내가 진짜 담을 수 있는 폭»을 강제 — 그 안의 overflow-x:auto 요소(표 감싸개)가
   비로소 «자기 폭 안에서» 스크롤을 낸다(중첩 overflow 표준 동작). 세로 잘림 없음(overflow-x만
   지정 — overflow-y는 건드리지 않음, 시각 콘텐츠 손실 0). */
body.has-info-sidebar .site-content .content-area { flex: 1 1 auto; width: auto; min-width: 0; overflow-x: hidden; }
/* 🚨 2026-08-27 54호 3차 수리 — 위 :13420 주석과 «같은» 결함이 has-info-sidebar 없는
   순수 no-sidebar 페이지(예 카드 스펙 페이지 /en/pokemon/card/{slug}/, body 클래스=
   "separate-containers no-sidebar spoke-page")에도 있었다. 실측(me2-125, 1400px 뷰포트):
   .site-content 는 정상(1300px)인데 그 자식 .content-area 가 1674px — min-width:auto
   기본값 때문에 안의 min-content 폭이 안 줄어드는 요소(축 산포도 차트 svg 등)가 있으면
   플렉스 부모보다 자식이 더 넓어진다(플렉스박스 고전 함정 — has-info-sidebar 쪽만 이미
   막혀 있었고 no-sidebar 쪽은 이번에 처음 발견). 같은 처방(min-width:0+overflow-x:hidden)
   을 no-sidebar 에도 건다 — has-info-sidebar 규칙과 겹쳐도 같은 값이라 충돌 없음(두 클래스가
   동시에 붙는 42호 조합 페이지는 이미 위 규칙 하나로 충분히 커버되고 있었다). */
body.no-sidebar .site-content .content-area { flex: 1 1 auto; width: auto; min-width: 0; overflow-x: hidden; }
.info-sidebar {
  flex: 0 0 320px; width: 320px; margin: 20px 0 0; padding: 0;
  position: sticky; top: calc(var(--chrome-h, 96px) + 16px);
  max-height: calc(100vh - var(--chrome-h, 96px) - 32px); overflow: auto;
}
/* 패널 공통 — GP .widget 상속 폐기: 승인된 look(흰 박스·내부 패딩 16px — 재확정⑤ 12→16px)을
   자기 규칙으로 진다(단독 완결). 광고 자리는 패널 래퍼 없이 자기 점선 박스(아래 §AdSense). */
/* 39호 재조정(2026-08-25 사용자 지적 — «정보 영역이 뚜렷한 박스가 아니다») — 모두의카드
   «TOP 인기 글» 위젯 실측 대조: 그쪽은 페이지 배경(rgb(247,248,249))과 흰 패널의 미세한
   명도차 하나로만 구분한다(테두리·그림자 0). 우리 페이지 배경은 그 미세차조차 없어(완전
   투명 상속) 같은 방식이면 패널이 아예 안 보인다 — 그래서 테두리+그림자를 자체 계약으로
   추가해 페이지 배경색과 무관하게 항상 뚜렷한 박스가 되도록 한다(참조=바닥·복제 아니라
   상향: 배경색 의존 없는 더 견고한 방식). 색은 기존 사이트 토큰(--line2) 그대로. */
.info-sidebar__panel {
  background: #ffffff; padding: 20px; margin: 0 0 20px;
  border: 1px solid var(--line2, #CFD6E2);
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(15,23,42,.06);
}
.info-sidebar__panel:last-child { margin-bottom: 0; }
/* 39호 — 패널 제목↔목록 구분선(2026-08-25 사용자 지적 — 모두의카드 실측: 제목 border-bottom
   2px solid 파랑 + padding-bottom 8px + margin-bottom 16px). 색만 우리 accent 토큰으로 대체
   (리터럴 파랑 복제 아님 — 이미 이 패널의 호버 신호·화살표가 쓰는 같은 accent). */
.module-sidebar-links__title {
  font-size: 20px; font-weight: 400; line-height: 1.5; color: var(--contrast,#222222);
  margin: 0 0 16px; padding-bottom: 8px;
  border-bottom: 2px solid var(--accent,#1e73be);
}
@media (max-width: 768px) {
  /* 37호 — column-gap은 열 방향(세로 스택)에서 무효라 본문↔사이드바 간격이 "명시 계약 0"이었다
     (푸터처럼 우연 의존). row-gap을 별도로 명시(column-gap과 공존 가능·행 방향 회귀 없음 —
     row-gap은 flex-direction:row일 때 행이 하나뿐이라 애초에 적용 대상이 없다). */
  body.has-info-sidebar .site-content { flex-direction: column; row-gap: 20px; }
  .info-sidebar { width: 100%; flex-basis: auto; margin-top: 0; position: static; max-height: none; overflow: visible; }
  /* 🔴 2026-08-25 사후 발견(45호 모바일 스크린샷 확인 중 — 표 있는 가이드 페이지 전체가 가로
     스크롤됨, body scrollWidth 1267px @ 390px 뷰포트). 원인 = flex-direction:column 에서
     width/flex-basis(교차축) 는 flex:1 1 auto(주축=height 전용 축약)로 안 잡힌다 — 사이드바는
     이 블록에서 이미 width:100%를 명시해 뒀는데 .content-area 는 빠져 있었다(짝 누락).
     그 결과 폭 제약이 없어 안의 표(min-content 폭 1245px)가 이 칼럼을 그 폭까지 부풀렸고,
     block .content-area(min-width:0 명시에도 «교차축»이라 무관)→.entry-content→… 전체가
     따라 늘어나 페이지 전체가 가로로 밀림. .info-sidebar 와 같은 패턴으로 명시. */
  body.has-info-sidebar .site-content .content-area { width: 100%; flex-basis: auto; }
}
/* 애드센스 자리표시(점선 박스·.module-ad-slot--sidebar-top)=눈검수 PASS 후 제거(2026-08-24
   사용자 지시 — 위치 확인용이었음). 실 광고 = 승인 후 core/ads 슬롯이 낸다(where=sidebar-top).
   🔒 확정 스펙 유지(재확정④): 폭만 고정(320 안 full-width)·세로 길이 제한 금지·반응형
   vertical(구글 공식 — 반응형 광고를 고정/제한 높이 컨테이너에 두면 안 됨·adsense/answer/9183362).
   전체 안전장치 = .info-sidebar 의 max-height/overflow:auto. */
.module-sidebar-links ul { margin: 0; padding: 0; list-style: none; }
/* 39호 재조정(2026-08-25) — 항목 간 리듬을 모두의카드 실측(18px)에 근접 상향(기존 6px는
   과밀·판정표 «간격 리듬» 축 기준). */
.module-sidebar-links li { margin: 0 0 16px; }
.module-sidebar-links li:last-child { margin-bottom: 0; }
/* 눈검수 39호(2026-08-25 재계산) — 아이콘 크기 계약 = «오른쪽 텍스트 2줄(제목+가치문구)
   블록 높이»에 자동 종속(고정 px 아니라 계산식 — 글자 계약이 바뀌면 아이콘도 따라간다).
   글자 계약(사용자 확정, 사이트 본문 실측 16px 기준): 제목 = 본문과 동일 16px(실측:
   .entry-content p → 16px/24px), 가치문구 = 15px(«한 단계 작게» 취소 지시 — 13px급 축소 대신
   15px, 제목과 구분은 색(--contrast-2)+굵기로 유지). 2줄 블록 원본 높이 ≈ 47.4px.
   🔴 39호 미세 조정(2026-08-25 사용자 — «본문 집중도가 떨어짐, 조금만 줄이면 될 것 같아»):
   풀 사이즈(100%)가 시선을 사이드바로 과하게 끌어 «본문 우위» 위계와 어긋남 — 82%로 축소
   (지시 범위 80~85% 안). 칼럼 폭·수직 중앙 정렬은 calc 안이라 자동으로 따라간다(값 하나만
   변경 — 구조 불변). 글자 굵기·박스·색은 이번 조정 범위 밖(사용자 확정 — 현상 유지). */
.module-sidebar-links {
  --sbl-label-fs: 16px; --sbl-label-lh: 1.4;
  --sbl-value-fs: 15px; --sbl-value-lh: 1.4;
  --sbl-text-gap: 4px;
  --sbl-icon-size: calc((var(--sbl-label-fs) * var(--sbl-label-lh) + var(--sbl-text-gap) + var(--sbl-value-fs) * var(--sbl-value-lh)) * 0.82);
}
/* 39호(2026-08-25) — 아이콘↔텍스트 간격 확대(모두의카드 실측 10px/40px칸 대비, 우리 칸이
   커진 만큼 넉넉히 16px). 호버 신호 = 배경 틴트 + 우측 화살표(기존 프로젝트 링크 신호 관례
   — 색만으로 부족·항상 시각 장치 병행). 수직 정렬 = center(아이콘이 텍스트 2줄 블록과 높이가
   같아 상단 정렬(flex-start) 대신 중앙이 자연스럽다). */
.module-sidebar-links a { display: flex; align-items: center; gap: 16px; padding: 8px; margin: 0 -8px; border-radius: 8px; text-decoration: none; color: inherit; position: relative; }
.module-sidebar-links a:hover, .module-sidebar-links a:focus-visible { background: var(--surf2, rgba(0,0,0,.04)); }
.module-sidebar-links a::after { content: "→"; position: absolute; right: 10px; top: 50%; transform: translate(4px,-50%); opacity: 0; transition: opacity .15s, transform .15s; color: var(--accent,#1e73be); }
.module-sidebar-links a:hover::after, .module-sidebar-links a:focus-visible::after { opacity: 1; transform: translate(0,-50%); }
/* 아이콘 «칼럼»(고정 폭 슬롯) — 이모지(정사각)·사진(세로형 카드 비율) 폭이 달라도 이 슬롯
   폭이 통일이라 오른쪽 텍스트 시작선이 항목마다 흔들리지 않는다(2026-08-25 사용자 지적).
   현재 라이브 데이터는 전부 이모지(아래 --icon--photo 참조)라 항상 정사각으로 보이지만,
   슬롯 자체는 폭이 다른 자식도 대비해 둔 계약. */
.module-sidebar-links__icon-slot { flex: 0 0 var(--sbl-icon-size); width: var(--sbl-icon-size); height: var(--sbl-icon-size); display: flex; align-items: center; justify-content: center; }
.module-sidebar-links__icon { width: var(--sbl-icon-size); height: var(--sbl-icon-size); }
.module-sidebar-links__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: var(--sbl-text-gap); padding-right: 16px; }
.module-sidebar-links__label { font-size: var(--sbl-label-fs); font-weight: 700; line-height: var(--sbl-label-lh); color: var(--contrast,#222222); }
.module-sidebar-links a:hover .module-sidebar-links__label, .module-sidebar-links a:focus-visible .module-sidebar-links__label { color: var(--accent,#1e73be); }
.module-sidebar-links__value { font-size: var(--sbl-value-fs); line-height: var(--sbl-value-lh); color: var(--contrast-2,#575760); }
.module-sidebar-links__group { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--contrast-2,#575760); margin: 16px 0 8px; }
.module-sidebar-links__group:first-child { margin-top: 0; }
/* 39호 — 아이콘 슬롯 이중 타입 중 image(콘텐츠 목적지의 대표 카드 썸네일). 🔒 2026-08-25
   사용자 판정으로 «현재 소형 슬롯에서는 미사용»(썸네일이 작아 카드 식별 불가·이모지가 시각
   앵커로 더 명확) — 그러나 코드·CSS 계약은 대형 슬롯(추후 카드 그리드형 재사용) 대비 존치.
   폭은 세로형 카드 실측 비율(245:337) 그대로 — 크롭·왜곡 금지(높이만 아이콘 계약에 맞추고
   가로는 비율 따라 자동 축소, 정사각 슬롯 안에서 가운데 정렬). */
.module-sidebar-links__icon--photo { width: calc(var(--sbl-icon-size) * 0.7270); height: var(--sbl-icon-size); object-fit: contain; border-radius: 4px; }
.module-stat-card:hover::after,
.cross-axis-summary-link:hover::after, .marketplace-offer-card:hover::after,
.module-stat-card:focus-visible::after, .cross-axis-summary-link:focus-visible::after,
.marketplace-offer-card:focus-visible::after { background: var(--acc); color: #fff; opacity: 1; }

/* ── P·Q 이웃 사다리 행 (.gap-bar-panel .denominator-labelled-row) ─────────────
   ■ 실측 «전» (1280px · 셀 type/fire 「Ranked by how many cards exist」)
       행의 격자 = minmax(0,1.6fr) 108px 104px 72px minmax(0,1.3fr) 104px  ← 여섯 칸
       그런데 이 조각이 내는 자식은 «셋»(이름·막대·값)이다. 남는 세 칸이 빈 폭으로 남고,
       값은 104px 짜리 칸에 갇혀 「2,335」+「95.9% of the baseline」이 세 줄로 꺾였다.
       ▶ 여섯 칸 격자는 이 이름을 함께 쓰는 «판매처 행»(.print-variant-offer-row)의 것이다.
         한 이름이 두 판을 겸하면서 이쪽 판의 자식 수와 안 맞았다 — 이 판에만 제 격자를 준다.
   ■ 「막대의 뜻을 모르겠다」(사용자) — 값이 막대에서 멀리 떨어진 별도 열에 있었다.
     값을 «막대 끝»에 붙이면 길이와 수치가 한 몸으로 읽힌다(눈이 둘을 다시 잇지 않는다).
   ■ P 행 전체 링크 — 덮개 규칙(:10236)은 이미 있었고 마크업만 없었다. 조각이 이제 낸다.
   🔒 판매처 행(.print-variant-offer-row)은 이 규칙에 안 걸린다 — 선택자가 사다리 판 안으로
      한정돼 있다(같은 이름을 쓰는 다른 판 회귀 0). */
.gap-bar-panel .denominator-labelled-row {
  grid-template-columns: minmax(0,1fr) minmax(0,2.2fr);
  cursor: pointer;
  /* W4-R47②(2026-08-20) 이중 테두리 — 확정 원칙대로 «안쪽»을 뗀다.
     바깥 판 .gap-bar-panel(:9639 border:1px solid var(--line2))이 이미 상자를 지는데 그 안의
     줄이 또 제 테두리를 둘러 선이 두 겹으로 보였다. 바깥은 그대로 두고 안쪽만 없앤다(A-5).
     🔒 스코프 = .gap-bar-panel 안뿐 — 같은 이름을 쓰는 다른 지면(카드 이웃 사다리 등)의
        .denominator-labelled-row 는 이 조건에 안 걸려 종전 그대로다(회귀 0). */
  border: 0;
}
.gap-bar-panel .denominator-labelled-row:not(:has(.denominator-labelled-row__hitarea)) { cursor: default; }
.gap-bar-panel .denominator-labelled-row__bar {
  display: flex; align-items: center; gap: 8px;
  height: 22px; overflow: visible;
  /* 🔑 값 칩 자리를 «안여백»으로 먼저 뗀다 — 그러면 트랙의 «내용 상자»가 곧 눈금의 100%가
     되어, 채움을 잘라 내지 않고도 칩이 언제나 트랙 안에 선다.
     ▶ 잘라 내기(max-width)로 하면 위쪽 세 무리가 전부 같은 길이로 뭉개진다(실측: 2,435·
       2,387·2,335 가 셋 다 90.03%). 길이 차가 사라지면 막대가 할 말을 잃는다. */
  padding-right: 78px;
  position: relative;
  z-index: 0;
  background: transparent;   /* R59(2026-08-17 수리2) — 트랙 배경은 이제 ::before 가 낸다(아래) */
}
/* R59(2026-08-17 수리2) — 트랙 배경 라운드 좌우 비대칭 수리.
   ■ 증상 실측 — 이 트랙은 padding-right:78px + background-clip:content-box 로 «내용 상자»만
     칠했다(위 주석). 그런데 패딩(78px)이 반경(99px 선언값·실제로는 높이 22px 의 절반=11px 로
     상한)보다 훨씬 커서, 브라우저가 background-clip:content-box 의 모서리를 계산할 때
     «내용 상자 우측 모서리»의 곡률을 0으로 접는다 — 좌측(패딩 0)은 둥글고 우측(패딩 78px)만
     직각으로 보이는 이유가 이것이다.
   ■ 해법 — 트랙 배경을 부모의 padding/clip 에 얹지 않고 «독립된 사각형»(::before)으로 뗀다.
     이 사각형은 제 몸에 패딩이 없으므로 border-radius:99px 이 좌우 모서리에 그대로 걸린다.
     칩 자리(78px)는 inset 의 right 값으로 그대로 승계 — 채움 막대(<i>, 아래 규칙)의 --w 계산
     기준(부모의 content-box 너비)도 그대로다(패딩을 그대로 두었으므로 회귀 0).
   ■ 쌓임 순서 — <i>(채움)·<b class="…bar-value">(값 칩)은 위치 지정 없는 일반 흐름 자식이라
     z-index:-1 가상요소보다 항상 위에 그려진다(CSS 스택 규칙 — 위치 없는 인라인/블록 콘텐츠는
     음수 z-index 요소보다 나중에 그려짐). 부모에 z-index:0 을 주어 그 안에서만 쌓이게 가둔다
     (음수 z-index 가 바깥 형제 요소 뒤로 새는 것 방지). */
.gap-bar-panel .denominator-labelled-row__bar::before {
  content: "";
  position: absolute;
  inset: 0 78px 0 0;
  border-radius: 99px;
  background: var(--line2);
  z-index: -1;
  pointer-events: none;
}
.gap-bar-panel .denominator-labelled-row__bar > i {
  flex: 0 0 var(--w); width: auto; height: 11px; border-radius: 99px;
}
.gap-bar-panel .denominator-labelled-row__bar-value {
  flex: 0 0 auto; font-size: 15px; font-weight: 800; letter-spacing: -.02em;
  line-height: 1; white-space: nowrap; color: var(--ink);
}
.gap-bar-panel .denominator-labelled-row--current .denominator-labelled-row__bar > i { background: var(--acc); opacity: 1; }
.gap-bar-panel .denominator-labelled-row--current .denominator-labelled-row__bar-value { color: var(--acc-i); }
.gap-bar-panel .denominator-labelled-row__value { white-space: nowrap; }
.gap-bar-panel .denominator-labelled-row__value em { display: inline; }
/* 「지금 이 자리」 — 링크가 없는 까닭을 글자로 말한다(빈 자리로 두면 고장으로 읽힌다). */
.denominator-labelled-row__here { display:inline-block; margin-left:7px; font-size:13px; font-weight:700; color:var(--acc-i); background:var(--acc-s); border-radius:999px; padding:1px 8px; white-space:nowrap; }
/* 기준 행 표식 — 「baseline」 이라는 말은 눈금의 분모인 한 행에만 남는다. */
.denominator-labelled-row--baseline .denominator-labelled-row__value em { color:var(--mut); }
@media (max-width:640px) {
  .gap-bar-panel .denominator-labelled-row { grid-template-columns: minmax(0,1fr); }
  .gap-bar-panel .denominator-labelled-row__bar { grid-column: 1; order: 3; }
}
/* 기준 행 표식 — 이름 칸 안에 두어 막대 트랙 폭이 행마다 갈리지 않게 한다(위 주석). */
.denominator-labelled-row__baseline-tag { display:inline-block; margin-left:7px; font-size:13px; font-weight:600; color:var(--mut); white-space:nowrap; }

/* ── N 이웃 순위 목록 폭 (.ranked-thumbnail-list-rank-row-link) ────────────────
   ■ 실측 «전» (1280px · 셀 type/fire 「How Fire compares with the other types」 11줄)
       목록 상자 폭 1205 · 그런데 «행» 폭은 470.38 — 본문의 39% 만 쓰고 좌우가 비었다
       (사용자: 「의도한거야?」 → 결함 판정).
   ■ 뿌리 = 세로 흐름 상자에 걸린 align-items:center (:9352)
       세로 flex 에서 align-items 는 «가로»를 정한다. center 는 각 행을 «제 내용만 한 폭»으로
       줄여 가운데 세운다. 목록의 행은 표의 줄과 같아서 폭이 같아야 서로 견줄 수 있는데,
       그 규칙이 행마다 폭을 다르게 만들 수 있는 자리에 있었다.
   ■ 고치는 법 = stretch (세로 흐름 상자의 기본값) — 새 값 0. 행이 상자 폭을 채운다.
   ■ 함께: 늘어난 폭은 «막대»가 받는다. 이 목록의 본질은 값 비교이고(11 무리의 값 사다리),
     막대가 길수록 길이 차가 읽힌다. 상한만 168 → 320 으로 올린다(하한 120 은 그대로 —
     좁은 화면 회귀 0). 막대 문법 자체는 이미 «값 비례 + 주인공 행 강조»라 새로 만들 것이 없다. */
.ranked-thumbnail-list-rank-row-link { align-items: stretch; }
.ranked-thumbnail-list-rank-row { grid-template-columns: 34px minmax(0,1fr) minmax(120px,320px); }

/* ── D 도넛 크기 = 범례 높이 연동 (.composition-donut-ring-box) ────────────────
   ■ 실측 «전» (p28-c 인수인계 · 1280px) — 고리 132×132 «고정» vs 범례 296.64 / 186.95
       높이차 최대 +164.64px. 항목이 열한 줄이면 범례만 길게 자라고 고리는 그대로라,
       왼쪽에 빈 자리가 크게 남고 그림이 «곁다리»처럼 보였다. 도넛은 그 구역의 주인공인데
       크기가 내용과 무관하게 못 박혀 있었던 것이다.
   ■ 규칙 — 데스크톱 2열에서 «도넛 열이 범례 높이만큼 늘어난다»
       ⓐ 상자를 stretch 로 두어 두 열의 높이를 맞춘다(기존 center 는 짧은 쪽을 띄웠다).
       ⓑ 고리는 그 높이를 받되 «정원»을 지킨다 — aspect-ratio 1/1 이 폭을 높이에서 끌어온다.
       ⓒ 상한 clamp — 범례가 아주 길어도 고리가 본문을 삼키지 않게 한다. 상한에 닿으면
          제 열 안에서 «세로 가운데»에 선다(빈자리가 위아래로 갈려 한쪽으로 안 쏠린다).
       ⓓ 하한 = 현행 132px — 범례가 짧은 자리에서는 «변화 0»이다(회귀 없음).
   ■ 모바일(세로로 쌓이는 폭)은 현행 그대로 — 위아래로 서면 높이를 맞출 상대가 없다.
   🔒 값의 출처: 하한 132 = 이 이름이 이미 지고 있던 width/height. 상한 260 = 이 상자의
      2열 배치에서 범례 최소폭(200px·:7510)을 지키면서 고리가 가질 수 있는 폭의 실측 한계. */
@media (min-width:721px) {
  /* 2열 배치를 격자로 세운다 — flex 에서는 «자동 여백»이 stretch 를 꺼 버려(사양)
     「늘어나되 상한에 닿으면 가운데」를 한 규칙으로 쓸 수 없다(p28-d 실측: 고리가 132 로
     그대로 남았다). 격자에서는 그 관용구가 그대로 동작한다.
     🔒 수치판이 함께 서는 3열 변종(.composition-donut-stat-panel)에는 걸지 않는다 — 그 판은
        제 배치가 따로 있다(:11071 .visual-block-box--split). */
  .composition-donut-ring-box:not(:has(.composition-donut-stat-panel)) {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: stretch;
  }
  /* N27(2026-08-23) — 범례 % 값이 틀 밖으로 넘치는 결함의 진짜 원인: 위 트랙이
     minmax(200px,1fr)였을 때 200px 하한이 «좁은 박스»(사이드바 등으로 박스 자체가
     좁아진 폭. 뷰포트가 아니라 박스의 실제 가용폭이 기준)에서 안 줄어들어 그리드가
     박스 테두리를 뚫고 나갔다(실측: 1200px 뷰포트에서 트랙 132px+200px=332px+gap18=350px가
     콘텐츠폭 326px을 24px 초과 → 값 우측 끝이 박스 테두리 밖 7px). :7511 의
     .composition-donut-legend{min-width:200px}가 그리드 항목 자체의 최소폭으로도
     남아 트랙을 0으로 낮춰도 막지 못하므로 이 컨텍스트에서만 0으로 재정의한다. */
  .composition-donut-ring-box:not(:has(.composition-donut-stat-panel)) > .composition-donut-legend {
    min-width: 0;
  }
  .composition-donut-ring-box:not(:has(.composition-donut-stat-panel)) > .composition-donut-ring {
    /* 🔑 «자동 여백»으로는 안 된다 — flex 든 grid 든 자동 여백이 있으면 늘어나기(stretch)가
       꺼진다(사양). 격자에서는 백분율 높이가 «칸 높이»로 풀리므로 그 길을 쓴다:
       height:100% 가 범례가 정한 줄 높이를 받고, 상한이 그것을 자르고, align-self 가
       잘린 뒤 남은 자리에서 가운데로 세운다. 세 규칙이 서로를 안 끈다. */
    width: auto; height: 100%;
    aspect-ratio: 1 / 1;
    min-width: 132px; min-height: 132px;
    max-width: 260px; max-height: 260px;
    align-self: center;
  }
  .composition-donut-ring-box:not(:has(.composition-donut-stat-panel)) > .composition-donut-legend { align-self: center; }
}

/* ══ 🔧 p28-f(2026-08-13) S — 카드 격자: 알맹이가 칸보다 적을 때 «빈자리»를 남기지 않는다 ══
   ■ 사용자 지적 = «share a name across several printings» 무리가 판본 두 장뿐인데 칸은 셋이라
     한 칸이 비어 보인다. 실측(cell set sv4pt5):
        1280px  열 6 · 카드 2 → 빈 칸 4 · 칸폭 192.66px
         390px  열 3 · 카드 2 → 빈 칸 1 · 칸폭 103.33px  ← 카드가 작아지기까지 한다
   ■ 왜 생기나 — 이 격자는 열 수를 «화면 폭»만 보고 정한다. 이름으로 묶은 무리는 두 장이 예사라
     폭이 정한 칸 수가 알맹이보다 많아지고, 그 차이가 오른쪽 빈자리로 남는다.
   ■ 수리의 두 축 — ① 칸 수를 알맹이 수까지만 만든다(조각이 data-cells 로 적어 준다)
                    ② 그렇다고 두 장이 화면을 반씩 나눠 갖게 두지는 않는다. 카드가 570px 로
                       부풀면 그것대로 결함이라, 칸 폭에 상한(196px)을 두고 «가운데»에 모은다.
     그래서 두 장은 제 크기 그대로 나란히 서고, 남는 폭은 좌우로 갈려 빈자리로 읽히지 않는다.
   🔒 상한 196px = 이 시트가 이미 쓰는 값이다(.axis-card-grid minmax(196px,1fr)) — 새 값 0.
      기본 칸폭(1280px 에서 192.66px)과 사실상 같으므로 «카드 크기는 안 변한다».
   🔒 칸이 다 찬 격자(알맹이 = 열 수)는 이 규칙에 걸리지 않는다 — 6장짜리 띠·50장 목록 회귀 0.
   🔒 각 폭 구간마다 «그 구간의 열 수보다 적은» 수만 적는다. 열 수 이상을 적으면 좁은 화면에서
      칸이 도리어 늘어나 카드가 뭉개진다(예: 390px 에 넉 장을 한 줄로 세우면 85px). */
.holo-thumb-popup-grid[data-cells="1"],
.holo-thumb-popup-grid[data-cells="2"],
.holo-thumb-popup-grid[data-cells="3"],
.holo-thumb-popup-grid[data-cells="4"],
.holo-thumb-popup-grid[data-cells="5"] { justify-content:center; }
.holo-thumb-popup-grid[data-cells="1"] { grid-template-columns:repeat(1,minmax(0,196px)); }
.holo-thumb-popup-grid[data-cells="2"] { grid-template-columns:repeat(2,minmax(0,196px)); }
.holo-thumb-popup-grid[data-cells="3"] { grid-template-columns:repeat(3,minmax(0,196px)); }
.holo-thumb-popup-grid[data-cells="4"] { grid-template-columns:repeat(4,minmax(0,196px)); }
.holo-thumb-popup-grid[data-cells="5"] { grid-template-columns:repeat(5,minmax(0,196px)); }
/* ⚠️ 되돌리는 줄을 «빠짐없이» 적어야 한다 — 수를 적은 선택자가 폭만 보는 기본 규칙보다
      힘이 세므로(속성 선택자), 좁은 구간에서 되돌리지 않으면 넉 장짜리 격자가 390px 화면에서도
      네 줄기로 서서 칸이 85px 로 뭉개진다. 그래서 «그 구간의 열 수 이상»인 수는 전부 되돌린다. */
@media (max-width:1100px) {                       /* 이 구간의 열 수 = 4 → 1~3 만 상한 적용 */
  .holo-thumb-popup-grid[data-cells="4"],
  .holo-thumb-popup-grid[data-cells="5"] { grid-template-columns:repeat(4,1fr); justify-content:normal; }
}
@media (max-width:680px) {                        /* 이 구간의 열 수 = 3 → 1~2 만 상한 적용 */
  .holo-thumb-popup-grid[data-cells="3"],
  .holo-thumb-popup-grid[data-cells="4"],
  .holo-thumb-popup-grid[data-cells="5"] { grid-template-columns:repeat(3,1fr); justify-content:normal; }
}
@media (max-width:430px) {                        /* 이 구간의 열 수 = 2 → 1 만 상한 적용 */
  .holo-thumb-popup-grid[data-cells="2"],
  .holo-thumb-popup-grid[data-cells="3"],
  .holo-thumb-popup-grid[data-cells="4"],
  .holo-thumb-popup-grid[data-cells="5"] { grid-template-columns:repeat(2,1fr); justify-content:normal; }
}


/* ══ 🔧 p28-f-2(2026-08-13) U 재배치 — 「칸을 정하는 쪽」이 마지막에 서야 한다 ═══════
   앞서 기준판 옆(:7871)과 좁은 화면 블록(:10641)에 두었던 여섯 자식 행 규칙을 이리로 옮겼다.
   ■ 왜 — `.visual-block-box > .ranked-thumbnail-list-card-rows > .ranked-thumbnail-list-card-row`
     (네 칸판)이 굵기가 «같고»(0,3,0) 파일에서 뒤에 있어, 앞자리에 둔 여섯 칸 규칙을 이겼다.
     실측(작가 셀 shinji-kanda) — 1280px 에서 여섯 자식이 네 칸에 눌려 두 줄로 접히고,
     390px 에서는 놓는 규칙만 이겨서 «폭 0px 짜리 칸»에 33.3px 그림이 얹혔다.
   🔒 네 자식짜리 촘촘한 행은 여전히 네 칸판이 맡는다 — 직계 __name 이 없어 이 규칙에 안 걸린다. */
.ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) {
  grid-template-columns: auto auto minmax(0,1fr) 225px auto auto;
}
@media (max-width:700px) {
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) {
    grid-template-columns: 38px auto minmax(0,1fr) auto;
  }
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__rank { grid-column:1/2; grid-row:1; }
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__picture { grid-column:2/3; grid-row:1/span 2; }
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__name { grid-column:3/4; grid-row:1; }
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__subtitle { grid-column:3/4; grid-row:2; }
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__description { grid-column:4/5; grid-row:1; }
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__title { grid-column:4/5; grid-row:2; }
}


/* ══ 🔧 p28-f-2(2026-08-13) 작가 목록 «머리줄 ↔ 값줄» 정합 ════════════════════════
   대상 = `.ranked-thumbnail-list-artist-header`(머리) + `.ranked-thumbnail-list-artist-row`(값).
   이 둘은 «서로 다른 격자»라, 칸 목록이 한 글자라도 어긋나면 이름표가 제 값 위를 벗어난다.
   ■ 사용자 지적 3가지와 그 뿌리(실측 · 셀 artist shinji-kanda · 1280 / 390)
     ① 썸네일이 오른쪽으로 치우침
        뿌리 = `__picture{justify-self:end}`(:8109). 40px 그림이 88px 칸의 «오른쪽 끝»에 붙어
        머리 「Card」(칸 왼쪽)와 48px 어긋났다(실측 머리 x35 vs 그림 x83).
     ② 셀 전반 정렬 붕괴(모바일)
        뿌리 = «뒤에 온 넓은 구간»이 «앞에 온 좁은 구간»을 덮는 것 — R 과 같은 계보다.
          · :10741 @≤820px 머리 = 네 칸(값줄과 짝) … 옳다
          · :10781 @≤860px 머리 = 1fr  ← 파일 뒤라 ≤820 에서도 이겨 머리가 한 칸으로 무너진다
            (실측 390px 머리열 「334px」 한 칸에 라벨 다섯이 겹쳐 섰다)
          · :11312 @≤560px 값줄 = «데스크톱 다섯 칸» 복원  ← 좁은 화면에 다섯 칸을 밀어 넣어
            이름 칸이 23px 로 눌렸다. 원래 의도는 «셋째 칸만» 고정폭으로 되돌리는 것이었는데
            (그 주석의 ⑫) 칸 목록 전부를 다시 적는 바람에 모바일 네 칸판까지 지웠다.
     ③ 머리 가운데 정렬 아님 — 표 표준(부품이 스스로 판정·머리는 전열 가운데)이 이 목록에는
        걸려 있지 않았다(:8432·:8439 가 셋째·넷째만 오른쪽, 나머지는 왼쪽).
   ■ 수리 — 표준 문법으로 통일한다(땜빵·죽은 클래스 재도입 0)
     ⓐ 머리는 «전열 가운데» — 표 조각(cell-dex-table)의 확정 규칙 ⓐ와 같은 판단이다.
        머리는 그 칸이 «무엇인가»를 적는 이름표라 값의 정렬과 따로 논다.
     ⓑ 그림 칸은 «가운데» — 표준 `td.table-picture-cell{text-align:center}` 와 같은 계보.
        카드는 글이 아니라 물건이라 칸의 축에 선다.
     ⓒ 값 칸(Set·Price)의 오른쪽 정렬은 «그대로 둔다» — 세는 값의 제 규칙이다.
     ⓓ 좁은 화면에서 머리와 값이 «같은 칸 목록»을 쓰도록 되살린다.
   🔒 새 값 0 — 46px·1fr·74px·62px·88px·82px 은 전부 이 시트가 이미 지고 있던 값이다. */
.ranked-thumbnail-list-artist-header > span { text-align:center; }
/* 셋째·넷째는 :8432·:8439 가 «오른쪽»을 굵게(0,2,0) 박아 두었으므로 같은 굵기로 되받는다 —
   굵기가 모자라면 규칙을 적어도 화면은 안 바뀐다(이 회차에 C 수리로 한 번 겪은 함정). */
.ranked-thumbnail-list-artist-header span:nth-child(3),
.ranked-thumbnail-list-artist-header span:nth-child(4) { text-align:center; }
.ranked-thumbnail-list-artist-row__picture { justify-self:center; }
/* 셋째 칸을 머리와 «같은 수»로 못박는다(값줄 base 는 auto 라 0.4px 어긋나 있었다 — 실측 81.578 vs 82).
   이것이 :11312 가 원래 하려던 일이고, 여기서 하면 좁은 화면 네 칸판을 건드리지 않는다. */
.ranked-thumbnail-list-artist-row { grid-template-columns:88px minmax(0,1.15fr)82px 74px minmax(0,1.35fr); }
@media (max-width:860px) {
  /* :10781 의 「머리 1fr」을 «그 구간에만» 남긴다 — ≤820 은 아래에서 네 칸으로 되돌린다. */
  .ranked-thumbnail-list-artist-header { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  /* 머리와 값이 «한 목록»을 쓴다 — 다섯째 라벨은 숨기고 값도 둘째 줄로 접힌다(:10739·:10742 의 의도). */
  .ranked-thumbnail-list-artist-header,
  .ranked-thumbnail-list-artist-row { grid-template-columns:46px minmax(0,1fr)74px 62px; }
}


/* ══ 🔧 p28-f-3(2026-08-13) V1 — 세트 이름이 «칸 밖으로» 흘러 옆 값을 덮던 것 ═══════
   ■ 실측(1280px) — 세트 칸 82px 인데 글자는 「Paldea Evolved」112px ·
     「SWSH Black Star Promos」**184px**. 칸을 넘는 줄이 **20건**(390px 에서는 23건)이었다.
     칸 상자끼리는 안 겹치므로(겹침 0) «상자»를 재는 판정식은 이걸 못 잡는다 —
     넘침은 `scrollWidth > clientWidth` 로 재야 보인다(이 회차의 판정식을 그렇게 바꿨다).
   ■ 왜 흘렀나 — `__content{overflow:visible; text-overflow:clip}`(:8335) 이 «자르지 말라»고
     못박고 있었다. 그 선언은 수치 칸이 「…」로 잘리는 것을 막으려던 것인데, 글자 칸에까지
     같이 걸려 세트 이름이 칸 밖으로 그대로 쏟아졌다.
     ⚠️ 그리고 이 병을 «키운» 것은 p28-f-2 의 내 수리다 — 머리와 값의 칸을 맞추려고 값줄 셋째 칸을
        auto→82px 로 못박았는데, auto 는 내용에 맞춰 늘어나 넘침을 가려 주고 있었다.
        칸을 맞추는 일과 넘침을 막는 일은 «따로» 해야 한다(맞추고 + 자른다).
   ■ 수리 — ⓐ 세트 칸에 «제 몫의 폭»을 준다. 희귀도 칸이 1.35fr(500px)로 짧은 라벨에 견줘
     지나치게 넓었으므로 그 몫을 세트로 옮긴다(총 폭 불변 · 머리/값 같은 목록 유지 = 정합 회귀 0).
     ⓑ 세트는 «글»이라 왼쪽에서 읽고, 넘치면 말줄임으로 끝낸다 — 칸을 넘는 일이 없어진다.
   🔒 새 값 0 — 88px·74px·fr 단위는 이 시트가 이미 쓰던 문법이고, 비율만 옮겼다. */
.ranked-thumbnail-list-artist-header,
.ranked-thumbnail-list-artist-row { grid-template-columns:88px minmax(0,1.15fr)minmax(0,1fr)74px minmax(0,0.75fr); }
.ranked-thumbnail-list-artist-row__content {
  text-align:left;                 /* 세트 = 글 — 수치가 아니므로 왼쪽에서 읽는다 */
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
@media (max-width:820px) {
  /* 좁은 폭의 네 칸판은 그대로 두되(직전 회차 정합), 세트 칸의 말줄임은 여기서도 산다. */
  .ranked-thumbnail-list-artist-header,
  .ranked-thumbnail-list-artist-row { grid-template-columns:46px minmax(0,1fr)74px 62px; }
}


/* ══ 🔧 p28-f-3(2026-08-13) V2 — 목록형 메타 4종이 «줄마다 다른 자리»에 서던 것 ═══════
   ■ 실측(1280px · 앞 8줄) — 같은 칸인데 좌변이 줄마다 갈렸다
       세트·번호 6종 [874.3, 840.9, 903, 902.7 …] · 가격 6종 · 희귀도 5종
     390px 에서도 가격·희귀도가 6종이었다.
   ■ 뿌리 — 이 목록은 «줄 하나가 곧 격자 하나»다(각 <a> 가 제 격자다). 그런데 칸 목록에
     `auto` 가 섞여 있어 auto 칸이 «그 줄의 내용»에 맞춰 제각기 정해진다. 그래서 순위가 한 자리인
     줄과 두 자리인 줄, 가격이 긴 줄과 짧은 줄이 서로 다른 자리에 칸을 세웠다.
     ▶ 줄마다 따로 서는 격자에서 칸을 맞추려면 «내용에 기대지 않는 폭»이어야 한다(고정·비율).
   ■ 수리 — 값의 성격대로 칸을 정하고, 폭은 전부 내용 독립으로 바꾼다
       순위 38px(수치·오른쪽 정렬로 자릿수를 맞춘다) · 그림 34px · 이름 1fr(글) ·
       세트·번호 225px(글) · 가격 92px(수치) · 희귀도 130px(라벨)
   🔒 여섯 자식 행에만 건다 — 네 자식짜리 촘촘한 행은 종전 규칙 그대로다(회귀 0). */
.ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) {
  grid-template-columns: 38px 34px minmax(0,1fr) 225px 92px 130px;
}
.ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) > .ranked-thumbnail-list-card-row__rank { text-align:right; }
@media (max-width:700px) {
  .ranked-thumbnail-list-card-row:has(> .ranked-thumbnail-list-card-row__picture):has(> .ranked-thumbnail-list-card-row__name) {
    grid-template-columns: 38px 34px minmax(0,1fr) 92px;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   R25·R26(2026-08-20 W3-CSS) 호버 맥락 «lift» — 기울기와 반짝임만 끈다 (제안 CSS §1)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 무엇을 하나 — 팝업은 그대로 뜬다(카드가 원본 크기로 «떠오르는» 것이 lift 다).
     빠지는 것은 기울기(rotator 의 rotateY/rotateX)와 반짝임(shine·glare) 둘뿐이다.
   ■ 왜 시트가 지나 — 팝업은 문서에 «몸이 하나»뿐이라(card-holo-popup.js:99-121) 자기가 어느
     자리에서 떴는지 모른다. 그 «자리»를 tcggrail-fx.js 가 data-fx-hover 로 껍데기에 얹어 주고,
     끄는 일은 여기서 한다. 용수철(card-holo.js)은 사용자 지정 속성(--rotate-x 등)만 쓰고
     인라인 transform 을 쓰지 않으므로(:112-122 실측) 시트가 그리는 순간에 늘 이긴다.
   🔒 특이성 (0,4,0) 을 유지한다 — 무늬 규칙 중 가장 센 것이 (0,4,0) 이다
      (:8936·:8943 `.holo-thumb-popup-card[data-fx="reverse"][data-subtypes^="stage"] …`).
      세 칸짜리로 쓰면 그 짝들에 밀려 lift 자리에서 반짝임이 되살아난다.
   🔒 tilt-shine 자리는 한 글자도 건드리지 않는다(제안 CSS §2 «보장») — 위 선택자가 전부
      [data-fx-hover="lift"] 안에 갇혀 있어서, 맥락이 tilt-shine 이거나 아예 없으면
      종전 규칙이 그대로 돈다(작가 줄 R17·세트 격자 R30·인쇄 순 목록 R67 회귀 0).
   ══════════════════════════════════════════════════════════════════════════════ */
.holo-thumb-popup-preview[data-fx-hover="lift"] .holo-thumb-popup-card .holo-thumb-popup-card__rotator {
  transform: none;
}
.holo-thumb-popup-preview[data-fx-hover="lift"] .holo-thumb-popup-card .holo-thumb-popup-card__shine,
.holo-thumb-popup-preview[data-fx-hover="lift"] .holo-thumb-popup-card .holo-thumb-popup-card__glare {
  opacity: 0;
}

/* ══════════════════════════════════════════════════════════════════════════════
   R26 형제(2026-08-20 W3-CSS) 갈래 대표 카드 — 88px 작은 칸은 «팝업만» (W3b 조 산출)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 결함 ─ cell-dex-vc.php:78·104 의 칸에 손을 얹으면 ① 그림 자신이 떠오르며 기울고(:8696·:8700)
     ② 그 위에 큰 그림 팝업이 또 떴다. 두 장치가 같은 말(「짚었다」)을 겹쳐 한다.
   ■ 판례 그대로 ─ :11791-11819 의 「칸이 작으면 팝업만 · 칸이 크면 띄움만」. 이 칸은 폭 88px
     (:8630 `.value-representative-card__picture{width:88px}`)이라 «작은 쪽»이다. 그래서 진화 사슬
     (R26·큰 칸)과 반대로, 여기서는 띄움을 끄고 팝업을 남긴다.
   🔒 팝업 훅(.holo-thumb-popup-thumb__image)을 «가진 칸만» 집는다 — 그 이름이 없는 칸은 팝업이
      안 뜨므로 겹칠 것도 없고, 띄움이 유일한 신호라 그대로 둬야 한다(회귀 0).
   🔒 특이성 (0,4,0) — :8696/:8700 (0,3,0) 과 움직임 줄임 판 :11342-11343 (0,3,0) 을 둘 다 이긴다. */
.value-representative-card:hover .evolution-chain-diagram-link__picture.holo-thumb-popup-thumb__image,
.value-representative-card:focus-visible .evolution-chain-diagram-link__picture.holo-thumb-popup-thumb__image {
  transform: none;
  box-shadow: none;
  filter: none;
}

/* §5 스크립트 없음 구제 — 브라우즈 맥락(tilt-shine)만: 팝업이 유일한 호버 신호라 스크립트가 없으면 신호 0이 되는 것을 옅은 띄움으로 구제(지휘자 승인) */
@media (scripting: none) {
  [data-fx-hover="tilt-shine"] .holo-thumb-popup-thumb__image { transition: transform .16s cubic-bezier(.18,.75,.28,1); }
  [data-fx-hover="tilt-shine"] .holo-thumb-popup-thumb__image:hover,
  [data-fx-hover="tilt-shine"] .holo-thumb-popup-thumb__image:focus-visible { transform: translateY(-6px) scale(1.03); }
}
@media (scripting: none) and (prefers-reduced-motion: reduce) {
  [data-fx-hover="tilt-shine"] .holo-thumb-popup-thumb__image { transition: none; }
  [data-fx-hover="tilt-shine"] .holo-thumb-popup-thumb__image:hover,
  [data-fx-hover="tilt-shine"] .holo-thumb-popup-thumb__image:focus-visible { transform: none; }
}

/* R6(2026-08-20 W3-CSS) 판본 맞대기의 희귀도 배지 — 제 자리를 차지하게 세운다.
   print-duo.php:61 이 `.row-key-badge` 를 그대로 빌려 쓰는데, 그 이름에는 display 선언이 없어
   맨 인라인으로 선다(:7592). 인라인은 min-width:60px 도 위아래 안여백도 «자리»로 치지 않아
   배지가 납작하게 눌리고 위 곁줄에 붙는다. 형제 칸들이 쓰는 것과 같은 간격(6px)을 준다
   (:7924 `__name{margin-top:6px}` 와 같은 수 — 새 값 발명 0). */
.versus-compare-side__rarity-badge { display:inline-block; margin-top:6px; }

/* ══════════════════════════════════════════════════════════════════════════════
   R77(2026-08-20 W3) 12분류 타일 — 시각 칸이 «줄 높이»를 따라가게 한다
   ──────────────────────────────────────────────────────────────────────────────
   ■ 무엇이 생겼나 — R76 으로 막대 타일이 내용만큼 커지자(트랙 7개 = 111px) 격자 줄 높이가
     그만큼 늘었는데, 도넛·게이지·순위 변형은 시각 칸이 height:40px 로 «못박혀» 있어
     남는 세로가 칸 아래에 빈 채로 남았다(.data-story-tile 이 justify-content:flex-start 라
     슬랙이 전부 바닥에 몰린다).
   ■ 공간 산술(19항 선행) — 타일 안여백 12px/9px · 자식 사이 gap 7px · 자식 넷(질문·값·시각·풀이)
        줄 높이 H = 12 + q + 7 + v + 7 + B + 7 + m + 9      (B = 막대 칸 111px[트랙 7] / 97px[트랙 6])
        도넛 타일 자연 높이 = 같은 식의 B 자리에 40
        ⇒ 슬랙 = B − 40 = 71px(트랙 7) · 57px(트랙 6)   ← 사용자가 지적한 빈 여백의 정체
   ■ 처방 — 시각 칸을 flex:1 로 열어 슬랙을 «흡수»시키고, 각 그림은 제 성질대로 처리한다.
        · 도넛 = 원이라 무한정 키우면 우스워진다 → 칸은 자라되 원에만 상한을 두고 «가운데»에 세운다.
        · 게이지 = 막대가 10px 고정이라 칸이 자라도 굵기가 안 변한다. align-items:center 가 이미
          있어 가운데로 떠오른다 — 상한이 필요 없다.
        · 순위 = 기둥 높이가 height:var(--h) «백분율»이라 칸이 자라면 기둥도 같이 자란다.
          막대 그림은 클수록 읽기 좋으므로 역시 상한을 두지 않는다.
   🔢 상한 58px 의 출처 — 새 수를 짓지 않았다. 같은 타일군이 이미 쓰는 치수(.data-story-tile__bars
      의 min-height:58px · R76)를 그대로 가져왔다. 현행 40px 대비 1.45배이고, 축소는 없다
      (min-height:40px 로 바닥을 지킨다 = 종전보다 작아지는 일은 없다).
   🔢 고리 두께 inset 17.5% 의 출처 — 기준판의 7px/40px 비율을 그대로 백분율로 옮긴 값이다.
      40px 에서는 7px 로 «종전과 동일»하고, 커져도 고리가 실처럼 가늘어지지 않는다.
   🔒 스코프 = .data-story-tile__* 아래뿐이다. 같은 «도넛» 어휘를 쓰는 다른 지면
      (.composition-donut-ring-box 계열 132px 앱층 도넛 등)은 이름이 달라 이 규칙을 만나지 않는다.
   🔒 색·애니·--p/--h/--w 계약·min-width:3px 체계는 전부 무접촉. 바뀌는 것은 «칸의 키»뿐이다.
   ══════════════════════════════════════════════════════════════════════════════ */
.data-story-tile__donut,
.data-story-tile__gauge,
.data-story-tile__rank,
.data-story-tile__content {
  flex: 1 1 auto;
  height: auto;
  min-height: 40px;
}
.data-story-tile__donut > i {
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  max-height: 58px;
  aspect-ratio: 1;
}
.data-story-tile__donut > i::after { inset: 17.5%; }

/* ══════════════════════════════════════════════════════════════════════════════
   R80(2026-08-20 W3) 큰 카드 목록 «자체 띄움» — 진화 라인 판례를 그대로 옮긴다(사용자 확정)
   ──────────────────────────────────────────────────────────────────────────────
   ■ 지면 — 타입 셀 「One card can belong to several of these groups…」 아래 카드 목록
     (pk-nano-grid.php · .imageless-card-grid > a.imageless-card-link).
   ■ 사용자 확정 — 같은 페이지 「Evolution line」 카드의 띄움과 «똑같이» 하라. 그래서 이 구획은
     판례(:8026 기본 · :8028 호버 · :11911 포커스 · :11959-11960 움직임 줄임)의 값을 한 글자도
     바꾸지 않고 옮긴 것이다(새 값 0).
   ■ 왜 부모에 perspective 가 필요한가 — 판례의 lift 는 rotateX(8deg) 를 포함한다. 원근이 없으면
     그 회전이 «납작하게» 눌려 판례와 다른 그림이 된다. 판례 두 곳이 쓰는 값이 똑같이 700px 다
     (:8025 __content · :8848 value-representative-card) — 그 수를 그대로 쓴다.
   ■ 왜 z-index 가 필요한가 — 이 목록은 격자(gap 10px)라 14px 떠오르면 윗줄과 겹친다. 겹칠 때
     떠오른 카드가 «위»에 있어야 한다. 값 5 는 같은 시트의 카드 타일 판례(.card-image-tile:hover)
     가 쓰는 수 그대로다. 부모가 이미 position:relative(:10411) 라 새 선언이 필요 없다.
   🖼️ 그림 있는 칸(.imageless-card-link__image)과 그림 없는 칸(.card-image-fallback)을 함께 집는다
      — 한쪽만 집으면 같은 목록 안에서 어떤 칸은 뜨고 어떤 칸은 안 뜨는 «표본만 고침»이 된다.
   🔒 스코프 = .imageless-card-grid 안뿐이다. 기존 호버 신호 두 줄(:10423 테두리색 · :11735 값 색)은
      그대로 살아 있고, 이 구획은 «띄움»만 더한다(신호 손실 0).
   ♿ 움직임을 줄인 환경에서는 판례와 같이 전이를 끄고 이동만 6px 로 낮춘다(:11959-11960 문법). */
.imageless-card-grid .imageless-card-link { perspective: 700px; }
.imageless-card-grid .imageless-card-link__image,
.imageless-card-grid .imageless-card-link .card-image-fallback {
  transform-origin: 50% 100%;
  transition: transform .26s cubic-bezier(.18,.75,.28,1), box-shadow .26s;
}
.imageless-card-grid .imageless-card-link:hover .imageless-card-link__image,
.imageless-card-grid .imageless-card-link:focus-visible .imageless-card-link__image,
.imageless-card-grid .imageless-card-link:hover .card-image-fallback,
.imageless-card-grid .imageless-card-link:focus-visible .card-image-fallback {
  transform: translateY(-14px) rotateX(8deg) scale(1.06);
  box-shadow: 0 20px 28px -10px rgba(0,0,0,.6);
}
.imageless-card-grid .imageless-card-link:hover,
.imageless-card-grid .imageless-card-link:focus-visible { z-index: 5; }
@media (prefers-reduced-motion: reduce) {
  .imageless-card-grid .imageless-card-link__image,
  .imageless-card-grid .imageless-card-link .card-image-fallback { transition: none; }
  .imageless-card-grid .imageless-card-link:hover .imageless-card-link__image,
  .imageless-card-grid .imageless-card-link:focus-visible .imageless-card-link__image,
  .imageless-card-grid .imageless-card-link:hover .card-image-fallback,
  .imageless-card-grid .imageless-card-link:focus-visible .card-image-fallback { transform: translateY(-6px); }
}

/* R8(2026-08-20 W3-CSS) 종합 점수 — 앞 구간의 «설명 꼬리»와 다음 구간의 «머리»가 붙던 자리.
   캡션(:12240 modules.css)은 아래 여백이 없고 머리(:9519)는 위 여백이 없어, 구간이 이어질 때
   두 줄이 한 덩이로 읽혔다. 이웃 결합자로 «캡션 바로 뒤에 오는 머리»에만 숨을 준다
   — 첫 구간(앞에 캡션이 없다)은 그대로라 위쪽 여백이 늘지 않는다. */
/* R82(2026-08-20 W3-CSS) 재배선 — 짝을 «실재하는 형제»로 바꾼다.
   R8 때 이 줄은 `+ .module-overall-score__seg-head` 를 겨눴는데, 그 뒤 overall-score.php 가
   seg-head 를 별도 형제 블록에서 없애고 캡션 안 <small> 로 흡수했다(그 파일 :118-127 주석).
   그래서 이 인접 규칙은 짝을 잃어 아무것도 안 잡는 죽은 줄이 됐고, seg-head 가 지고 있던
   margin-bottom:6px 도 함께 사라져 캡션과 트랙이 붙었다.
   실제 형제 순서는 seg-caption → seg-track 이므로(같은 파일 :133-134) 그쪽으로 옮긴다.
   간격 6px 은 종전 값 그대로 — 새 값 0. */
.module-overall-score__seg-caption + .module-overall-score__seg-track { margin-top:6px; }
/* R82b(2026-08-20 W3-CSS) 복원 — 이 이름은 «두 변형»을 지고, 각자 제 짝만 잡는다.
   ■ 실측(마크업 인접 관계)
       두 줄형 rank-standing-panel.php  :195 caption → :198 head(라벨 있을 때만) → :201 track
       병합형 overall-score.php         :133 caption(<small> 내포) → :134 track
     라벨이 있으면 head 가 사이에 끼어 위 track 규칙이 «안» 걸리고, 라벨이 없거나 병합형이면
     head 가 없어 track 규칙이 걸린다 — 두 규칙은 서로 배타적이라 겹쳐 먹는 일이 없다.
   ■ R82 에서 이 줄을 지운 것은 병합형만 보고 내린 판단이었다(«표본만 고침»). 두 줄형에서는
     여전히 실재하는 짝이라 그때 캡션과 라벨이 붙었다. 같은 6px 로 되살린다(새 값 0). */
.module-overall-score__seg-caption + .module-overall-score__seg-head { margin-top:6px; }

/* [제거됨 2026-08-25 · 눈검수 36호] guide-page-columns/guide-page-sidebar/guide-sidebar-panel*
   — 가이드 전용 자체 사이드바(SSOT 위반)를 표준 info-sidebar 부품으로 통일하며 소거.
   패턴 자체(본문 연결형 2열 분할)는 참조 문법으로 보존됨 —
   00-공통/_패턴라이브러리/콘텐츠-2열분할-guide-page-columns-참조-20260825.md */
