/* ランキング表（AFFINGER干渉回避: プレフィックス統一） */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.saba-udb__ranking {
	margin-bottom: 1rem;
}

.saba-udb__ranking-hint {
	margin: 0 0 12px;
	font-size: 0.95em;
	color: #444;
	line-height: 1.5;
}

#saba-ranking-table {
	table-layout: fixed;
}

.saba-udb__ranking table.dataTable {
	width: 100% !important;
	border-collapse: collapse;
	font-size: 14px;
}

.saba-udb__ranking table.dataTable thead th {
	background: #1a1a2e;
	color: #fff;
	padding: 10px 8px;
	white-space: nowrap;
	font-weight: 600;
	font-size: 0.9em;
}

.saba-udb__ranking table.dataTable tbody td {
	padding: 8px;
	text-align: center;
	border-bottom: 1px solid #e0e0e0;
	vertical-align: middle;
}

.saba-udb__ranking table.dataTable tbody td.saba-udb__td-select {
	width: 2.5rem;
	text-align: center;
}

.saba-udb__ranking table.dataTable tbody td.saba-udb__td-rank {
	width: 10%;
}

.saba-udb__ranking table.dataTable tbody td.saba-udb__td-name {
	text-align: left;
}

.saba-udb__ranking table.dataTable tbody td.saba-udb__td-change {
	white-space: nowrap;
}

/* ゼブラ（DataTables stripeClasses 連動） */
.saba-udb__ranking table.dataTable tbody tr.saba-udb__row--odd > td {
	background-color: #fafafa;
}

.saba-udb__ranking table.dataTable tbody tr.saba-udb__row--even > td {
	background-color: #fff;
}

.saba-udb__ranking tr.saba-udb__eliminated {
	opacity: 0.5;
}

.saba-udb__ranking tr.saba-udb__eliminated td {
	text-decoration: line-through;
}

.saba-udb__ranking tr.saba-udb__eliminated a {
	color: #999;
}

.saba-udb__ranking tr.saba-udb__debut-zone > td {
	background-color: #fff8e1 !important;
}

.saba-udb__ranking tr.saba-udb__debut-zone.saba-udb__row--even > td {
	background-color: #fff3cd !important;
}

.saba-udb__crown {
	font-weight: bold;
}

.saba-udb__crown--1 {
	font-size: 1.15em;
	color: #d4a017;
}

.saba-udb__crown--2 {
	font-size: 1.05em;
	color: #a0a0a0;
}

.saba-udb__crown--3 {
	font-size: 1.05em;
	color: #cd7f32;
}

.saba-udb__class-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.85em;
	font-weight: bold;
	line-height: 1.2;
}

.saba-udb__class-badge--a {
	background: #e74c3c;
	color: #fff;
}

.saba-udb__class-badge--b {
	background: #e67e22;
	color: #fff;
}

.saba-udb__class-badge--c {
	background: #f1c40f;
	color: #333;
}

.saba-udb__class-badge--d {
	background: #3498db;
	color: #fff;
}

.saba-udb__class-badge--f {
	background: #95a5a6;
	color: #fff;
}

.saba-udb__class-badge--misc {
	background: #ccc;
	color: #333;
}

.saba-udb__change--up {
	color: #e74c3c;
	font-weight: bold;
}

.saba-udb__change--down {
	color: #3498db;
	font-weight: bold;
}

.saba-udb__change--flat,
.saba-udb__change--new {
	color: #888;
	font-weight: 600;
}

.saba-udb__status--active {
	color: #27ae60;
	font-weight: bold;
}

.saba-udb__status--eliminated {
	color: #e74c3c;
}

.saba-udb__ranking .dataTables_wrapper {
	font-family: inherit;
}

.saba-udb__ranking .dataTables_filter input {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 4px 8px;
}

.saba-udb__ranking--error {
	color: #c0392b;
	font-weight: 600;
}

/* HUB グラフエリア */
.saba-udb__rank-chart-area {
	margin-top: 20px;
	padding: 12px;
	background: #fafafa;
	border-radius: 8px;
	border: 1px solid #e0e0e0;
}

.saba-udb__rank-chart-title {
	text-align: center;
	margin: 0 0 10px;
	font-size: 1.1em;
}

.saba-udb__rank-chart-canvas-wrap {
	position: relative;
	height: 350px;
	max-width: 100%;
}

.saba-udb__rank-chart-footnote {
	text-align: center;
	font-size: 0.85em;
	color: #888;
	margin: 10px 0 0;
}

@media (max-width: 768px) {
	.saba-udb__rank-chart-canvas-wrap {
		height: 250px;
	}

	.saba-udb__ranking-hint {
		font-size: 0.88em;
	}
}

/* 個人記事ミニグラフ */
.saba-udb__mini-rank-chart-wrap {
	position: relative;
	height: 200px;
	margin: 0 0 15px;
	max-width: 100%;
}

.saba-udb__mini-rank-legend {
	text-align: center;
	margin: 5px 0 0;
	font-size: 0.8em;
	color: #888;
}
