/* ShopRank 보조 스타일 */
.matrix-table { border-collapse: separate; border-spacing: 0; }
.matrix-table th,
.matrix-table td { border-bottom: 1px solid #f1f5f9; }
.matrix-table th:first-child,
.matrix-table td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; min-width: 140px; max-width: 200px; }
.matrix-table thead th { background: #f8fafc; font-weight: 600; color: #475569; font-size: 11px; padding: 8px 10px; white-space: nowrap; }
.matrix-table thead th.today { background: #f3f1ff; color: #5E54B8; }
.matrix-table tbody td { padding: 8px 10px; font-size: 12px; vertical-align: middle; }
.matrix-table tbody td.today { background: #faf9ff; }
.matrix-table tbody tr:hover td { background: #f5f3ff; cursor: pointer; }
.matrix-table tbody tr:hover td.today { background: #ece9ff; }

.rank-cell { display: flex; flex-direction: column; gap: 3px; align-items: center; }
.rank-line { display: inline-flex; align-items: center; gap: 4px; line-height: 1.1; position: relative; }
.rank-line .label { font-size: 9px; color: #94a3b8; width: 14px; font-weight: 500; }
.rank-line .num { font-weight: 600; min-width: 20px; text-align: right; color: #0f172a; }
.rank-line.mo .num { color: #475569; }
.rank-line .delta { font-size: 10px; font-weight: 500; }
.delta.up { color: #16A34A; }
.delta.down { color: #DC2626; }
.dim { color: #cbd5e1; font-weight: 400; }

.ad-dot { display: inline-block; width: 6px; height: 6px; border-radius: 9999px; background: #7F77DD; margin-left: 2px; }

/* 모바일 반응형 */
@media (max-width: 640px) {
  .matrix-table th:first-child,
  .matrix-table td:first-child {
    min-width: 110px;
    max-width: 140px;
  }
  .matrix-table thead th { padding: 6px 6px; font-size: 10px; }
  .matrix-table tbody td { padding: 6px 6px; font-size: 11px; }
  .rank-line .label { display: none; }
  .rank-line .num { min-width: 18px; }
}

/* sticky 키워드 컬럼 우측 미세 그림자 */
.matrix-table tbody td:first-child {
  box-shadow: 1px 0 0 0 #f1f5f9;
}
.matrix-table thead th:first-child {
  box-shadow: 1px 0 0 0 #e2e8f0;
}
