/* 공정성 검증 원장 (리뉴얼) — 토큰은 rb.css. 이미지 출처(/credits) 페이지도 같은 .ledger_page/.ledger_card/.ledger_table 을 씁니다. */
.ledger_page { max-width: calc(var(--rb-container) + var(--rb-gutter) * 2); margin: 0 auto; padding: 4.8rem var(--rb-gutter) 8rem; font-size: 1.4rem; color: var(--rb-ink); }
.ledger_head { margin-bottom: 3.2rem; }
.ledger_title { margin: .8rem 0 0; font: 800 3rem/1.25 var(--rb-font-display); letter-spacing: -.02em; color: var(--rb-ink); }
.ledger_sub { margin: .8rem 0 0; font-size: 1.5rem; line-height: 1.6; color: var(--rb-ink-3); }
.ledger_card { margin-bottom: 1.6rem; padding: 2.4rem 2.8rem; border: 1px solid var(--rb-line); border-radius: var(--rb-radius-xl); background: #fff; box-shadow: var(--rb-shadow-1); overflow: auto; }
.ledger_card--table { padding: .8rem 0; }
.ledger_card--table .ledger_card_title { padding: 1.6rem 2.8rem 0; }
.ledger_card_title { margin: 0 0 1.2rem; font: 800 1.9rem/1.3 var(--rb-font-display); color: var(--rb-ink); }
.ledger_row { display: flex; flex-wrap: wrap; gap: .4rem 2rem; padding: 1.1rem 0; border-bottom: 1px solid var(--rb-line); }
.ledger_row:last-child { border-bottom: 0; }
.ledger_row .k { flex: 0 0 22rem; color: var(--rb-ink-3); }
.ledger_row .v { flex: 1; min-width: 0; word-break: break-all; color: var(--rb-ink); }
.ledger_row .v small { color: var(--rb-ink-3); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.3rem; }
.ledger_formula { margin-top: 1.6rem; padding: 1.4rem 1.6rem; border-radius: var(--rb-radius); background: var(--rb-bg-2); color: var(--rb-ink-2); overflow-x: auto; white-space: nowrap; }
.ok { color: #0F7A3E; font-weight: 700; }
.bad { color: var(--rb-hot-ink); font-weight: 700; }
.ledger_table { width: 100%; border-collapse: collapse; font-size: 1.35rem; }
.ledger_table th { padding: 1.4rem 1.2rem; text-align: left; font-size: 1.25rem; font-weight: 600; color: var(--rb-ink-3); white-space: nowrap; border-bottom: 1px solid var(--rb-line); }
.ledger_table td { padding: 1.3rem 1.2rem; border-bottom: 1px solid var(--rb-line); vertical-align: middle; color: var(--rb-ink-2); }
.ledger_table th:first-child, .ledger_table td:first-child { padding-left: 2.8rem; }
.ledger_table th:last-child, .ledger_table td:last-child { padding-right: 2.8rem; }
.ledger_table tbody tr:last-child td { border-bottom: 0; }
.ledger_table td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.ledger_table--link tbody tr { cursor: pointer; transition: background-color .15s; }
.ledger_table--link tbody tr:hover { background: var(--rb-bg-2); }
.ledger_table .ledger_link { font-weight: 700; color: var(--rb-violet); }
.ledger_table .ledger_link:hover { text-decoration: underline; text-underline-offset: 3px; }
.ledger_table .ledger_product { min-width: 18rem; color: var(--rb-ink); }
.ledger_table .ledger_hash { color: var(--rb-ink-3); white-space: nowrap; }
.ledger_table tr.hit { background: var(--rb-violet-50); }
.ledger_table tr.hit td { color: var(--rb-ink); font-weight: 700; }
.grade { display: inline-flex; align-items: center; height: 2.4rem; padding: 0 .9rem; border-radius: 999px; font: 800 1.15rem/1 var(--rb-font-display); letter-spacing: .04em; white-space: nowrap; color: #fff; background: #5F6675; }
.grade_x { background: var(--rb-g-x-bg); color: #fff; }
.grade_a { background: var(--rb-g-a); color: var(--rb-g-a-on); }
.grade_b { background: var(--rb-g-b); color: #fff; }
.grade_c { background: var(--rb-g-c); color: #fff; }
.grade_d { background: var(--rb-g-d); color: #fff; }
.grade_e { background: var(--rb-g-e); color: #fff; }
.ledger_actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.4rem; }
.ledger_btn { display: inline-flex; align-items: center; justify-content: center; min-height: 4.8rem; padding: 0 2.4rem; border: 1px solid var(--rb-ink); border-radius: 999px; background: var(--rb-ink); color: #fff; font-size: 1.5rem; font-weight: 600; }
.ledger_btn:hover { color: #fff; background: #2A2438; }
.ledger_btn.ghost { border-color: var(--rb-line-2); background: #fff; color: var(--rb-ink); }
.ledger_btn.ghost:hover { background: var(--rb-bg-2); color: var(--rb-ink); }
.ledger_pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin-top: 2.8rem; }
.ledger_pagination .page_btn { display: inline-flex; align-items: center; justify-content: center; min-width: 4.4rem; height: 4.4rem; padding: 0 .8rem; border-radius: 999px; font: 600 1.4rem/1 var(--rb-font-display); color: var(--rb-ink-3); font-variant-numeric: tabular-nums; }
.ledger_pagination .page_btn:hover { background: var(--rb-bg-2); color: var(--rb-ink); }
.ledger_pagination .page_btn.choice { background: var(--rb-ink); color: #fff; }
@media (max-width: 767px) {
    .ledger_page { padding: 3.2rem var(--rb-gutter) 4.8rem; }
    .ledger_title { font-size: 2.4rem; }
    .ledger_sub { font-size: 1.4rem; }
    .ledger_card { padding: 1.6rem 1.8rem; border-radius: var(--rb-radius-lg); }
    .ledger_card--table { padding: .4rem 0; }
    .ledger_card--table .ledger_card_title { padding: 1.4rem 1.8rem 0; }
    .ledger_row .k { flex-basis: 100%; font-size: 1.3rem; }
    .ledger_table th:first-child, .ledger_table td:first-child { padding-left: 1.8rem; }
    .ledger_table th:last-child, .ledger_table td:last-child { padding-right: 1.8rem; }
    .ledger_table td, .ledger_table th { white-space: nowrap; }
}
