/* THEME: Inferno — Fire & Flames / Hellfire Leaderboard */

.psyern-lb.psyern-lb--inferno {
	--psyern-bg: #0a0200;
	background: #0a0200;
	color: #f0d8b0;
	font-family: 'Teko', 'Impact', 'Arial Narrow', sans-serif;
	border: 1px solid #3d1800;
	border-radius: 0;
	position: relative;
	overflow: visible;
	animation: psyern-inferno-border-flicker 4s ease-in-out infinite;
}

@keyframes psyern-inferno-border-flicker {
	0%, 18%, 22%, 25%, 53%, 57%, 100% { border-color: #3d1800; box-shadow: 0 0 5px rgba(255, 69, 0, 0.1); }
	20%, 24%, 55% { border-color: #ff4500; box-shadow: 0 0 20px rgba(255, 69, 0, 0.3), 0 0 40px rgba(255, 140, 0, 0.15); }
}

/* ─── Overlay Effects (OVER content, blend mode so they glow through) ─── */

/* Ember glow bottom — high z-index, blend mode screen */
.psyern-lb.psyern-lb--inferno::before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 5%;
	right: 5%;
	height: 80px;
	background: radial-gradient(ellipse at center, rgba(255, 69, 0, 0.25), transparent 70%);
	pointer-events: none;
	z-index: 100;
	mix-blend-mode: screen;
	will-change: opacity, transform;
	animation: psyern-inferno-ember-glow 3s ease-in-out infinite alternate;
}

@keyframes psyern-inferno-ember-glow {
	0% { opacity: 0.5; transform: translateZ(0) scaleX(0.85); }
	100% { opacity: 1; transform: translateZ(0) scaleX(1.15); }
}

/* Smoke vignette — high z-index, doesn't block clicks */
.psyern-lb.psyern-lb--inferno::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, transparent 40%, rgba(10, 2, 0, 0.4) 100%);
	pointer-events: none;
	z-index: 100;
	mix-blend-mode: multiply;
	will-change: opacity;
	animation: psyern-inferno-smoke 5s ease-in-out infinite alternate;
}

@keyframes psyern-inferno-smoke {
	0% { opacity: 0.7; }
	100% { opacity: 1; }
}

