/* THEME: Stalker — Radioactive Zone / S.T.A.L.K.E.R. / Chromatic Aberration */
/* Effects: RGB split, Geiger static, radiation vignette, anomaly distortion, decay filter, zone flicker */

.psyern-lb.psyern-lb--stalker {
	--psyern-bg: #0c0a06;
	background: #0c0a06;
	color: #d4c8a0;
	font-family: 'Courier Prime', 'Courier New', monospace;
	border: 2px solid #3a3018;
	border-radius: 0;
	position: relative;
	isolation: isolate;
}

/* All direct content children sit above the biohazard background layer */
.psyern-lb.psyern-lb--stalker .psyern-lb__header,
.psyern-lb.psyern-lb--stalker .psyern-lb__faction-bar,
.psyern-lb.psyern-lb--stalker .psyern-lb__mode-wrap,
.psyern-lb.psyern-lb--stalker .psyern-lb__top3,
.psyern-lb.psyern-lb--stalker .psyern-lb__separator,
.psyern-lb.psyern-lb--stalker .psyern-lb__table-wrap,
.psyern-lb.psyern-lb--stalker .psyern-lb__pagination,
.psyern-lb.psyern-lb--stalker .psyern-lb__loading {
	position: relative;
	z-index: 2;
}

/* Radiation grain + static noise */
.psyern-lb.psyern-lb--stalker::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
	pointer-events: none;
	z-index: 1;
	animation: psyern-stalker-grain 0.3s steps(6) infinite;
	mix-blend-mode: overlay;
}

@keyframes psyern-stalker-grain {
	0% { transform: translate(0, 0) scale(1); }
	20% { transform: translate(-2px, 1px) scale(1.01); }
	40% { transform: translate(1px, -2px) scale(0.99); }
	60% { transform: translate(-1px, -1px) scale(1.01); }
	80% { transform: translate(2px, 1px) scale(0.99); }
	100% { transform: translate(0, -1px) scale(1); }
}

/* Radiation vignette + warning stripe */
.psyern-lb.psyern-lb--stalker::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 40%, rgba(255, 140, 0, 0.04) 70%, rgba(12, 10, 6, 0.6) 100%),
		repeating-linear-gradient(90deg, #ff8c00 0px, #ff8c00 6px, transparent 6px, transparent 12px);
	background-size: 100% 100%, 100% 4px;
	background-position: 0 0, 0 0;
	background-repeat: no-repeat, repeat-x;
	opacity: 0.12;
	pointer-events: none;
	z-index: 2;
}

/* Scrollbar */
.psyern-lb.psyern-lb--stalker .psyern-lb__table-wrap::-webkit-scrollbar-thumb { background: #3a3018; }
.psyern-lb.psyern-lb--stalker .psyern-lb__table-wrap::-webkit-scrollbar-thumb:hover { background: #ff8c00; }

/* ::selection */
.psyern-lb.psyern-lb--stalker ::selection { background: rgba(255, 140, 0, 0.3); color: #ffcc00; }

/* ─── Header ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__header {
	border-bottom: 1px solid #2a2010;
}

/* Chromatic aberration title with zone flicker */
.psyern-lb.psyern-lb--stalker .psyern-lb__title {
	font-family: 'Courier Prime', monospace;
	font-weight: 700;
	color: #ff8c00;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	position: relative;
	text-shadow: -2px 0 #ff3300, 2px 0 #ffcc00, 0 0 12px rgba(255, 140, 0, 0.5), 0 0 40px rgba(255, 140, 0, 0.15);
	animation: psyern-stalker-aberration 8s ease-in-out infinite;
}

@keyframes psyern-stalker-aberration {
	0%, 87%, 89%, 91%, 93%, 100% {
		text-shadow: -2px 0 #ff3300, 2px 0 #ffcc00, 0 0 12px rgba(255, 140, 0, 0.5);
		transform: none;
	}
	88% {
		text-shadow: -4px 0 #ff3300, 4px 0 #ffcc00, 0 0 20px rgba(255, 140, 0, 0.8);
		transform: translateX(-2px) skewX(-0.5deg);
	}
	90% {
		text-shadow: 3px 0 #ff3300, -3px 0 #ffcc00, 0 1px rgba(255, 200, 0, 0.6);
		transform: translateX(2px) skewX(0.5deg);
	}
	92% {
		text-shadow: -1px -1px #ff3300, 1px 1px #ffcc00;
		transform: translateX(-1px);
	}
}

.psyern-lb.psyern-lb--stalker .psyern-lb__title::before {
	content: '\2622  ';
	color: #ffcc00;
	text-shadow: 0 0 8px rgba(255, 204, 0, 0.6);
	opacity: 0.15;
	animation: psyern-stalker-geiger 0.8s steps(2) infinite;
}

@keyframes psyern-stalker-geiger {
	0%, 70% { opacity: 0.15; }
	71%, 100% { opacity: 0.08; }
}

.psyern-lb.psyern-lb--stalker .psyern-lb__meta {
	color: #6b5d3a;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ─── Mode Buttons ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__mode-btn {
	color: #6b5d3a;
	border: 1px solid #2a2010;
	border-radius: 0;
	font-family: 'Courier Prime', monospace;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: all 0.2s, text-shadow 0.3s;
}

.psyern-lb.psyern-lb--stalker .psyern-lb__mode-btn.active {
	color: #ff8c00;
	border-color: #ff8c00;
	background: rgba(255, 140, 0, 0.08);
	text-shadow: 0 0 8px rgba(255, 140, 0, 0.5), -1px 0 rgba(255, 51, 0, 0.3), 1px 0 rgba(255, 204, 0, 0.3);
	box-shadow: 0 0 10px rgba(255, 140, 0, 0.15);
}

/* ─── Limit Buttons ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__limit-btn { color: #6b5d3a; border-color: #2a2010; }
.psyern-lb.psyern-lb--stalker .psyern-lb__limit-btn.active { color: #ffcc00; border-color: #ffcc00; }

/* ─── Top 3 Cards ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card {
	background: #141008;
	border: 1px solid #2a2010;
	border-radius: 0;
	position: relative;
	overflow: hidden;
}

/* Anomaly distortion on #1 */
.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card--1 {
	border-color: #ff8c00;
	box-shadow: 0 0 25px rgba(255, 140, 0, 0.2), 0 0 60px rgba(255, 140, 0, 0.05), inset 0 0 30px rgba(255, 140, 0, 0.04);
	animation: psyern-stalker-anomaly 4s ease-in-out infinite;
}

@keyframes psyern-stalker-anomaly {
	0%, 100% { box-shadow: 0 0 25px rgba(255, 140, 0, 0.2), 0 0 60px rgba(255, 140, 0, 0.05); transform: scale(1.04); }
	25% { box-shadow: 0 0 30px rgba(255, 140, 0, 0.25), 0 0 70px rgba(255, 140, 0, 0.08); transform: scale(1.05) skewX(0.2deg); }
	50% { box-shadow: 0 0 35px rgba(255, 140, 0, 0.3), 0 0 80px rgba(255, 140, 0, 0.1); transform: scale(1.04) skewX(-0.2deg); }
	75% { box-shadow: 0 0 28px rgba(255, 140, 0, 0.22), 0 0 65px rgba(255, 140, 0, 0.06); transform: scale(1.045); }
}

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card--1 .psyern-lb__top3-name {
	color: #ff8c00;
	text-shadow: -2px 0 rgba(255, 51, 0, 0.6), 2px 0 rgba(255, 204, 0, 0.6), 0 0 10px rgba(255, 140, 0, 0.4);
}

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card--2 {
	border-color: #ffcc00;
	box-shadow: 0 0 15px rgba(255, 204, 0, 0.12);
}

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card--2 .psyern-lb__top3-name {
	color: #ffcc00;
	text-shadow: -1px 0 rgba(255, 51, 0, 0.3), 1px 0 rgba(255, 204, 0, 0.3);
}

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card--3 {
	border-color: #8b7355;
	box-shadow: 0 0 10px rgba(139, 115, 85, 0.1);
}

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-card--3 .psyern-lb__top3-name { color: #c8b480; }

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-rank {
	font-family: 'Courier Prime', monospace;
	font-weight: 700;
	color: #ffcc00;
	text-shadow: 0 0 8px rgba(255, 204, 0, 0.5), -1px 0 rgba(255, 51, 0, 0.3), 1px 0 rgba(255, 204, 0, 0.3);
}

/* Decay filter on avatars */
.psyern-lb.psyern-lb--stalker .psyern-lb__top3-avatar {
	border: 2px solid #3a3018;
	filter: sepia(45%) contrast(1.2) brightness(0.8) saturate(0.7);
	box-shadow: 0 0 6px rgba(255, 140, 0, 0.15);
}

.psyern-lb.psyern-lb--stalker .psyern-lb__top3-stats { color: #6b5d3a; }

/* ─── Table ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__table th {
	color: #6b5d3a;
	border-bottom: 1px solid #2a2010;
	font-family: 'Courier Prime', monospace;
	letter-spacing: 0.1em;
}

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

/* Chromatic aberration hover — the whole row gets RGB split */
.psyern-lb.psyern-lb--stalker .psyern-lb__table tbody tr {
	position: relative;
	transition: all 0.15s;
}

.psyern-lb.psyern-lb--stalker .psyern-lb__table tbody tr:hover {
	background: rgba(255, 140, 0, 0.04);
	text-shadow: -1px 0 rgba(255, 51, 0, 0.35), 1px 0 rgba(255, 204, 0, 0.35);
}

/* Geiger counter border flash on hover */
.psyern-lb.psyern-lb--stalker .psyern-lb__table tbody tr:hover::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: #ff8c00;
	box-shadow: 0 0 8px rgba(255, 140, 0, 0.5);
	animation: psyern-stalker-tick 0.4s steps(3) forwards;
}

@keyframes psyern-stalker-tick {
	0% { opacity: 1; height: 0; }
	50% { opacity: 1; height: 100%; }
	100% { opacity: 0.3; }
}

/* Rank colors with RGB split */
.psyern-lb.psyern-lb--stalker .psyern-lb__table tbody tr:nth-child(1) .psyern-lb__rank {
	color: #ff8c00;
	text-shadow: -2px 0 #ff3300, 2px 0 #ffcc00, 0 0 8px rgba(255, 140, 0, 0.6);
}
.psyern-lb.psyern-lb--stalker .psyern-lb__table tbody tr:nth-child(2) .psyern-lb__rank {
	color: #ffcc00;
	text-shadow: -1px 0 rgba(255, 51, 0, 0.4), 1px 0 rgba(255, 204, 0, 0.4), 0 0 4px rgba(255, 204, 0, 0.4);
}
.psyern-lb.psyern-lb--stalker .psyern-lb__table tbody tr:nth-child(3) .psyern-lb__rank { color: #c8b480; }

.psyern-lb.psyern-lb--stalker .psyern-lb__rank { color: #8b7355; font-family: 'Courier Prime', monospace; }
.psyern-lb.psyern-lb--stalker .psyern-lb__name { color: #d4c8a0; }
.psyern-lb.psyern-lb--stalker .psyern-lb__kd { color: #ff8c00; text-shadow: 0 0 4px rgba(255, 140, 0, 0.3); }
.psyern-lb.psyern-lb--stalker .psyern-lb__avatar { border: 1px solid #3a3018; filter: sepia(30%) contrast(1.15) brightness(0.9); }
.psyern-lb.psyern-lb--stalker .psyern-lb__boss-kills { color: #ff3300; text-shadow: -1px 0 rgba(255, 51, 0, 0.4), 1px 0 rgba(255, 204, 0, 0.2); }
.psyern-lb.psyern-lb--stalker .psyern-lb__reputation { color: #ffcc00; }
.psyern-lb.psyern-lb--stalker .psyern-lb__playtime { color: #3a3018; }
.psyern-lb.psyern-lb--stalker .psyern-lb__loading { color: #3a3018; }

/* ─── Badges ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__badge-online {
	background: #ff8c00;
	box-shadow: 0 0 6px rgba(255, 140, 0, 0.6), 0 0 12px rgba(255, 140, 0, 0.2);
}
.psyern-lb.psyern-lb--stalker .psyern-lb__badge-offline { background: #2a2010; }

/* ─── Faction ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__faction--east { background: rgba(255, 51, 0, 0.12); color: #ff5500; border-color: rgba(255, 51, 0, 0.3); }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction--west { background: rgba(255, 204, 0, 0.12); color: #ffcc00; border-color: rgba(255, 204, 0, 0.3); }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction--neutral { background: rgba(139, 115, 85, 0.15); color: #8b7355; border-color: rgba(139, 115, 85, 0.3); }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction-bar-track { background: #141008; border: 1px solid #2a2010; }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction-bar-east { background: linear-gradient(90deg, #ff3300, #ff8c00); box-shadow: 0 0 8px rgba(255, 51, 0, 0.3); }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction-bar-west { background: linear-gradient(90deg, #ccaa00, #ffcc00); box-shadow: 0 0 8px rgba(255, 204, 0, 0.3); }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction-label-east { color: #ff5500; }
.psyern-lb.psyern-lb--stalker .psyern-lb__faction-label-west { color: #ffcc00; }

/* ─── Separator — Geiger counter pulse line ─── */
.psyern-lb.psyern-lb--stalker .psyern-lb__separator {
	border: none;
	height: 2px;
	background: repeating-linear-gradient(90deg, #ff8c00 0px, #ff8c00 3px, transparent 3px, transparent 8px, #ffcc00 8px, #ffcc00 10px, transparent 10px, transparent 14px);
	margin: 20px 0;
	opacity: 0.5;
	animation: psyern-stalker-geiger-line 1.5s steps(8) infinite;
}

@keyframes psyern-stalker-geiger-line {
	0% { background-position: 0 0; opacity: 0.3; }
	25% { opacity: 0.6; }
	50% { background-position: 28px 0; opacity: 0.5; }
	75% { opacity: 0.7; }
	100% { background-position: 56px 0; opacity: 0.3; }
}

.psyern-lb.psyern-lb--stalker .psyern-lb__table td { color: #c4b890; }

/* --- Pagination --- */
.psyern-lb.psyern-lb--stalker .psyern-lb__page-btn {
color: #6a5a30 !important;
border-color: #6a5a30;
}
.psyern-lb.psyern-lb--stalker .psyern-lb__page-btn.active {
color: #d4c8a0 !important;
border-color: #d4c8a0;
background: rgba(212, 200, 160, 0.1);
}
.psyern-lb.psyern-lb--stalker .psyern-lb__page-btn:hover:not([disabled]) {
color: #d4c8a0 !important;
border-color: #d4c8a0;
background: rgba(212, 200, 160, 0.06);
}
.psyern-lb.psyern-lb--stalker .psyern-lb__page-btn[disabled] {
color: #6a5a30 !important;
border-color: #6a5a30;
opacity: 0.3;
}