/* ─── Rising Ember Particles (CSS-only, multi box-shadow) ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__table-wrap::after {
	content: '';
	position: absolute;
	width: 3px;
	height: 3px;
	bottom: 20px;
	left: 50%;
	border-radius: 50%;
	pointer-events: none;
	z-index: 100;
	mix-blend-mode: screen;
	box-shadow:
		-80px 0 0 1px rgba(255, 69, 0, 0.8),
		-40px 10px 0 0 rgba(255, 140, 0, 0.7),
		20px -5px 0 1px rgba(255, 200, 0, 0.6),
		70px 5px 0 0 rgba(255, 69, 0, 0.7),
		120px -10px 0 1px rgba(255, 140, 0, 0.5),
		-120px -8px 0 0 rgba(255, 200, 0, 0.6),
		160px 0 0 1px rgba(255, 69, 0, 0.4);
	animation: psyern-inferno-rising-embers 4s ease-in-out infinite;
}

@keyframes psyern-inferno-rising-embers {
	0% { transform: translateY(0); opacity: 0.8; }
	50% { transform: translateY(-40px); opacity: 1; }
	100% { transform: translateY(-80px); opacity: 0; }
}

/* ─── Scrollbar ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__table-wrap::-webkit-scrollbar-thumb { background: #3d1800; }
.psyern-lb.psyern-lb--inferno .psyern-lb__table-wrap::-webkit-scrollbar-thumb:hover { background: #ff4500; }

/* ::selection */
.psyern-lb.psyern-lb--inferno ::selection { background: rgba(255, 69, 0, 0.3); color: #ffc800; }

/* ─── Header ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__header {
	border-bottom: 2px solid #3d1800;
	border-image: linear-gradient(90deg, transparent, #ff4500, #ffc800, #ff4500, transparent) 1;
}

.psyern-lb.psyern-lb--inferno .psyern-lb__title {
	font-family: 'Teko', 'Impact', sans-serif;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ff4500;
	background: linear-gradient(180deg, #ffc800 0%, #ff8c00 30%, #ff4500 60%, #cc2200 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	will-change: opacity;
	animation: psyern-inferno-titleflicker 2.5s ease-in-out infinite;
}

@keyframes psyern-inferno-titleflicker {
	0%, 100% { opacity: 1; }
	15% { opacity: 0.88; }
	30% { opacity: 1; }
	45% { opacity: 0.92; }
	60% { opacity: 1; }
	78% { opacity: 0.85; }
	85% { opacity: 1; }
}

.psyern-lb.psyern-lb--inferno .psyern-lb__meta { color: #7a4a20; letter-spacing: 0.06em; text-transform: uppercase; }

/* ─── Mode Buttons ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__mode-btn { color: #7a4a20; border: 1px solid #3d1800; border-radius: 0; font-family: 'Teko', sans-serif; font-size: 0.95rem; letter-spacing: 0.1em; text-transform: uppercase; }
.psyern-lb.psyern-lb--inferno .psyern-lb__mode-btn.active { color: #ff6a00; border-color: #ff4500; background: linear-gradient(180deg, rgba(255, 69, 0, 0.2), rgba(255, 140, 0, 0.05)); text-shadow: 0 0 8px rgba(255, 69, 0, 0.6); }

/* ─── Limit Buttons ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__limit-btn { color: #7a4a20; border-color: #3d1800; }
.psyern-lb.psyern-lb--inferno .psyern-lb__limit-btn.active { color: #ffc800; border-color: #ffc800; }

/* ─── Top 3 Cards ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card {
	background: linear-gradient(180deg, #1a0800, #0f0200);
	border: 1px solid #3d1800;
	border-radius: 0;
	will-change: transform;
	animation: psyern-inferno-heathaze 4s ease-in-out infinite;
}

@keyframes psyern-inferno-heathaze {
	0%, 100% { transform: skewX(0deg) translateZ(0); }
	25% { transform: skewX(0.15deg) translateZ(0); }
	50% { transform: skewX(-0.1deg) translateZ(0); }
	75% { transform: skewX(0.2deg) translateZ(0); }
}

.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card--1 {
	border-color: transparent;
	border-image: linear-gradient(180deg, #ff4500, #ffc800, #ff4500) 1;
	background: linear-gradient(180deg, #2a0800 0%, #1a0400 50%, #0f0200 100%);
	box-shadow: 0 0 30px rgba(255, 69, 0, 0.3), 0 0 60px rgba(255, 140, 0, 0.1);
	animation: psyern-inferno-blaze 2.5s ease-in-out infinite, psyern-inferno-heathaze 4s ease-in-out infinite;
}

@keyframes psyern-inferno-blaze {
	0%, 100% { box-shadow: 0 0 30px rgba(255, 69, 0, 0.3), 0 0 60px rgba(255, 140, 0, 0.1); }
	50% { box-shadow: 0 0 40px rgba(255, 69, 0, 0.4), 0 0 80px rgba(255, 140, 0, 0.15); }
}

.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card--1 .psyern-lb__top3-name {
	background: linear-gradient(90deg, #ffc800, #ff4500, #ffc800);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: psyern-inferno-nameshift 3s ease-in-out infinite;
}

@keyframes psyern-inferno-nameshift {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card--2 { border-color: #ff8c00; box-shadow: 0 0 20px rgba(255, 140, 0, 0.15); }
.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card--2 .psyern-lb__top3-name { color: #ff8c00; text-shadow: 0 0 8px rgba(255, 140, 0, 0.5); }
.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card--3 { border-color: #ffc800; box-shadow: 0 0 15px rgba(255, 200, 0, 0.1); }
.psyern-lb.psyern-lb--inferno .psyern-lb__top3-card--3 .psyern-lb__top3-name { color: #ffc800; }

.psyern-lb.psyern-lb--inferno .psyern-lb__top3-rank { font-family: 'Teko', sans-serif; font-weight: 700; font-size: 2rem; color: #ff6a00; text-shadow: 0 0 10px rgba(255, 106, 0, 0.6), 0 2px 4px rgba(0, 0, 0, 0.8); }
.psyern-lb.psyern-lb--inferno .psyern-lb__top3-avatar { border: 2px solid #3d1800; box-shadow: 0 0 12px rgba(255, 69, 0, 0.25); }
.psyern-lb.psyern-lb--inferno .psyern-lb__top3-stats { color: #7a4a20; }

/* ─── Table ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__table th {
	color: #7a4a20;
	border-bottom: 2px solid #3d1800;
	font-family: 'Teko', sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
}

.psyern-lb.psyern-lb--inferno .psyern-lb__table td { border-bottom: 1px solid #1a0800; }

/* Table-wrap needs position relative for the rising embers ::after */
.psyern-lb.psyern-lb--inferno .psyern-lb__table-wrap { position: relative; }

/* HOVER FIX: No transform, no border/padding change. Only background color. */
.psyern-lb.psyern-lb--inferno .psyern-lb__table tbody tr {
	position: relative;
	transition: background 0.2s;
}

.psyern-lb.psyern-lb--inferno .psyern-lb__table tbody tr:hover {
	background: rgba(255, 69, 0, 0.06);
}

/* Glow bar on left — absolutely positioned, no layout shift */
.psyern-lb.psyern-lb--inferno .psyern-lb__table tbody tr:hover::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, #ffc800, #ff4500);
	box-shadow: 0 0 8px rgba(255, 69, 0, 0.5);
	pointer-events: none;
}

/* Rank glow */
.psyern-lb.psyern-lb--inferno .psyern-lb__table tbody tr:nth-child(1) .psyern-lb__rank { color: #ff4500; text-shadow: 0 0 12px rgba(255, 69, 0, 0.7); font-size: 1.1em; }
.psyern-lb.psyern-lb--inferno .psyern-lb__table tbody tr:nth-child(2) .psyern-lb__rank { color: #ff8c00; text-shadow: 0 0 8px rgba(255, 140, 0, 0.5); }
.psyern-lb.psyern-lb--inferno .psyern-lb__table tbody tr:nth-child(3) .psyern-lb__rank { color: #ffc800; text-shadow: 0 0 4px rgba(255, 200, 0, 0.4); }

.psyern-lb.psyern-lb--inferno .psyern-lb__rank { color: #a06830; font-family: 'Teko', sans-serif; font-weight: 700; }
.psyern-lb.psyern-lb--inferno .psyern-lb__name { color: #f0d8b0; }
.psyern-lb.psyern-lb--inferno .psyern-lb__kd { color: #ff6a00; text-shadow: 0 0 4px rgba(255, 106, 0, 0.4); }
.psyern-lb.psyern-lb--inferno .psyern-lb__avatar { border: 1px solid #3d1800; }
.psyern-lb.psyern-lb--inferno .psyern-lb__boss-kills { color: #ff4500; }
.psyern-lb.psyern-lb--inferno .psyern-lb__reputation { color: #ffc800; }
.psyern-lb.psyern-lb--inferno .psyern-lb__playtime { color: #3d1800; }
.psyern-lb.psyern-lb--inferno .psyern-lb__loading { color: #3d1800; }

/* ─── Badges ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__badge-online { background: #ff6a00; box-shadow: 0 0 6px rgba(255, 106, 0, 0.6); animation: psyern-inferno-ember-badge 1.5s ease-in-out infinite; }
@keyframes psyern-inferno-ember-badge { 0%, 100% { box-shadow: 0 0 4px rgba(255, 106, 0, 0.4); } 50% { box-shadow: 0 0 8px rgba(255, 106, 0, 0.8); } }
.psyern-lb.psyern-lb--inferno .psyern-lb__badge-offline { background: #2a1000; }

/* ─── Faction ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__faction--east { background: rgba(255, 69, 0, 0.12); color: #ff4500; border-color: rgba(255, 69, 0, 0.3); }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction--west { background: rgba(255, 200, 0, 0.12); color: #ffc800; border-color: rgba(255, 200, 0, 0.3); }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction--neutral { background: rgba(122, 74, 32, 0.15); color: #a06830; border-color: rgba(122, 74, 32, 0.3); }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction-bar-track { background: #1a0800; border: 1px solid #3d1800; }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction-bar-east { background: linear-gradient(90deg, #cc2200, #ff4500); box-shadow: 0 0 10px rgba(255, 69, 0, 0.4); }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction-bar-west { background: linear-gradient(90deg, #cc9900, #ffc800); box-shadow: 0 0 10px rgba(255, 200, 0, 0.4); }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction-label-east { color: #ff4500; }
.psyern-lb.psyern-lb--inferno .psyern-lb__faction-label-west { color: #ffc800; }

/* ─── Separator — animated flame line ─── */
.psyern-lb.psyern-lb--inferno .psyern-lb__separator {
	border: none;
	height: 3px;
	background: linear-gradient(90deg, transparent, #cc2200, #ff4500, #ff8c00, #ffc800, #ff8c00, #ff4500, #cc2200, transparent);
	background-size: 200% 100%;
	margin: 20px 0;
	animation: psyern-inferno-flameline 2s linear infinite;
}

@keyframes psyern-inferno-flameline {
	0% { background-position: 0% 0; }
	100% { background-position: 200% 0; }
}

/* ─── Reduced motion ─── */
@media (prefers-reduced-motion: reduce) {
	.psyern-lb.psyern-lb--inferno,
	.psyern-lb.psyern-lb--inferno *,
	.psyern-lb.psyern-lb--inferno::before,
	.psyern-lb.psyern-lb--inferno::after,
	.psyern-lb.psyern-lb--inferno .psyern-lb__table-wrap::after {
		animation: none !important;
	}
}

.psyern-lb.psyern-lb--inferno .psyern-lb__table td { color: #d8b890; }

/* --- Pagination --- */
.psyern-lb.psyern-lb--inferno .psyern-lb__page-btn {
color: #7a4010 !important;
border-color: #7a4010;
}
.psyern-lb.psyern-lb--inferno .psyern-lb__page-btn.active {
color: #f0a040 !important;
border-color: #f0a040;
background: rgba(240, 160, 64, 0.1);
}
.psyern-lb.psyern-lb--inferno .psyern-lb__page-btn:hover:not([disabled]) {
color: #f0a040 !important;
border-color: #f0a040;
background: rgba(240, 160, 64, 0.06);
}
.psyern-lb.psyern-lb--inferno .psyern-lb__page-btn[disabled] {
color: #7a4010 !important;
border-color: #7a4010;
opacity: 0.3;
}
