/* RDL Theme – modern flat dark (overridden by themes/rdl/config-vars.php from config.php) */

:root {
	--rdl-bg: #18181b;
	--rdl-bg-elevated: #27272a;
	--rdl-card: #1f1f23;
	--rdl-card-hover: #2a2a2e;
	--rdl-card-border: #3f3f46;
	--rdl-text: #fafafa;
	--rdl-text-soft: #d4d4d8;
	--rdl-muted: #71717a;
	--rdl-accent: #d97706;
	--rdl-accent-hover: #ea580c;
	--rdl-accent-rgb: 217, 119, 6;
	--rdl-nav-bg: #18181b;
	--rdl-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	--rdl-panel-bg: #1f1f23;
	--rdl-panel-border: #3f3f46;
	--rdl-panel-glow: 0 1px 3px rgba(0, 0, 0, 0.2);
	--rdl-radius: 8px;
	--rdl-radius-sm: 6px;
	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-display: 'Outfit', 'Inter', sans-serif;
	--rdl-btn-primary: #d97706;
	--rdl-btn-primary-hover: #ea580c;
	--rdl-btn-grad-start: #d97706;
	--rdl-btn-grad-end: #d97706;
	--rdl-btn-primary-text: #ffffff;
	--rdl-btn-outline-border: #a1a1aa;
	--rdl-btn-outline-text: #fafafa;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html.rdl-html-root {
	overflow-x: hidden;
	max-width: 100%;
	zoom: var(--rdl-site-zoom, 1.25);
}

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Touch-friendly: remove tap highlight, improve tap targets */
a, button, .btn, input, select, textarea {
	-webkit-tap-highlight-color: rgba(var(--rdl-accent-rgb), 0.2);
	touch-action: manipulation;
}

body.rdl-theme {
	overflow-x: hidden;
	max-width: 100%;
	background: var(--rdl-bg);
	color: var(--rdl-text);
	font-family: var(--font-sans);
	font-weight: 400;
	line-height: 1.6;
	/* Space for fixed navbar so content doesn’t sit under it */
	padding-top: 56px;
	padding-bottom: 60px;
	min-height: 100vh;
}

.rdl-container {
	padding-top: 28px;
	padding-bottom: 48px;
}

.rdl-homepage #submenu:empty,
.rdl-homepage #pagemenu:empty { display: none; }
.rdl-homepage #submenu:not(:empty),
.rdl-homepage #pagemenu:not(:empty) { margin-bottom: 12px; }

/* Section dividers */
.rdl-section-divider {
	height: 1px;
	margin: 32px 0;
	background: var(--rdl-card-border);
	border: none;
	max-width: 100%;
}

.rdl-section-divider--dark {
	margin: 32px 0;
	height: 1px;
	background: var(--rdl-card-border);
}

/* Main content area under header */
.rdl-page-body {
	min-height: 40vh;
}

/* Navbar – fixed header (sticky at top while scrolling; fixed works with html zoom) */
.rdl-nav-sticky,
.navbar.rdl-nav.rdl-nav-sticky {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1030;
	margin-bottom: 0 !important;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.rdl-nav {
	background: var(--rdl-nav-bg) !important;
	border: none !important;
	border-bottom: 1px solid var(--rdl-card-border) !important;
	border-radius: 0 !important;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
	margin-bottom: 0;
	min-height: 50px;
}

/* Override Bootstrap navbar defaults that cause misalignment */
.rdl-nav .navbar-nav {
	margin: 0 !important;
}

/* Override Bootstrap navbar default light borders */
.rdl-nav.navbar,
.rdl-nav.navbar-default {
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}

.rdl-nav .navbar-brand {
	color: var(--rdl-accent) !important;
	font-weight: 600;
	font-size: 1.25em;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	padding: 7px 15px;
	min-height: 50px;
	box-sizing: border-box;
}

.rdl-nav .navbar-brand .rdl-nav-logo {
	height: 36px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	vertical-align: middle;
}

/* 3-line logo stack */
.rdl-nav-brand-stack {
	flex-direction: column !important;
	align-items: flex-start !important;
	padding: 4px 15px 6px !important;
	gap: 2px;
}
.rdl-nav-logo-top {
	font-size: 0.55em;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: rgba(255,255,255,0.85);
	text-transform: uppercase;
	line-height: 1.2;
}
.rdl-nav-logo-bottom {
	font-size: 0.5em;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.7);
	line-height: 1.2;
}
.rdl-nav-brand-stack .rdl-nav-logo {
	height: 28px;
	max-width: 100px;
}
.rdl-nav-brand-stack .rdl-nav-logo-text {
	font-size: 1.1em;
}

/* Custom nav: mixed case, no forced uppercase */
.rdl-nav-custom .navbar-nav.navbar-center > li > a {
	text-transform: none;
	font-size: 0.95em;
}

/* PROMO badge on Donation link */
.rdl-nav-promo-wrap {
	position: relative !important;
}
.rdl-nav-promo-badge {
	position: absolute;
	top: -8px;
	right: -6px;
	font-size: 0.5em;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #fff;
	background: var(--rdl-accent);
	padding: 2px 6px;
	border-radius: 4px;
	transform: rotate(8deg);
	white-space: nowrap;
}

/* User icon when logged in */
.rdl-nav-user-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px;
	height: 36px;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,0.1) !important;
	border: 1px solid rgba(255,255,255,0.2) !important;
}
.rdl-nav-user-icon:hover {
	background: rgba(var(--rdl-accent-rgb), 0.2) !important;
	border-color: var(--rdl-accent) !important;
}
.rdl-nav-user-icon .glyphicon-user {
	font-size: 1.1em;
}

.rdl-nav .nav > li > a {
	color: var(--rdl-text-soft) !important;
	font-weight: 500;
	transition: color 0.2s ease, background 0.2s ease;
}

.rdl-nav .nav > li > a:hover,
.rdl-nav .nav > li > a:focus {
	color: var(--rdl-accent) !important;
}
/* Main nav links: underline is the hover indicator, no background fill */
.rdl-nav .navbar-nav.navbar-center > li > a:hover,
.rdl-nav .navbar-nav.navbar-center > li > a:focus,
.rdl-nav .navbar-nav.navbar-center > li.open > a {
	background: transparent !important;
}

.rdl-nav .navbar-toggle .icon-bar {
	background-color: var(--rdl-text-soft);
}

.rdl-nav .dropdown-menu {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	box-shadow: var(--rdl-shadow);
	padding: 8px 0;
	margin-top: 8px;
}

.rdl-nav .dropdown-menu > li > a {
	color: var(--rdl-text-soft) !important;
	padding: 10px 20px;
	transition: all 0.2s ease;
}

.rdl-nav .dropdown-menu > li > a:hover {
	background: var(--rdl-card-hover) !important;
	color: var(--rdl-accent) !important;
}

/* navbar-center layout: table for <768px, flex for desktop (see media query) */
.rdl-nav .navbar-nav.navbar-center { float: none; margin: 0 auto; display: table; table-layout: fixed; }
.rdl-nav .navbar-nav.navbar-center > li > a {
	text-transform: uppercase;
	font-size: 0.9em;
	letter-spacing: 0.02em;
	position: relative;
}
/* Sliding underline on hover */
.rdl-nav .navbar-nav.navbar-center > li > a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--rdl-accent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
}
.rdl-nav .navbar-nav.navbar-center > li > a:hover::after,
.rdl-nav .navbar-nav.navbar-center > li > a:focus::after,
.rdl-nav .navbar-nav.navbar-center > li.open > a::after {
	transform: scaleX(1);
}
@media (min-width: 768px) {
	.rdl-nav .navbar-nav.navbar-center > li > a {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

/* Vertically align logo, nav links, and Register/Login buttons (desktop) */
@media (min-width: 768px) {
	.rdl-nav .container {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center !important;
		min-height: 50px;
	}
	.rdl-nav .navbar-header {
		display: flex !important;
		align-items: center !important;
		float: none !important;
		margin: 0 !important;
	}
	.rdl-nav .navbar-collapse {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center !important;
		float: none !important;
		flex: 1;
		margin: 0 !important;
		padding: 0 !important;
	}
	.rdl-nav .navbar-nav.navbar-center {
		display: flex !important;
		align-items: center !important;
		float: none !important;
		margin: 0 !important;
		flex: 1;
		justify-content: center;
	}
	.rdl-nav .navbar-nav.navbar-center > li {
		display: flex !important;
		align-items: center !important;
	}
	.rdl-nav .navbar-nav.navbar-center > li > a {
		display: flex !important;
		align-items: center !important;
		padding-top: 15px !important;
		padding-bottom: 15px !important;
		line-height: 20px !important;
	}
	.rdl-nav .navbar-nav.navbar-right {
		display: flex !important;
		align-items: center !important;
		float: none !important;
		margin: 0 !important;
	}
	.rdl-nav .navbar-nav.navbar-right > li {
		display: flex !important;
		align-items: center !important;
		float: none !important;
	}
	.rdl-nav .navbar-nav.navbar-right > li > a {
		display: inline-flex !important;
		align-items: center !important;
		vertical-align: middle !important;
	}
	.rdl-nav .nav > li > a.btn-rdl-nav,
	.rdl-nav .nav > li > a.btn-rdl-nav-outline {
		margin: 0 4px !important;
		vertical-align: middle !important;
	}
}

/* Must beat .rdl-nav .nav > li > a { color: ... !important } */
.rdl-nav .nav > li > a.btn-rdl-nav {
	background: var(--rdl-btn-primary) !important;
	color: var(--rdl-btn-primary-text) !important;
	border: none !important;
	padding: 8px 14px !important;
	font-weight: 600 !important;
	font-size: 0.85em !important;
	border-radius: 6px !important;
	margin: 0 4px !important;
	line-height: 1.3 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: background 0.2s ease, color 0.2s ease;
	box-sizing: border-box;
}
.rdl-nav .nav > li > a.btn-rdl-nav:hover,
.rdl-nav .nav > li > a.btn-rdl-nav:focus {
	background: var(--rdl-btn-primary-hover) !important;
	color: var(--rdl-btn-primary-text) !important;
}
.rdl-nav .nav > li > a.btn-rdl-nav-outline {
	background: transparent !important;
	border: 1px solid var(--rdl-btn-outline-border) !important;
	color: var(--rdl-btn-outline-text) !important;
	padding: 7px 14px !important;
	font-weight: 600 !important;
	font-size: 0.85em !important;
	border-radius: 6px !important;
	margin: 0 4px !important;
	line-height: 1.3 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	box-sizing: border-box;
}
.rdl-nav .nav > li > a.btn-rdl-nav-outline:hover,
.rdl-nav .nav > li > a.btn-rdl-nav-outline:focus {
	background: var(--rdl-card-hover) !important;
	border-color: var(--rdl-muted) !important;
	color: var(--rdl-btn-outline-text) !important;
}

/* Language selector next to Register/Login (custom dropdown for flag display) */
.rdl-nav-lang-wrap {
	display: flex;
	align-items: center;
}
.rdl-nav-lang-btn {
	background: var(--rdl-card) !important;
	border: 1px solid var(--rdl-card-border) !important;
	color: var(--rdl-text) !important;
	padding: 6px 10px 6px 8px !important;
	border-radius: 8px !important;
	font-size: 0.85em !important;
	margin-right: 8px !important;
	min-width: 65px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
}
.rdl-nav-lang-btn:hover,
.rdl-nav-lang-btn:focus {
	border-color: var(--rdl-accent) !important;
	outline: none;
}
.rdl-nav-lang-btn .caret {
	margin-left: 2px;
	border-top-color: var(--rdl-accent);
}
.rdl-nav-lang-flag {
	font-size: 1.1em;
	line-height: 1;
}
.rdl-nav-lang-btn img.rdl-nav-lang-flag,
.rdl-nav-lang-menu img.rdl-nav-lang-flag {
	display: inline-block;
	vertical-align: middle;
	flex-shrink: 0;
}
.rdl-nav-lang-menu {
	min-width: 90px;
}
.rdl-nav-lang-menu .rdl-lang-option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
}
.rdl-nav-lang-menu .rdl-lang-option:hover,
.rdl-nav-lang-menu .rdl-lang-active {
	background: var(--rdl-accent);
	color: #000;
}

/* Hero – full-screen (no 100vw — prevents horizontal scrollbar) */
.rdl-hero-full {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 36px;
	min-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--rdl-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}

.rdl-hero-full.rdl-hero-has-video {
	min-height: 92vh;
}

.rdl-hero-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	pointer-events: none;
}

.rdl-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 100%);
	pointer-events: none;
	z-index: 1;
}
/* When no background image/video, hide overlay so theme background shows through */
.rdl-hero-full:not(.rdl-hero-has-media) .rdl-hero-overlay {
	display: none;
}

.rdl-hero-inner {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 60px 24px 80px;
	max-width: 720px;
	/* Prevent backdrop-filter from navbar causing ghosting when overlaying hero */
	isolation: isolate;
}

.rdl-hero-sub {
	font-size: 0.75em;
	font-weight: 600;
	letter-spacing: 0.25em;
	color: rgba(255,255,255,0.9);
	text-transform: uppercase;
	margin: 0 0 12px;
}

.rdl-hero-logo {
	margin: 0 0 24px;
	font-family: var(--font-display);
	font-size: clamp(2.5em, 6vw, 4em);
	font-weight: 800;
	color: var(--rdl-accent);
	text-shadow: 0 1px 3px rgba(0,0,0,0.6);
	letter-spacing: -0.02em;
}

/* Main logo */
.rdl-hero-logo-img {
	max-width: 520px;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

.rdl-hero-stats {
	display: flex;
	align-items: stretch;
	background: rgba(0,0,0,0.5);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 12px;
	padding: 20px 0;
	margin-bottom: 24px;
	min-width: 280px;
}

.rdl-hero-stat {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px 24px;
	min-width: 0;
}

.rdl-hero-stat-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: block;
	flex-shrink: 0;
}

.rdl-hero-stat-online { background: #16a34a; }
.rdl-hero-stat-autotrade { background: var(--rdl-accent); }

.rdl-hero-stat-label {
	font-size: 0.68em;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.75);
	text-transform: uppercase;
	text-align: center;
	line-height: 1.2;
}

.rdl-hero-stat-num {
	font-size: 1.8em;
	font-weight: 700;
	color: #fff;
	margin: 0;
	line-height: 1;
}

.rdl-hero-stat-divider {
	width: 1px;
	align-self: stretch;
	min-height: 48px;
	background: rgba(255,255,255,0.2);
	flex-shrink: 0;
}

.rdl-hero-desc {
	font-size: 1.05em;
	line-height: 1.7;
	color: rgba(255,255,255,0.9);
	max-width: 560px;
	margin: 0 auto 28px;
}

.rdl-hero-btns {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Hero buttons: black text on primary (orange), light text on outline */
.rdl-hero-btns .btn-rdl-primary,
.rdl-hero-btns .btn-rdl-primary:hover {
	color: var(--rdl-btn-primary-text) !important;
}
.rdl-hero-btns .btn-rdl-outline,
.rdl-hero-btns .btn-rdl-outline:hover {
	color: var(--rdl-btn-outline-text) !important;
}

.btn-rdl {
	background: var(--rdl-btn-primary);
	color: var(--rdl-btn-primary-text) !important;
	border: none;
	padding: 14px 32px;
	font-weight: 600;
	font-size: 0.95em;
	border-radius: 8px;
	transition: filter 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.btn-rdl:hover {
	background: var(--rdl-btn-primary-hover);
	color: var(--rdl-btn-primary-text) !important;
}

.btn-rdl-primary {
	background: var(--rdl-btn-primary) !important;
	color: var(--rdl-btn-primary-text) !important;
	transition: background 0.2s ease, color 0.2s ease;
}
.btn-rdl-primary:hover {
	background: var(--rdl-btn-primary-hover) !important;
	color: var(--rdl-btn-primary-text) !important;
}

.btn-rdl-outline {
	background: transparent !important;
	border: 1px solid var(--rdl-btn-outline-border) !important;
	color: var(--rdl-btn-outline-text) !important;
	transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-rdl-outline:hover {
	background: var(--rdl-card-hover) !important;
	color: var(--rdl-btn-outline-text) !important;
	border-color: var(--rdl-muted) !important;
}

/* Scroll-in animation for sections */
.rdl-animate-on-scroll {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 0.55s ease-out, transform 0.55s ease-out;
}
.rdl-animate-on-scroll.rdl-in-view {
	opacity: 1;
	transform: translateY(0);
}
/* Staggered delay for feature cards (Rates, Max Level, etc.) */
.rdl-features .rdl-animate-on-scroll:nth-child(1) { transition-delay: 0.05s; }
.rdl-features .rdl-animate-on-scroll:nth-child(2) { transition-delay: 0.15s; }
.rdl-features .rdl-animate-on-scroll:nth-child(3) { transition-delay: 0.25s; }
.rdl-features .rdl-animate-on-scroll:nth-child(4) { transition-delay: 0.35s; }
/* Staggered delay for discover section header + feature grid */
.rdl-extra-discover .rdl-extra-label.rdl-animate-on-scroll { transition-delay: 0.05s; }
.rdl-extra-discover .rdl-extra-discover-title.rdl-animate-on-scroll { transition-delay: 0.1s; }
.rdl-extra-discover .rdl-extra-discover-sub.rdl-animate-on-scroll { transition-delay: 0.15s; }
.rdl-extra-feature-grid .rdl-animate-on-scroll:nth-child(1) { transition-delay: 0.2s; }
.rdl-extra-feature-grid .rdl-animate-on-scroll:nth-child(2) { transition-delay: 0.28s; }
.rdl-extra-feature-grid .rdl-animate-on-scroll:nth-child(3) { transition-delay: 0.36s; }
.rdl-extra-feature-grid .rdl-animate-on-scroll:nth-child(4) { transition-delay: 0.44s; }

/* Feature boxes – dark band (matches site background) */
.rdl-features-section {
	background: var(--rdl-bg);
	border-top: 1px solid var(--rdl-card-border);
	border-bottom: 1px solid var(--rdl-card-border);
	margin-left: -15px;
	margin-right: -15px;
	padding: 36px 15px 40px;
	max-width: none;
}
.rdl-features-section-label {
	font-size: 1.25em;
	font-weight: 600;
	color: var(--rdl-muted);
	margin: 0 0 20px;
	padding: 0 15px;
}

.rdl-homepage .rdl-container {
	overflow-x: hidden;
	padding-top: 0; /* hero sits under fixed nav; body padding-top clears navbar */
}

.rdl-features {
	margin-bottom: 0;
}

.rdl-features-section .rdl-feature {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px 16px 18px;
	text-align: center;
	margin-bottom: 16px;
	height: 100%;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.rdl-features-section .rdl-feature:hover {
	border-color: var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
}

.rdl-features-section .rdl-feature h3 {
	margin: 0 0 0;
	padding-bottom: 12px;
	margin-bottom: 12px;
	font-size: 0.95em;
	font-weight: 700;
	color: var(--rdl-text);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.35;
	border-bottom: 1px dashed var(--rdl-card-border);
}

.rdl-features-section .rdl-feature p {
	font-size: 0.92em;
	color: var(--rdl-text-soft);
	margin: 0;
	line-height: 1.55;
}

.rdl-feature {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 24px 20px;
	text-align: center;
	margin-bottom: 16px;
	height: 100%;
	transition: all 0.3s ease;
}

.rdl-feature:hover {
	border-color: var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
}

.rdl-feature h3 {
	margin: 0 0 8px;
	font-size: 1.1em;
	font-weight: 600;
	color: var(--rdl-accent);
	letter-spacing: -0.02em;
}

.rdl-feature p {
	font-size: 0.9em;
	color: var(--rdl-text-soft);
	margin: 0;
	line-height: 1.5;
}

/* Stats row */
.rdl-stats {
	margin-bottom: 40px;
}

.rdl-stat {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px 16px;
	text-align: center;
	margin-bottom: 16px;
	transition: all 0.3s ease;
}

.rdl-stat:hover {
	border-color: var(--rdl-card-border);
}

.rdl-stat-num {
	display: block;
	font-size: 1.8em;
	font-weight: 700;
	color: var(--rdl-accent);
}

.rdl-stat-label {
	font-size: 0.8em;
	color: var(--rdl-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: 4px;
}

/* Section title */
.rdl-section-title {
	font-family: var(--font-display);
	font-size: 1.5em;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 24px;
	letter-spacing: -0.02em;
	text-align: center;
}

/* Top players / Rankings */
.rdl-rankings {
	margin-bottom: 40px;
}

.rdl-ranking-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 24px;
	margin-bottom: 20px;
	height: 100%;
	transition: all 0.3s ease;
}

.rdl-ranking-card:hover {
	border-color: var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
}

.rdl-ranking-card h3 {
	margin: 0 0 6px;
	font-size: 1.15em;
	font-weight: 600;
	color: var(--rdl-accent);
}

.rdl-ranking-sub {
	font-size: 0.8em;
	color: var(--rdl-muted);
	margin-bottom: 16px;
}

.rdl-ranking-card .table {
	color: var(--rdl-text);
	margin-bottom: 16px;
}

.rdl-ranking-card .table > thead > tr > th {
	border-color: var(--rdl-card-border);
	color: var(--rdl-muted);
	font-weight: 600;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 10px 8px;
}

.rdl-ranking-card .table > tbody > tr > td {
	border-color: var(--rdl-card-border);
	padding: 10px 8px;
}

.rdl-ranking-card .btn-default {
	background: transparent;
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text-soft);
	border-radius: var(--rdl-radius-sm);
	padding: 8px 18px;
	transition: all 0.2s ease;
}

.rdl-ranking-card .btn-default:hover {
	background: var(--rdl-btn-primary);
	border-color: transparent;
}
.rdl-ranking-char-hover {
	position: relative;
	cursor: default;
}
.rdl-ranking-char-tooltip {
	position: absolute;
	left: 0;
	bottom: 100%;
	margin-bottom: 8px;
	padding: 6px;
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	box-shadow: 0 4px 12px rgba(0,0,0,0.4);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s, visibility 0.15s;
	pointer-events: none;
	z-index: 100;
}
.rdl-ranking-char-hover:hover .rdl-ranking-char-tooltip {
	opacity: 1;
	visibility: visible;
}
.rdl-ranking-char-tooltip img {
	display: block;
	image-rendering: pixelated;
	image-rendering: crisp-edges;
}

/* Floating Discord widget */
.rdl-discord-float {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 999;
}

.rdl-discord-float-link {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease;
}
.rdl-discord-float-link:hover { transform: scale(1.05); }

.rdl-discord-bubble {
	background: var(--rdl-btn-primary);
	color: var(--rdl-btn-primary-text);
	font-size: 0.85em;
	font-weight: 700;
	padding: 10px 16px;
	border-radius: 12px;
	box-shadow: var(--rdl-shadow);
	animation: rdl-discord-pulse 2s ease-in-out infinite;
}
.rdl-discord-icon {
	font-size: 2em;
	line-height: 1;
}
@keyframes rdl-discord-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.85; }
}

/* Discord CTA */
.rdl-discord {
	padding: 32px;
	margin-bottom: 40px;
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	text-align: center;
}

.rdl-discord h2 {
	margin: 0 0 12px;
	font-size: 1.3em;
	font-weight: 600;
	color: var(--rdl-text);
}

/* Extra homepage: spotlight, discover, battle pass */
.rdl-extra-label {
	font-size: clamp(1.15rem, 2.8vw, 1.4rem);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--rdl-accent);
	margin: 0 0 16px;
	line-height: 1.3;
	text-shadow: none;
}

.rdl-extra-spotlight {
	margin-bottom: 8px;
	position: relative;
}

.rdl-spotlight-carousel .carousel-inner > .item {
	transition: 0.5s ease-in-out;
}

.rdl-spotlight-carousel .carousel-inner > .item > .rdl-extra-spotlight-inner {
	margin: 0;
}

/* Carousel arrows: ← → visible on dark background */
.rdl-spotlight-carousel .rdl-carousel-control {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	background: rgba(var(--rdl-accent-rgb), 0.2) !important;
	border: 1px solid rgba(var(--rdl-accent-rgb), 0.5);
	border-radius: 50%;
	color: var(--rdl-accent) !important;
	font-size: 28px;
	line-height: 46px;
	text-align: center;
	opacity: 0.9;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
	z-index: 10;
}
.rdl-spotlight-carousel .rdl-carousel-control:hover,
.rdl-spotlight-carousel .rdl-carousel-control:focus {
	background: rgba(var(--rdl-accent-rgb), 0.35) !important;
	border-color: var(--rdl-accent);
	color: var(--rdl-accent) !important;
	opacity: 1;
}
.rdl-spotlight-carousel .rdl-carousel-control.left {
	left: 16px;
}
.rdl-spotlight-carousel .rdl-carousel-control.right {
	right: 16px;
}

.rdl-extra-spotlight-inner {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 40px 36px;
	box-shadow: var(--rdl-shadow);
	position: relative;
	overflow: hidden;
}

.rdl-extra-spotlight-inner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--rdl-accent);
}

.rdl-extra-kicker {
	margin: 0 0 16px;
	font-size: 0.85rem;
	color: var(--rdl-text-soft);
}

.rdl-extra-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 6px;
	background: rgba(var(--rdl-accent-rgb), 0.15);
	color: var(--rdl-accent);
	font-weight: 600;
	font-size: 0.75rem;
	margin-right: 8px;
}

.rdl-extra-spotlight-title {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 16px;
	line-height: 1.25;
}

.rdl-extra-spotlight-lead {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--rdl-text-soft);
	margin: 0 0 24px;
	max-width: 52rem;
}

.rdl-extra-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
	margin: 0 0 24px;
	padding: 0;
}

.rdl-extra-meta div {
	margin: 0;
}

.rdl-extra-meta dt {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rdl-muted);
	margin-bottom: 4px;
}

.rdl-extra-meta dd {
	margin: 0;
	font-size: 0.95rem;
	color: var(--rdl-text);
}

.rdl-extra-link {
	font-weight: 600;
	color: var(--rdl-accent) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--rdl-accent);
	padding-bottom: 2px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.rdl-extra-link:hover {
	color: var(--rdl-accent-hover) !important;
	border-bottom-color: var(--rdl-accent);
}

.rdl-extra-discover {
	text-align: center;
	margin-bottom: 32px;
	padding: 0 0.5rem;
}

.rdl-extra-discover-title {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 4vw, 2.35rem);
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 20px;
	line-height: 1.3;
}

.rdl-extra-discover-sub {
	font-size: 1.15rem;
	color: var(--rdl-text-soft);
	max-width: 44rem;
	margin: 0 auto 40px;
	line-height: 1.7;
}

.rdl-extra-feature-grid {
	margin-top: 0;
}

.rdl-extra-feature-grid > [class*="col-"] {
	margin-bottom: 20px;
}

.rdl-extra-feature-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 32px 28px;
	text-align: left;
	height: 100%;
	margin-bottom: 0;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.rdl-extra-feature-card:hover {
	border-color: var(--rdl-card-border);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	transform: translateY(-2px);
}

.rdl-extra-feature-tag {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--rdl-accent);
	margin-bottom: 12px;
}

.rdl-extra-feature-card h3 {
	font-size: 1rem;
	font-weight: 600;
	font-family: var(--font-sans);
	color: var(--rdl-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 14px !important;
	border: none !important;
}

.rdl-extra-feature-card p {
	font-size: 1.08rem;
	color: var(--rdl-text-soft);
	line-height: 1.6;
	margin: 0;
}

.rdl-extra-battlepass {
	margin-bottom: 64px;
	padding: 0 0.5rem;
}

@media (min-width: 992px) {
	.rdl-extra-bp-left {
		padding-right: 32px;
	}
	.rdl-extra-bp-right {
		padding-left: 16px;
	}
}

@media (max-width: 991px) {
	.rdl-extra-bp-left {
		margin-bottom: 40px;
	}
}

.rdl-extra-bp-left .rdl-extra-label {
	margin-bottom: 12px;
}

.rdl-extra-bp-title {
	font-family: var(--font-display);
	font-size: clamp(1.65rem, 3.5vw, 2.2rem);
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 24px;
	line-height: 1.3;
}

.rdl-extra-bp-lead {
	font-size: 1.12rem;
	color: var(--rdl-text-soft);
	line-height: 1.7;
	margin-bottom: 28px;
}

.rdl-extra-bp-season {
	font-size: 1.05rem;
	color: var(--rdl-text-soft);
	margin-bottom: 28px;
}

.rdl-extra-bp-pill {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 8px;
	background: rgba(var(--rdl-accent-rgb), 0.15);
	color: var(--rdl-accent);
	font-weight: 600;
	font-size: 0.85rem;
	margin-right: 12px;
}

.rdl-extra-bp-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rdl-extra-bp-tags span {
	padding: 8px 14px;
	border-radius: 8px;
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	font-size: 0.95rem;
	color: var(--rdl-text-soft);
}

.rdl-extra-bp-card {
	background: rgba(var(--rdl-accent-rgb), 0.06);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 36px 32px;
	margin-top: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.rdl-extra-bp-card h3 {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 !important;
	border: none !important;
	line-height: 1.4;
}

.rdl-extra-bp-card > p {
	font-size: 1.08rem;
	color: var(--rdl-text-soft);
	line-height: 1.65;
	margin: 0 !important;
}

.rdl-extra-bp-list {
	list-style: none;
	padding: 0;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.rdl-extra-bp-list li {
	padding: 0;
	font-size: 1.05rem;
	color: var(--rdl-text-soft);
	line-height: 1.5;
}

.rdl-extra-bp-card .btn-rdl-primary {
	margin-top: auto;
	padding: 14px 24px;
}

.rdl-extra-bp-note {
	font-size: 0.78rem;
	color: var(--rdl-muted);
	margin: 0 !important;
	padding-top: 4px;
}

/* Footer — compact, left links + right social (font size matches sections above) */
.rdl-footer {
	background: var(--rdl-nav-bg);
	border-top: 1px solid var(--rdl-card-border);
	padding: 14px 0;
	font-size: 1rem;
}

.rdl-footer-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px 24px;
}

.rdl-footer-left {
	flex: 1;
	min-width: 0;
}

.rdl-footer-links {
	margin: 0 0 6px;
	padding: 0;
}

.rdl-footer-links a {
	color: var(--rdl-muted);
	text-decoration: none;
	transition: color 0.2s ease;
}
.rdl-footer-links a:hover {
	color: var(--rdl-accent);
}

.rdl-footer-sep {
	color: var(--rdl-muted);
	opacity: 0.6;
	margin: 0 8px;
}

.rdl-footer-disclaimer {
	color: var(--rdl-muted);
	margin: 0 0 4px;
	font-size: 0.98rem;
	line-height: 1.4;
}

.rdl-footer-copyright {
	color: var(--rdl-muted);
	margin: 0;
	font-size: 0.98rem;
}

.rdl-footer-copyright a,
.rdl-footer a {
	color: var(--rdl-accent);
	transition: color 0.2s ease;
}
.rdl-footer-copyright a:hover,
.rdl-footer a:hover {
	color: var(--rdl-accent-hover);
}

.rdl-footer-right {
	flex-shrink: 0;
	text-align: right;
}

.rdl-footer-social-heading {
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--rdl-muted);
	margin: 0 0 8px;
	text-transform: uppercase;
}

.rdl-footer-social {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

.rdl-footer-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--rdl-muted);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.rdl-footer-social-icon:hover {
	background: rgba(var(--rdl-accent-rgb), 0.2);
	color: var(--rdl-accent);
}

/* Social icons: simple glyphs per platform */
.rdl-footer-social-facebook::before { content: 'f'; font-size: 0.9rem; font-family: var(--font-display); font-weight: 800; }
.rdl-footer-social-tiktok::before { content: '♪'; font-size: 1rem; }
.rdl-footer-social-discord::before { content: '◉'; font-size: 0.95rem; font-weight: 700; }

.rdl-footer-backtotop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--rdl-accent);
	color: var(--rdl-btn-primary-text);
	text-decoration: none;
	flex-shrink: 0;
	align-self: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 2px 12px rgba(var(--rdl-accent-rgb, 255, 193, 7), 0.35);
}
.rdl-footer-backtotop:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(var(--rdl-accent-rgb, 255, 193, 7), 0.45);
	color: var(--rdl-btn-primary-text);
}
.rdl-footer-backtotop svg {
	display: block;
}

.rdl-footer-meta {
	flex-shrink: 0;
	align-self: center;
}

.rdl-footer-meta small,
.rdl-footer small {
	color: var(--rdl-muted);
	font-size: 1rem;
}

.rdl-footer select {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text);
	padding: 6px 10px;
	border-radius: var(--rdl-radius-sm);
	font-size: 1rem;
	margin-left: 4px;
}
.rdl-footer select:hover,
.rdl-footer select:focus {
	border-color: var(--rdl-accent);
	outline: none;
}
.rdl-footer select option {
	background: var(--rdl-card);
	color: var(--rdl-text);
}

@media (max-width: 767px) {
	.rdl-footer-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.rdl-footer-left {
		order: 1;
	}
	.rdl-footer-right {
		order: 2;
		text-align: center;
	}
	.rdl-footer-meta {
		order: 3;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid rgba(255, 255, 255, 0.06);
	}
	.rdl-footer-social {
		justify-content: center;
	}
	.rdl-footer-backtotop {
		order: 10;
		margin-top: 12px;
	}
}

/* —— CMS / Downloads page —— */
.rdl-cms-page {
	margin-bottom: 48px;
	margin-top: 24px;
	padding: 0 15px;
}

/* Downloads: same “admin form” look — dark panel + gold border on black page */
.rdl-downloads-page {
	background: var(--rdl-panel-bg);
	border: 1px solid var(--rdl-panel-border);
	border-radius: var(--rdl-radius);
	box-shadow: var(--rdl-panel-glow);
	overflow: hidden;
	margin-bottom: 48px;
}

.rdl-downloads-page .rdl-page-banner {
	text-align: center;
	padding: 32px 20px 28px;
	margin: 0;
	border-bottom: 1px solid var(--rdl-card-border);
	background: var(--rdl-card);
	border-radius: 0;
}

.rdl-cms-page:not(.rdl-downloads-page) .rdl-page-banner {
	text-align: center;
	padding: 32px 20px 28px;
	margin: 0 0 24px;
	border-bottom: 1px solid var(--rdl-card-border);
	background: var(--rdl-bg-elevated);
	border-radius: var(--rdl-radius) var(--rdl-radius) 0 0;
}

.rdl-page-banner-title {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 8px;
	letter-spacing: -0.02em;
}

.rdl-page-banner-sub {
	margin: 0;
	color: var(--rdl-text-soft);
	font-size: 1.05em;
}

/* GitBook-style edit: show Edit button for admins (level 99 / group id 99) */
.rdl-page-banner-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
.rdl-page-banner-head .rdl-page-banner-title {
	margin-bottom: 0;
}
.rdl-page-edit-actions {
	flex-shrink: 0;
}
.rdl-btn-edit-page {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	font-size: 0.9em;
	font-weight: 500;
	color: var(--rdl-accent);
	background: rgba(var(--rdl-accent-rgb), 0.15);
	border: 1px solid var(--rdl-accent);
	border-radius: var(--rdl-radius-sm);
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.rdl-btn-edit-page:hover {
	background: var(--rdl-accent);
	color: var(--rdl-btn-primary-text);
	border-color: var(--rdl-accent);
}

.rdl-page-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 28px 32px;
	box-shadow: var(--rdl-shadow);
}

.rdl-downloads-page .rdl-download-cards {
	margin: 24px 24px 24px;
}

.rdl-downloads-page .rdl-page-card {
	background: transparent;
	border: none;
	border-top: 2px solid var(--rdl-card-border);
	border-radius: 0;
	padding: 28px 32px 32px;
	box-shadow: none;
}

.rdl-download-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 20px;
	margin-bottom: 28px;
}
.rdl-download-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 28px 24px;
	background: var(--rdl-card);
	border: 2px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	color: var(--rdl-text);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.rdl-download-card:hover {
	border-color: var(--rdl-accent);
	box-shadow: var(--rdl-shadow);
	transform: translateY(-2px);
}
.rdl-download-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
	color: var(--rdl-accent);
}
.rdl-download-card-icon svg {
	width: 48px;
	height: 48px;
	display: block;
}
.rdl-download-card-label {
	font-size: 0.95em;
	color: var(--rdl-text-soft);
	font-weight: 500;
}
.rdl-download-card-mediafire .rdl-download-card-icon { color: #2d7cbd; }
.rdl-download-card-gdrive .rdl-download-card-icon { color: #4285f4; }
.rdl-download-card-mega .rdl-download-card-icon { color: #e83e8c; }
.rdl-download-card-direct .rdl-download-card-icon { color: var(--rdl-accent); }

/* Download cards: badge, tag, size, btn */
.rdl-download-cards-layout { position: relative; }
.rdl-download-cards-layout .rdl-download-card {
	min-height: 200px;
	position: relative;
}
.rdl-download-card-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	font-size: 0.7em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--rdl-accent);
	background: rgba(255,193,7,0.15);
	padding: 4px 10px;
	border-radius: 4px;
}
.rdl-download-card-tag {
	display: block;
	font-size: 0.82em;
	color: var(--rdl-muted);
	margin: 4px 0 8px;
}
.rdl-download-card-size {
	display: block;
	font-size: 0.9em;
	color: var(--rdl-text-soft);
	margin-bottom: 16px;
}
.rdl-download-card-btn {
	display: inline-block;
	background: var(--rdl-accent);
	color: #000;
	font-weight: 600;
	font-size: 0.9em;
	padding: 10px 24px;
	border-radius: 6px;
	transition: opacity 0.2s;
}
.rdl-download-card:hover .rdl-download-card-btn {
	opacity: 0.9;
}
.rdl-download-card-disabled .rdl-download-card-btn { display: none; }

/* Need help section */
.rdl-download-help {
	margin: 32px 24px 24px;
	padding: 28px 24px;
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
}
.rdl-download-help-title {
	font-size: 1.35em;
	margin: 0 0 8px;
	color: var(--rdl-text);
}
.rdl-download-help-sub {
	margin: 0 0 20px;
	color: var(--rdl-text-soft);
	font-size: 0.98em;
}
.rdl-download-help-label {
	margin: 0 0 8px;
	font-weight: 600;
	font-size: 0.9em;
	color: var(--rdl-text-soft);
}
.rdl-download-help-issues {
	margin: 0 0 20px;
	padding-left: 20px;
	color: var(--rdl-text-soft);
	line-height: 1.7;
}
.rdl-download-help-links { display: flex; gap: 12px; flex-wrap: wrap; }
.rdl-download-help-link {
	display: inline-block;
	padding: 10px 20px;
	background: var(--rdl-accent);
	color: #000;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	transition: opacity 0.2s;
}
.rdl-download-help-link:hover { color: #000; opacity: 0.9; }

/* Server info layout */
.rdl-serverinfo-page .rdl-page-banner { margin-bottom: 0; }
.rdl-serverinfo-layout {
	padding: 28px 32px 40px;
	background: var(--rdl-card);
	border-top: 1px solid var(--rdl-card-border);
}
.rdl-serverinfo-intro {
	margin: 0 0 28px;
	color: var(--rdl-text-soft);
	line-height: 1.7;
	font-size: 1.02em;
}
.rdl-serverinfo-h3 {
	font-size: 1.25em;
	margin: 24px 0 12px;
	color: var(--rdl-text);
	font-weight: 600;
}
.rdl-serverinfo-h3:first-child { margin-top: 0; }
.rdl-serverinfo-tables-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 32px;
	margin-bottom: 28px;
}
@media (max-width: 768px) {
	.rdl-serverinfo-tables-grid { grid-template-columns: 1fr; }
}
.rdl-serverinfo-table-col {
	min-width: 0;
}
.rdl-serverinfo-table-col .rdl-serverinfo-h3 { margin-top: 0; }
.rdl-serverinfo-table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin-bottom: 0;
}
.rdl-serverinfo-table th,
.rdl-serverinfo-table td {
	padding: 10px 16px;
	text-align: left;
	border: 1px solid var(--rdl-card-border);
}
.rdl-serverinfo-table th {
	background: var(--rdl-bg-elevated);
	color: var(--rdl-text-soft);
	font-weight: 600;
	width: 40%;
}
.rdl-serverinfo-table td { color: var(--rdl-text); }
.rdl-serverinfo-text {
	margin: 0 0 16px;
	color: var(--rdl-text-soft);
	line-height: 1.7;
	font-size: 1em;
}
.rdl-serverinfo-features-grid {
	width: 100%;
	max-width: 600px;
	border-collapse: collapse;
	margin-bottom: 20px;
}
.rdl-serverinfo-features-grid td {
	padding: 10px 16px;
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text-soft);
	font-size: 0.95em;
}

.rdl-download-card-disabled {
	cursor: not-allowed;
	opacity: 0.72;
	pointer-events: auto;
}
.rdl-download-card-disabled:hover {
	transform: none;
	box-shadow: none;
	border-color: var(--rdl-card-border);
}
.rdl-download-card-hint {
	display: block;
	margin-top: 8px;
	font-size: 0.72em;
	color: var(--rdl-muted);
	text-align: center;
}

.rdl-placeholder-page {
	text-align: center;
	padding: 48px 24px;
	color: var(--rdl-text-soft);
}
.rdl-placeholder-icon {
	font-size: 3em;
	margin: 0 0 16px;
	opacity: 0.6;
}
.rdl-placeholder-title {
	font-size: 1.5em;
	margin: 0 0 12px;
	color: var(--rdl-text);
}
.rdl-placeholder-message {
	margin: 0;
	font-size: 1.05em;
	color: var(--rdl-muted);
}

.rdl-cms-body {
	color: var(--rdl-text-soft);
	font-size: 1.02em;
	line-height: 1.75;
}

.rdl-cms-body a {
	font-weight: 600;
}

.rdl-cms-body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--rdl-radius-sm);
}

/* GitBook-style in-place editing (Admin only) */
.rdl-cms-body-editable {
	outline: none;
	min-height: 120px;
	padding: 4px 0;
}
.rdl-cms-body-editable:focus {
	box-shadow: inset 0 0 0 2px rgba(var(--rdl-accent-rgb), 0.4);
	border-radius: var(--rdl-radius-sm);
}
.rdl-inline-edit-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px;
	margin-bottom: 16px;
	background: rgba(var(--rdl-accent-rgb), 0.12);
	border: 1px solid rgba(var(--rdl-accent-rgb), 0.3);
	border-radius: var(--rdl-radius-sm);
	position: sticky;
	top: 70px;
	z-index: 10;
}
.rdl-inline-edit-hint {
	font-size: 0.85em;
	color: var(--rdl-muted);
	margin-right: auto;
}
.rdl-btn-inline-save,
.rdl-btn-inline-cancel {
	padding: 6px 14px;
	font-size: 0.9em;
	font-weight: 500;
	border-radius: var(--rdl-radius-sm);
	cursor: pointer;
	border: 1px solid transparent;
	transition: background 0.2s, border-color 0.2s;
}
.rdl-btn-inline-save {
	background: var(--rdl-accent);
	color: var(--rdl-btn-primary-text);
	border-color: var(--rdl-accent);
}
.rdl-btn-inline-save:hover:not(:disabled) {
	background: var(--rdl-accent-hover);
	border-color: var(--rdl-accent-hover);
}
.rdl-btn-inline-save:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}
.rdl-btn-inline-cancel {
	background: transparent;
	color: var(--rdl-text-soft);
	border-color: var(--rdl-card-border);
}
.rdl-btn-inline-cancel:hover {
	background: var(--rdl-card-hover);
	border-color: var(--rdl-muted);
}

.rdl-cms-meta {
	margin: 24px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--rdl-card-border);
	color: var(--rdl-muted);
}

/* —— Database (items / monsters) —— */
.rdl-mod-item .rdl-page-body > h2:first-child,
.rdl-mod-monster .rdl-page-body > h2:first-child {
	font-size: 1.75rem;
	font-weight: 700;
	padding-bottom: 12px;
	margin: 0 0 20px;
	border-bottom: 2px solid var(--rdl-accent);
	display: inline-block;
	width: 100%;
}

.rdl-mod-item .toggler,
.rdl-mod-monster .toggler {
	margin-bottom: 12px;
}

.rdl-mod-item .toggler a,
.rdl-mod-monster .toggler a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: rgba(var(--rdl-accent-rgb), 0.12);
	border: 1px solid rgba(var(--rdl-accent-rgb), 0.28);
	border-radius: 8px;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 0.06em;
}

.rdl-mod-item .search-form,
.rdl-mod-monster .search-form {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 24px 28px;
	margin-bottom: 28px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.rdl-mod-item .search-form label,
.rdl-mod-monster .search-form label {
	color: var(--rdl-text-soft);
	font-weight: 500;
	margin-right: 6px;
}

.rdl-mod-item .search-form input[type="submit"],
.rdl-mod-item .search-form input[type="button"],
.rdl-mod-monster .search-form input[type="submit"],
.rdl-mod-monster .search-form input[type="button"] {
	border-radius: 8px;
	padding: 8px 22px;
	font-weight: 600;
	margin-right: 8px;
	margin-top: 8px;
}

.rdl-mod-item .search-form input[type="submit"],
.rdl-mod-monster .search-form input[type="submit"] {
	background: var(--rdl-btn-primary);
	border: none;
	color: var(--rdl-btn-primary-text);
}

.rdl-mod-item .search-form input[type="button"],
.rdl-mod-monster .search-form input[type="button"] {
	background: transparent;
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text-soft);
}

.rdl-mod-item .horizontal-table,
.rdl-mod-monster .horizontal-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--rdl-radius);
	overflow: hidden;
	border: 1px solid var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
}

.rdl-mod-item .rdl-page-body,
.rdl-mod-monster .rdl-page-body {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.rdl-mod-item h3,
.rdl-mod-monster h3 {
	color: var(--rdl-accent);
	border-bottom: 1px solid var(--rdl-card-border);
	padding-bottom: 10px;
	margin-top: 24px;
}

.rdl-mod-item .vertical-table,
.rdl-mod-monster .vertical-table {
	border-radius: var(--rdl-radius);
	overflow: hidden;
	border: 1px solid var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
}

/* Item / monster view */
.rdl-mod-item.rdl-act-view .rdl-page-body > h2,
.rdl-mod-monster.rdl-act-view .rdl-page-body > h2 {
	border-bottom: 2px solid var(--rdl-accent);
	padding-bottom: 12px;
}

/* —— Item page (redesigned) —— */
.rdl-item-page .rdl-page-banner {
	margin-bottom: 28px;
}
.rdl-item-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 24px 28px;
	margin-bottom: 24px;
	box-shadow: var(--rdl-shadow);
}
.rdl-item-card-title {
	font-size: 1.1em;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.rdl-item-card-icon { font-size: 1.2em; }
.rdl-item-toggle-link {
	color: var(--rdl-accent);
	font-weight: 500;
	cursor: pointer;
}
.rdl-item-toggle-link:hover { color: var(--rdl-accent-hover); }
.rdl-item-form-grid { margin-top: 16px; }
.rdl-item-form-grid .rdl-form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin-bottom: 16px;
}
.rdl-item-form-grid .rdl-form-row:last-of-type { margin-bottom: 0; }
.rdl-item-form-grid .rdl-form-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 120px;
}
.rdl-item-form-grid .rdl-form-group-flex { flex: 1; min-width: 160px; }
.rdl-item-form-grid .rdl-form-inline {
	display: flex;
	gap: 8px;
	align-items: center;
}
.rdl-item-form-grid .rdl-form-inline .rdl-form-input-sm {
	width: 56px;
	min-width: 56px;
}
.rdl-item-form-grid .rdl-form-input {
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text);
	padding: 8px 12px;
	border-radius: var(--rdl-radius-sm);
	font-size: 0.95em;
}
.rdl-item-form-grid .rdl-form-input:focus {
	outline: none;
	border-color: var(--rdl-accent);
}
.rdl-item-form-grid label {
	color: var(--rdl-text-soft);
	font-size: 0.85em;
	font-weight: 500;
}
.rdl-item-form-grid .rdl-form-actions {
	margin-top: 20px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.rdl-item-paginator-info {
	margin: 0 0 16px;
	color: var(--rdl-text-soft);
	font-size: 0.9em;
}
.rdl-item-table { margin-bottom: 0; }
.rdl-item-table tbody tr:hover td { background: var(--rdl-card-hover) !important; }
.rdl-item-icon-cell { width: 32px; padding: 6px 10px !important; }
.rdl-item-icon { width: 24px; height: 24px; object-fit: contain; vertical-align: middle; }
.rdl-item-id { font-family: monospace; font-size: 0.9em; }
.rdl-item-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.8em;
	font-weight: 600;
}
.rdl-item-badge-yes {
	background: rgba(var(--rdl-accent-rgb), 0.2);
	color: var(--rdl-accent);
}
.rdl-item-badge-yes:hover { color: var(--rdl-accent-hover); }
.rdl-item-badge-no {
	background: rgba(255,255,255,0.06);
	color: var(--rdl-muted);
}
.rdl-item-empty-card { text-align: center; padding: 48px 28px; }
.rdl-item-not-found-icon { font-size: 3em; margin: 0 0 12px; opacity: 0.6; }
.rdl-item-not-found-text { font-size: 1.1em; font-weight: 600; margin: 0 0 8px; }
.rdl-item-not-found-hint { color: var(--rdl-muted); margin: 0; }
.rdl-item-link { color: var(--rdl-accent); }
.rdl-item-link:hover { color: var(--rdl-accent-hover); }
.rdl-item-debug { font-size: 0.75em; text-align: left; margin-top: 16px; padding: 12px; background: var(--rdl-bg); border-radius: 6px; overflow-x: auto; }

/* Monster index page */
.rdl-monster-page .rdl-page-banner { margin-bottom: 28px; }
.rdl-monster-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px;
	margin-bottom: 20px;
}
.rdl-monster-toggle-link { color: var(--rdl-accent); }
.rdl-monster-paginator-info { margin: 0 0 16px; color: var(--rdl-text-soft); font-size: 0.9em; }
.rdl-monster-table { margin-bottom: 0; }
.rdl-monster-table tbody tr:hover td { background: var(--rdl-card-hover) !important; }
.rdl-monster-sprite-cell { width: 72px; padding: 4px 10px !important; text-align: center; vertical-align: middle !important; }
.rdl-monster-sprite {
	image-rendering: pixelated;
	image-rendering: crisp-edges;
	vertical-align: middle;
}
.rdl-monster-id { font-family: monospace; font-size: 0.9em; }
.rdl-monster-empty { margin: 0; color: var(--rdl-text-soft); }

/* Item view page */
.rdl-item-view-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-item-view-hero {
	display: flex;
	align-items: center;
	gap: 20px;
	flex: 1;
	min-width: 0;
}
.rdl-item-view-icon-wrap {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--rdl-bg-elevated);
	border-radius: var(--rdl-radius);
	border: 1px solid var(--rdl-card-border);
}
.rdl-item-view-icon { width: 48px; height: 48px; object-fit: contain; }
.rdl-item-view-heading { min-width: 0; }
.rdl-item-view-back { margin: 0 0 8px; font-size: 0.9em; }
.rdl-item-view-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 6px;
	line-height: 1.3;
}
.rdl-item-view-meta {
	color: var(--rdl-muted);
	font-size: 0.95em;
	margin: 0;
}
.rdl-item-view-shop-badge { flex-shrink: 0; }
.rdl-item-badge-shop {
	background: linear-gradient(135deg, var(--rdl-btn-grad-start), var(--rdl-btn-grad-end));
	color: var(--rdl-btn-primary-text);
	padding: 8px 16px;
}
.rdl-item-badge-shop:hover { opacity: 0.95; }
.rdl-item-view-content {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
}
.rdl-item-view-sidebar {
	flex-shrink: 0;
	width: 180px;
}
.rdl-item-view-image-wrap {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px;
	text-align: center;
}
.rdl-item-view-image { max-width: 100%; height: auto; }
.rdl-item-view-main { flex: 1; min-width: 280px; }
.rdl-item-view-main-full { flex: 1 1 100%; }
.rdl-item-section-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--rdl-accent);
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-item-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 16px 24px;
	margin: 0;
}
.rdl-item-stat dt {
	font-size: 0.8em;
	color: var(--rdl-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 4px;
	font-weight: 600;
}
.rdl-item-stat dd {
	margin: 0;
	font-size: 1em;
	color: var(--rdl-text);
}
.rdl-item-stat code {
	background: var(--rdl-bg);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 0.9em;
}
.rdl-item-meta-list { margin: 0; }
.rdl-item-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	padding: 10px 0;
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-item-meta-row:last-child { border-bottom: none; }
.rdl-item-meta-row dt {
	width: 140px;
	flex-shrink: 0;
	margin: 0;
	font-size: 0.9em;
	color: var(--rdl-muted);
	font-weight: 500;
}
.rdl-item-meta-row dd { margin: 0; flex: 1; color: var(--rdl-text); }
.rdl-item-script-block {
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-item-script-block:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.rdl-item-script-block strong { display: block; margin-bottom: 8px; font-size: 0.9em; color: var(--rdl-text-soft); }
.rdl-item-script-content {
	background: var(--rdl-bg);
	padding: 12px;
	border-radius: var(--rdl-radius-sm);
	font-family: monospace;
	font-size: 0.85em;
	overflow-x: auto;
}
.rdl-item-desc-body { color: var(--rdl-text-soft); line-height: 1.6; }
.rdl-item-drops-card { margin-top: 24px; }
.rdl-item-drops-table { margin-bottom: 0; }
.rdl-item-drop-row td { vertical-align: middle !important; }
.rdl-item-mvp-badge {
	display: inline-block;
	background: var(--rdl-btn-primary);
	color: var(--rdl-btn-primary-text);
	font-size: 0.7em;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 4px;
	margin-right: 8px;
	vertical-align: middle;
}
.rdl-item-drop-rate { color: var(--rdl-accent); }

/* —— Rankings —— */
.rdl-mod-ranking .rdl-page-body > h2:first-of-type {
	font-size: 1.75rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--rdl-text);
}

.rdl-mod-ranking .rdl-page-body > h3 {
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--rdl-text-soft);
	margin: 0 0 24px;
	border: none;
	padding: 0;
}

.rdl-mod-ranking .search-form2 {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px 24px;
	margin-bottom: 24px;
}

.rdl-mod-ranking .search-form2 input[type="submit"],
.rdl-mod-ranking .search-form2 input[type="button"] {
	border-radius: 8px;
	padding: 8px 20px;
	font-weight: 600;
	margin-right: 8px;
}

.rdl-mod-ranking .search-form2 input[type="submit"] {
	background: var(--rdl-btn-primary);
	border: none;
	color: var(--rdl-btn-primary-text);
}

.rdl-mod-ranking .horizontal-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--rdl-radius);
	overflow: hidden;
	border: 1px solid var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
	margin-bottom: 24px;
}

.rdl-mod-ranking .horizontal-table tbody tr:nth-child(even) td {
	background: rgba(255,255,255,0.02) !important;
}

.rdl-mod-ranking .horizontal-table tr.top-ranked td {
	background: var(--rdl-card) !important;
	border-color: rgba(var(--rdl-accent-rgb), 0.25) !important;
}

.rdl-mod-ranking .horizontal-table tr.top-ranked td:first-child {
	font-weight: 700;
	color: var(--rdl-accent);
}

.rdl-mod-ranking .mvp {
	display: inline-block;
	background: var(--rdl-btn-primary);
	color: var(--rdl-btn-primary-text);
	font-size: 0.7em;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 4px;
	margin-right: 6px;
	vertical-align: middle;
}

.rdl-mod-ranking .search-form2 select,
.rdl-mod-item .search-form select,
.rdl-mod-monster .search-form select {
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text);
	padding: 8px 14px;
	border-radius: var(--rdl-radius-sm);
	min-height: 38px;
}

.rdl-container .info-text {
	color: var(--rdl-muted);
	font-size: 0.95em;
	margin: 0 0 16px;
	padding: 12px 16px;
	background: var(--rdl-bg-elevated);
	border-radius: var(--rdl-radius-sm);
	border-left: 3px solid var(--rdl-accent);
}

/* Pagination */
.rdl-container .pagination > li > a,
.rdl-container .pagination > li > span {
	background: var(--rdl-bg-elevated);
	border-color: var(--rdl-card-border);
	color: var(--rdl-text-soft);
	border-radius: 8px !important;
	margin: 0 3px;
}

.rdl-container .pagination > li > a:hover {
	background: rgba(var(--rdl-accent-rgb), 0.15);
	border-color: var(--rdl-accent);
	color: var(--rdl-accent);
}

.rdl-container .pagination > .active > a,
.rdl-container .pagination > .active > span {
	background: var(--rdl-btn-primary) !important;
	border-color: transparent !important;
	color: var(--rdl-btn-primary-text) !important;
}

.rdl-container .pagination > .disabled > span {
	opacity: 0.45;
}

/* Overrides – dark theme for tables & forms */
.rdl-container .generic-form-div,
.rdl-container .generic-form {
	background: var(--rdl-card) !important;
	border: 1px solid var(--rdl-card-border) !important;
	border-radius: var(--rdl-radius);
	padding: 20px !important;
}

.rdl-container .generic-form-table th,
.rdl-container .generic-form-table td {
	background: transparent !important;
	border-color: var(--rdl-card-border) !important;
	color: var(--rdl-text) !important;
}

.rdl-container .generic-form-table th label { color: var(--rdl-text-soft) !important; }
.rdl-container .generic-form-table td p { color: var(--rdl-text) !important; }
.rdl-container .generic-form-table .important { color: var(--rdl-accent) !important; }

.rdl-container .horizontal-table th,
.rdl-container .vertical-table th {
	background: var(--rdl-bg-elevated) !important;
	border-color: var(--rdl-card-border) !important;
	color: var(--rdl-text-soft) !important;
}

.rdl-container .horizontal-table td,
.rdl-container .vertical-table td,
.rdl-container .horizontal-table th,
.rdl-container .vertical-table th {
	border-color: var(--rdl-card-border) !important;
}

.rdl-container .horizontal-table td,
.rdl-container .vertical-table td {
	background: var(--rdl-card) !important;
	color: var(--rdl-text) !important;
}

.rdl-container #server_status {
	background: var(--rdl-card) !important;
	border: 1px solid var(--rdl-card-border) !important;
	border-radius: var(--rdl-radius);
}

.rdl-container #server_status th,
.rdl-container #server_status td {
	background: transparent !important;
	border-color: var(--rdl-card-border) !important;
	color: var(--rdl-text) !important;
}

.rdl-container #server_status .server { color: var(--rdl-text) !important; }
.rdl-container #server_status .status { color: var(--rdl-text-soft) !important; }

.rdl-container .woe-table {
	background: var(--rdl-card) !important;
	border-color: var(--rdl-card-border) !important;
}

.rdl-container .woe-table th,
.rdl-container .woe-table td {
	background: transparent !important;
	border-color: var(--rdl-card-border) !important;
	color: var(--rdl-text) !important;
}

.rdl-container .table { color: var(--rdl-text); }
.rdl-container .table-striped > tbody > tr:nth-of-type(odd) { background: rgba(255,255,255,0.02); }

.rdl-container .panel {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
}

.rdl-container .panel-heading {
	background: var(--rdl-bg-elevated);
	border-bottom: 1px solid var(--rdl-card-border);
	color: var(--rdl-text);
	font-weight: 600;
}

.rdl-container .form-control {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text);
	border-radius: var(--rdl-radius-sm);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rdl-container .form-control:focus {
	background: var(--rdl-card);
	border-color: var(--rdl-accent);
	color: var(--rdl-text);
	box-shadow: 0 0 0 2px var(--rdl-card-border);
}

.rdl-container .alert-info {
	background: rgba(var(--rdl-accent-rgb),0.12);
	border: 1px solid rgba(var(--rdl-accent-rgb),0.25);
	color: var(--rdl-text);
	border-radius: var(--rdl-radius-sm);
}

.rdl-container h1, .rdl-container h2, .rdl-container h3 {
	color: var(--rdl-text);
	font-weight: 600;
	letter-spacing: -0.02em;
}

.rdl-container h3 { border-bottom-color: var(--rdl-card-border) !important; }

.rdl-container #submenu, .rdl-container #pagemenu {
	color: var(--rdl-muted);
	font-size: 0.9em;
	margin-bottom: 16px;
}

.rdl-container #submenu a, .rdl-container #pagemenu a {
	color: var(--rdl-accent);
	transition: color 0.2s ease;
}

.rdl-container #submenu a:hover, .rdl-container #pagemenu a:hover { color: var(--rdl-accent-hover); }
.rdl-container .current-sub-menu { color: var(--rdl-text) !important; font-weight: 500; }
.rdl-container a { color: var(--rdl-accent); transition: color 0.2s ease; }
.rdl-container a:hover { color: var(--rdl-accent-hover); }

/* —— Account View —— */
.rdl-account-view {
	margin-bottom: 48px;
}
.rdl-account-alert {
	padding: 16px 20px;
	border-radius: var(--rdl-radius);
	margin-bottom: 24px;
	font-weight: 500;
}
.rdl-account-alert-error {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid rgba(239, 68, 68, 0.35);
	color: #fca5a5;
}
.rdl-account-alert-warning {
	background: rgba(234, 179, 8, 0.15);
	border: 1px solid rgba(234, 179, 8, 0.35);
	color: #fde047;
}
.rdl-account-hero {
	background: linear-gradient(135deg, var(--rdl-card) 0%, var(--rdl-bg-elevated) 100%);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 32px 28px;
	margin-bottom: 24px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.rdl-account-hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--rdl-btn-grad-start), var(--rdl-btn-grad-end));
}
.rdl-account-hero-inner {
	position: relative;
}
.rdl-account-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(var(--rdl-accent-rgb), 0.2);
	border: 2px solid var(--rdl-accent);
	margin-bottom: 16px;
}
.rdl-account-avatar-icon {
	font-size: 1.5em;
	font-weight: 700;
	color: var(--rdl-accent);
	text-transform: uppercase;
}
.rdl-account-hero-title {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 12px;
	letter-spacing: -0.02em;
}
.rdl-account-badge {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 0.8em;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.rdl-account-badge-active {
	background: rgba(34, 197, 94, 0.2);
	color: #86efac;
	border: 1px solid rgba(34, 197, 94, 0.4);
}
.rdl-account-badge-pending {
	background: rgba(234, 179, 8, 0.2);
	color: #fde047;
	border: 1px solid rgba(234, 179, 8, 0.4);
}
.rdl-account-badge-banned {
	background: rgba(239, 68, 68, 0.2);
	color: #fca5a5;
	border: 1px solid rgba(239, 68, 68, 0.4);
}
.rdl-account-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 28px;
}
.rdl-account-stat {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px 16px;
	text-align: center;
	transition: border-color 0.2s ease;
}
.rdl-account-stat:hover {
	border-color: var(--rdl-card-border);
}
.rdl-account-stat-num {
	display: block;
	font-size: 1.5em;
	font-weight: 700;
	color: var(--rdl-accent);
	margin-bottom: 4px;
}
.rdl-account-stat-label {
	font-size: 0.82em;
	color: var(--rdl-muted);
	line-height: 1.4;
}
.rdl-account-stat-label a { color: var(--rdl-accent); }
.rdl-account-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 28px;
	margin-bottom: 24px;
	box-shadow: var(--rdl-shadow);
}
.rdl-account-card-title {
	font-size: 1.15em;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--rdl-accent);
	letter-spacing: -0.02em;
}
.rdl-account-details {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px 28px;
}
.rdl-account-detail-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}
.rdl-account-detail-label {
	font-size: 0.85em;
	color: var(--rdl-muted);
	min-width: 120px;
}
.rdl-account-detail-value {
	color: var(--rdl-text);
	font-weight: 500;
}
.rdl-account-detail-value .not-applicable { color: var(--rdl-muted); font-weight: normal; }
.rdl-account-ban-actions {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--rdl-card-border);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.rdl-account-ban-form { flex: 1; min-width: 200px; }
.rdl-account-ban-toggle {
	display: block;
	width: 100%;
	padding: 12px 18px;
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text-soft);
	font-weight: 600;
	font-size: 0.9em;
	text-align: left;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
}
.rdl-account-ban-toggle:hover {
	background: var(--rdl-card-hover);
	border-color: var(--rdl-muted);
}
.rdl-account-ban-toggle-danger:hover { border-color: rgba(239, 68, 68, 0.5); }
.rdl-account-ban-toggle-success:hover { border-color: rgba(34, 197, 94, 0.5); }
.rdl-account-ban-inner {
	margin-top: 16px;
	padding: 20px;
	background: var(--rdl-bg);
	border-radius: var(--rdl-radius-sm);
	border: 1px solid var(--rdl-card-border);
}
.rdl-account-ban-inner .form-group { margin-bottom: 16px; }
.rdl-account-ban-inner label {
	display: block;
	font-size: 0.9em;
	color: var(--rdl-text-soft);
	margin-bottom: 6px;
}
/* Fix invisible date/time selects – dark theme styling for Ban Until fields */
.rdl-account-ban-inner .date-time-field {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.9rem;
	color: var(--rdl-text-soft);
}
.rdl-account-ban-inner .date-time-field .date-field {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0; /* hide literal "-" between date selects */
}
.rdl-account-ban-inner .date-time-field select,
.rdl-account-ban-inner .date-field select {
	font-size: 0.9rem;
	background: var(--rdl-bg-elevated) !important;
	border: 1px solid var(--rdl-card-border) !important;
	color: var(--rdl-text) !important;
	padding: 8px 10px;
	border-radius: var(--rdl-radius-sm);
	min-width: 52px;
	line-height: 1.4;
	-webkit-appearance: menulist;
	appearance: menulist;
}
.rdl-account-ban-inner .date-time-field select option,
.rdl-account-ban-inner .date-field select option {
	background: var(--rdl-bg-elevated);
	color: var(--rdl-text);
}
.rdl-account-ban-inner .date-time-field select:focus,
.rdl-account-ban-inner .date-field select:focus {
	border-color: var(--rdl-accent);
	outline: none;
}
.rdl-account-ban-inner .date-field select[name$="_year"] { min-width: 70px; }
.rdl-account-ban-inner textarea.form-control {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	color: var(--rdl-text);
}
.rdl-account-table {
	width: 100%;
	border-collapse: collapse;
}
.rdl-account-table th,
.rdl-account-table td {
	padding: 10px 14px;
	text-align: left;
	border: 1px solid var(--rdl-card-border);
}
.rdl-account-table th {
	background: var(--rdl-bg-elevated);
	color: var(--rdl-text-soft);
	font-weight: 600;
	font-size: 0.82em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.rdl-account-table td {
	background: var(--rdl-card);
	color: var(--rdl-text);
	font-size: 0.9em;
}
.rdl-account-table tbody tr:nth-child(even) td {
	background: var(--rdl-bg-elevated);
}
.rdl-account-characters {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}
.rdl-account-char-card {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rdl-account-char-card:hover {
	border-color: var(--rdl-card-border);
}
.rdl-account-char-online {
	border-left: 3px solid #16a34a;
}
.rdl-account-char-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 14px;
	background: var(--rdl-bg);
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-account-char-slot {
	font-size: 0.75em;
	color: var(--rdl-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.rdl-account-char-status {
	font-size: 0.75em;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
}
.rdl-account-char-status.online {
	background: rgba(34, 197, 94, 0.2);
	color: #86efac;
}
.rdl-account-char-status.offline {
	background: rgba(113, 113, 122, 0.2);
	color: var(--rdl-muted);
}
.rdl-account-char-body {
	padding: 16px 14px;
}
.rdl-account-char-name {
	font-size: 1.05em;
	font-weight: 700;
	margin: 0 0 4px;
}
.rdl-account-char-name a { color: var(--rdl-accent); }
.rdl-account-char-class {
	font-size: 0.9em;
	color: var(--rdl-text-soft);
	margin: 0 0 12px;
}
.rdl-account-char-stats {
	font-size: 0.9em;
	color: var(--rdl-muted);
	margin-bottom: 8px;
}
.rdl-account-char-zeny {
	color: var(--rdl-accent);
	font-weight: 600;
	margin-left: 4px;
}
.rdl-account-char-guild {
	font-size: 0.82em;
	color: var(--rdl-text-soft);
	display: flex;
	align-items: center;
	gap: 8px;
}
.rdl-account-char-emblem {
	width: 24px;
	height: 24px;
	object-fit: contain;
}
.rdl-account-char-sprite {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
	margin: 12px 0;
	background: rgba(0, 0, 0, 0.15);
	border-radius: 6px;
}
.rdl-account-char-img {
	image-rendering: pixelated;
	image-rendering: crisp-edges;
	max-width: 100%;
	height: auto;
}
.rdl-account-char-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	padding: 14px 16px;
	background: var(--rdl-bg);
	border-top: 1px solid var(--rdl-card-border);
}
.rdl-account-char-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	font-size: 0.82em;
	font-weight: 500;
	color: var(--rdl-text-soft);
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	text-decoration: none;
	transition: all 0.2s ease;
	text-shadow: none;
}
.rdl-account-char-btn:hover {
	color: var(--rdl-text);
	background: var(--rdl-card-hover);
	border-color: var(--rdl-accent);
}
.rdl-account-char-total {
	margin: 16px 0 0;
	font-size: 1em;
	color: var(--rdl-text-soft);
}
.rdl-account-empty,
.rdl-account-storage-count {
	color: var(--rdl-text-soft);
	margin: 0 0 16px;
	text-align: center;
}
.rdl-account-storage-table {
	font-size: 0.85em;
}
.rdl-storage-icon {
	width: 24px;
	height: 24px;
	object-fit: contain;
	vertical-align: middle;
}
.rdl-account-not-found {
	text-align: center;
	padding: 40px 24px;
}
.rdl-account-not-found .btn { display: inline-block; }
.rdl-account-not-found p {
	margin: 0 0 20px;
	color: var(--rdl-text-soft);
}
@media (max-width: 576px) {
	.rdl-account-stats {
		grid-template-columns: 1fr;
	}
	.rdl-account-details {
		grid-template-columns: 1fr;
	}
	.rdl-account-characters {
		grid-template-columns: 1fr;
	}
}

/* Modals – redesigned glass card with accent stripe */
.rdl-modal {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	padding: 24px !important;
	-webkit-overflow-scrolling: touch;
}
.rdl-modal.in {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.rdl-modal .modal-dialog {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	margin: auto !important;
	transform: none !important;
	max-height: calc(100vh - 48px) !important;
	overflow-y: auto !important;
	width: 100%;
}
.rdl-modal.fade .modal-dialog {
	transform: scale(0.95);
	opacity: 0;
	transition: transform 0.25s ease, opacity 0.25s ease;
}
.rdl-modal.fade.in .modal-dialog {
	transform: scale(1);
	opacity: 1;
}
.rdl-modal-dialog-sm {
	max-width: 400px !important;
}
.rdl-modal-dialog-login {
	max-width: 400px !important;
	width: 100%;
}
.rdl-modal-dialog-register {
	max-width: 540px !important;
	width: 100%;
}
.rdl-modal .modal-content {
	position: relative;
	background: linear-gradient(165deg, var(--rdl-card) 0%, var(--rdl-bg-elevated) 100%);
	border: 1px solid var(--rdl-card-border);
	border-radius: 16px;
	box-shadow: 0 24px 80px rgba(0,0,0,0.6), 0 0 1px rgba(255,255,255,0.06);
	color: var(--rdl-text);
	overflow: hidden;
}
.rdl-modal-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--rdl-btn-grad-start), var(--rdl-btn-grad-end));
	opacity: 0.95;
}
.rdl-modal .modal-header {
	position: relative;
	background: transparent;
	border-bottom: none;
	padding: 28px 28px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rdl-modal .modal-title {
	color: var(--rdl-text);
	font-weight: 700;
	font-size: 1.35em;
	letter-spacing: -0.02em;
	margin: 0;
	text-align: center;
}
.rdl-modal .close {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	color: var(--rdl-muted);
	opacity: 1;
	font-size: 24px;
	line-height: 1;
	padding: 4px;
	background: none;
	border: none;
	cursor: pointer;
	transition: color 0.2s ease, transform 0.2s ease;
}
.rdl-modal .close:hover {
	color: var(--rdl-text);
	transform: translateY(-50%) scale(1.1);
}
.rdl-modal .close span { font-size: inherit; }
.rdl-modal .modal-body {
	padding: 0 28px 24px;
}
.rdl-modal .form-group {
	margin-bottom: 20px;
}
.rdl-modal .form-group label {
	color: var(--rdl-text-soft);
	font-weight: 500;
	font-size: 0.9em;
	margin-bottom: 8px;
	display: block;
}
.rdl-modal .form-control {
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	border-radius: 10px;
	color: var(--rdl-text);
	padding: 14px 18px;
	font-size: 1em;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rdl-modal .form-control:focus {
	outline: none;
	border-color: var(--rdl-accent);
	box-shadow: 0 0 0 3px rgba(var(--rdl-accent-rgb), 0.15);
}
.rdl-modal .form-control::placeholder {
	color: var(--rdl-muted);
	opacity: 0.7;
}
.rdl-modal .modal-footer {
	background: var(--rdl-bg);
	border-top: 1px solid var(--rdl-card-border);
	padding: 20px 28px 28px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}
.rdl-modal .btn-rdl-ghost,
.rdl-modal .btn-default {
	background: transparent !important;
	border: 1px solid var(--rdl-card-border) !important;
	color: var(--rdl-text-soft) !important;
	border-radius: 10px;
	padding: 12px 24px;
	font-weight: 600;
	font-size: 0.95em;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.rdl-modal .btn-rdl-ghost:hover,
.rdl-modal .btn-default:hover {
	background: var(--rdl-card-hover) !important;
	border-color: var(--rdl-muted) !important;
	color: var(--rdl-text) !important;
}
.rdl-modal .btn-rdl-primary,
.rdl-modal .btn-rdl {
	background: linear-gradient(135deg, var(--rdl-btn-grad-start), var(--rdl-btn-grad-end)) !important;
	border: none !important;
	color: var(--rdl-btn-primary-text) !important;
	border-radius: 10px;
	padding: 12px 28px;
	font-weight: 700;
	font-size: 0.95em;
	box-shadow: 0 2px 12px rgba(var(--rdl-accent-rgb), 0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.rdl-modal .btn-rdl-primary:hover,
.rdl-modal .btn-rdl:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(var(--rdl-accent-rgb), 0.4);
	color: var(--rdl-btn-primary-text) !important;
}
.rdl-modal .modal-links,
.rdl-modal .modal-switch {
	margin: 18px 0 0;
	font-size: 0.9em;
	color: var(--rdl-text-soft);
}
.rdl-modal .modal-links a,
.rdl-modal .modal-switch a {
	color: var(--rdl-accent);
	font-weight: 500;
	text-decoration: none;
	transition: color 0.2s ease;
}
.rdl-modal .modal-links a:hover,
.rdl-modal .modal-switch a:hover {
	color: var(--rdl-accent-hover);
}
.rdl-modal .modal-links .sep {
	color: var(--rdl-muted);
	margin: 0 6px;
	font-size: 0.85em;
}
.rdl-modal .modal-info {
	color: var(--rdl-text-soft);
	font-size: 0.9em;
	margin-bottom: 18px;
	line-height: 1.5;
}
.rdl-modal .modal-info a {
	color: var(--rdl-accent);
}
.rdl-modal .modal-tos {
	margin: 18px 0 0;
	color: var(--rdl-muted);
	font-size: 0.85em;
	line-height: 1.45;
}
/* Register modal overrides */
.rdl-modal-register .modal-header {
	padding: 28px 28px 16px;
}
.rdl-modal-register .modal-body {
	padding: 0 28px 20px;
}
.rdl-modal-register .modal-footer {
	padding: 18px 28px 26px;
}
.rdl-modal-register .rdl-register-grid {
	margin-left: -8px;
	margin-right: -8px;
}
.rdl-modal-register .rdl-register-grid > [class*='col-'] {
	padding-left: 8px;
	padding-right: 8px;
}
.rdl-modal-register .form-group {
	margin-bottom: 16px;
}
.rdl-modal-register .form-group label {
	margin-bottom: 6px;
	font-size: 0.88em;
}
.rdl-modal-register .form-control {
	padding: 12px 16px;
	font-size: 0.95em;
}
.rdl-modal-register .modal-info {
	margin-bottom: 14px;
	font-size: 0.86em;
}
.rdl-modal-register .modal-info:last-of-type {
	margin-bottom: 12px;
}
.rdl-modal-register .radio-group label {
	font-size: 0.9em;
	margin-right: 24px;
}
.rdl-modal-register .date-field-group select,
.rdl-modal-register .date-field select {
	padding: 8px 12px;
	font-size: 0.85rem;
	min-width: 72px;
}
.rdl-modal-register .modal-tos {
	margin: 14px 0 0;
	font-size: 0.78em;
}
.rdl-modal-register .modal-switch {
	margin-top: 12px;
	font-size: 0.9em;
}
.rdl-modal-register .g-recaptcha {
	transform: scale(0.94);
	transform-origin: center top;
}
/* Flux dateField() inserts "-" between selects; hide dashes and use gap */
.rdl-theme .date-field {
	font-size: 0;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.rdl-theme .date-field select {
	font-size: 0.85rem;
	margin-right: 0 !important;
	line-height: normal;
}
.rdl-modal .date-field-group select,
.rdl-modal .date-field select {
	display: inline-block;
	width: auto;
	margin-right: 0;
	min-width: 76px;
	border-radius: var(--rdl-radius-sm);
	padding: 8px 12px;
	background: var(--rdl-bg) !important;
	border: 1px solid var(--rdl-card-border) !important;
	color: var(--rdl-text) !important;
}
.rdl-modal .radio-group label { margin-right: 20px; color: var(--rdl-text); font-weight: normal; }
.rdl-modal .alert-danger {
	background: rgba(239,68,68,0.15);
	border: 1px solid rgba(239,68,68,0.3);
	color: #fca5a5;
	border-radius: var(--rdl-radius-sm);
}
/* Backdrop sits on body (sibling of .modal), not inside .rdl-modal */
body.rdl-theme .modal-backdrop.in {
	background: rgba(0, 0, 0, 0.55);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

/* Donate page — Kingdom of Midgard style */
.rdl-donate-page {
	max-width: 820px;
	margin: 0 auto 48px;
	padding: 0 0 48px;
}
.rdl-donate-page.rdl-donate-kom {
	max-width: 900px;
}
.rdl-donate-hero,
.rdl-donate-title {
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 16px;
	letter-spacing: -0.02em;
	text-align: center;
}
.rdl-donate-intro-lead {
	text-align: center;
	font-size: 1.12rem;
	line-height: 1.7;
	color: var(--rdl-text-soft);
	margin: 0 0 32px;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.rdl-donate-intro-lead a { color: var(--rdl-accent); }
.rdl-donate-promo {
	text-align: center;
	margin-bottom: 40px;
}
.rdl-donate-promo-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px;
	background: rgba(var(--rdl-accent-rgb), 0.12);
	border: 1px solid rgba(var(--rdl-accent-rgb), 0.35);
	border-radius: var(--rdl-radius);
	color: var(--rdl-accent);
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.rdl-donate-promo-link:hover { background: rgba(var(--rdl-accent-rgb), 0.2); color: var(--rdl-accent); }
.rdl-donate-promo-badge { font-size: 0.85em; }
/* Why Your Support Matters */
.rdl-donate-why {
	margin-bottom: 48px;
}
.rdl-donate-section-title {
	font-family: var(--font-display);
	font-size: 1.5em;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 16px;
	letter-spacing: -0.02em;
}
.rdl-donate-why-intro {
	color: var(--rdl-text-soft);
	line-height: 1.7;
	margin: 0 0 28px;
	font-size: 1.02em;
}
.rdl-donate-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 24px;
}
@media (max-width: 768px) {
	.rdl-donate-cards { grid-template-columns: 1fr; }
}
.rdl-donate-card {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 28px 24px;
	text-align: center;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rdl-donate-card:hover {
	border-color: var(--rdl-card-border);
	box-shadow: var(--rdl-shadow);
}
.rdl-donate-card-icon {
	display: block;
	font-size: 2.5em;
	line-height: 1;
	margin-bottom: 16px;
}
.rdl-donate-card-title {
	font-size: 1.1em;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 10px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.rdl-donate-card-desc {
	font-size: 0.95em;
	color: var(--rdl-text-soft);
	line-height: 1.55;
	margin: 0;
}
/* How to Support */
.rdl-donate-how {
	background: var(--rdl-panel-bg);
	border: 1px solid var(--rdl-panel-border);
	border-radius: var(--rdl-radius);
	box-shadow: var(--rdl-panel-glow);
	padding: 36px 32px 40px;
	margin-bottom: 40px;
}
.rdl-donate-rate-note {
	color: var(--rdl-text-soft);
	margin: 0 0 24px;
	font-size: 1em;
}
.rdl-donate-methods-hint {
	font-size: 0.9em;
	color: var(--rdl-muted);
	margin: 0 0 12px;
}
/* Important reminder */
.rdl-donate-reminder {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 28px;
	padding: 20px 24px;
	background: rgba(var(--rdl-accent-rgb), 0.08);
	border: 1px solid rgba(var(--rdl-accent-rgb), 0.2);
	border-radius: var(--rdl-radius);
}
.rdl-donate-reminder-icon { font-size: 1.5em; flex-shrink: 0; }
.rdl-donate-reminder-text { margin: 0; color: var(--rdl-text-soft); line-height: 1.6; font-size: 0.98em; }
/* FAQ accordion */
.rdl-donate-faq {
	margin-bottom: 48px;
}
.rdl-donate-faq-list { margin-top: 20px; }
.rdl-donate-faq-item {
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	margin-bottom: 12px;
	overflow: hidden;
	background: var(--rdl-card);
}
.rdl-donate-faq-q {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 18px 24px;
	background: transparent;
	border: none;
	color: var(--rdl-text);
	font-size: 1em;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	transition: background 0.2s ease;
}
.rdl-donate-faq-q:hover { background: var(--rdl-card-hover); }
.rdl-donate-faq-q[aria-expanded="true"] { background: var(--rdl-bg-elevated); }
.rdl-donate-faq-num {
	font-size: 0.85em;
	font-weight: 700;
	color: var(--rdl-accent);
	min-width: 28px;
}
.rdl-donate-faq-q-text { flex: 1; }
.rdl-donate-faq-a-wrap { border-top: 1px solid var(--rdl-card-border); }
.rdl-donate-faq-a {
	padding: 20px 24px 24px;
}
.rdl-donate-faq-a p { margin: 0; color: var(--rdl-text-soft); line-height: 1.7; }
/* Thank you section */
.rdl-donate-thanks {
	text-align: center;
	padding: 40px 24px;
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
}
.rdl-donate-thanks-icon { display: block; font-size: 2.5em; margin-bottom: 12px; }
.rdl-donate-thanks .rdl-donate-section-title { margin-bottom: 12px; }
.rdl-donate-thanks-text {
	margin: 0;
	color: var(--rdl-text-soft);
	font-size: 1.08em;
	line-height: 1.7;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}
.rdl-donate-alert {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid rgba(239, 68, 68, 0.35);
	color: #fca5a5;
	padding: 12px 16px;
	border-radius: var(--rdl-radius-sm);
	margin-bottom: 20px;
}
.rdl-donate-intro,
.rdl-donate-note,
.rdl-donate-hold {
	color: var(--rdl-text-soft);
	line-height: 1.6;
	margin: 0 0 16px;
	font-size: 0.95em;
}
.rdl-donate-intro a,
.rdl-donate-note a {
	color: var(--rdl-accent);
}
.rdl-donate-keyword {
	color: var(--rdl-accent);
	font-weight: 600;
}
.rdl-donate-heading {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--rdl-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 28px 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-donate-rates {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 18px 20px;
	margin: 20px 0;
}
.rdl-donate-rate-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	color: var(--rdl-text-soft);
	font-size: 0.95em;
}
.rdl-donate-rate-row + .rdl-donate-rate-row {
	border-top: 1px solid var(--rdl-card-border);
}
.rdl-donate-rate-label {
	font-weight: 600;
	color: var(--rdl-text);
}
.rdl-donate-rate-value {
	color: var(--rdl-accent);
	font-weight: 500;
}
.rdl-donate-rate-min .rdl-donate-rate-value {
	color: var(--rdl-text-soft);
}
.rdl-donate-methods {
	margin: 24px 0;
}
.rdl-donate-methods-title {
	display: block;
	font-size: 0.85em;
	font-weight: 600;
	color: var(--rdl-text-soft);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 12px;
}
.rdl-donate-methods-grid {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.rdl-donate-method {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 100px;
	padding: 14px 18px;
	background: var(--rdl-card);
	border: 2px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text-soft);
	font-size: 0.9em;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rdl-donate-method:hover {
	border-color: var(--rdl-card-border);
}
.rdl-donate-method-active {
	border-color: var(--rdl-accent);
	color: var(--rdl-accent);
	box-shadow: var(--rdl-shadow);
}
.rdl-donate-method-name {
	font-size: 0.9em;
	font-weight: 600;
	text-align: center;
	line-height: 1.3;
}
.rdl-donate-method-clickable {
	cursor: pointer;
}
.rdl-donate-method-info-icon {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7em;
	font-weight: 700;
	font-style: italic;
	color: var(--rdl-accent);
	background: rgba(var(--rdl-accent-rgb), 0.15);
	border-radius: 50%;
	opacity: 0.9;
}
.rdl-donate-method-info-text {
	color: var(--rdl-text-soft);
	line-height: 1.6;
	margin: 0;
}
.rdl-donate-methods-note {
	font-size: 0.8em;
	color: var(--rdl-muted);
	margin: 10px 0 0;
}
.rdl-donate-form {
	margin-top: 28px;
}
.rdl-donate-amount-label {
	display: block;
	font-weight: 600;
	color: var(--rdl-text-soft);
	margin-bottom: 10px;
	font-size: 0.9em;
}
.rdl-donate-amount-inputs {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.rdl-donate-input {
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text);
	padding: 12px 16px;
	font-size: 1em;
	width: 120px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rdl-donate-input:focus {
	outline: none;
	border-color: var(--rdl-accent);
	box-shadow: 0 0 0 2px var(--rdl-card-border);
}
.rdl-donate-input-suffix {
	color: var(--rdl-muted);
	font-size: 0.9em;
}
.rdl-donate-input-or {
	color: var(--rdl-muted);
	font-size: 0.85em;
}
.rdl-donate-amount-hint {
	font-size: 0.82em;
	color: var(--rdl-muted);
	margin: 8px 0 0;
}
.rdl-donate-submit {
	margin-top: 20px;
}
.rdl-donate-confirm {
	margin-top: 24px;
	padding: 20px 0;
	border-top: 1px solid var(--rdl-card-border);
}
.rdl-donate-confirm-text {
	color: var(--rdl-text-soft);
	margin: 0 0 16px;
	line-height: 1.5;
}
.rdl-donate-confirm-amount {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px 20px;
	margin-bottom: 12px;
}
.rdl-donate-confirm-credits {
	font-size: 1.25em;
	font-weight: 700;
	color: var(--rdl-accent);
}
.rdl-donate-confirm-usd {
	font-size: 1.1em;
	color: var(--rdl-text);
	font-weight: 500;
}
.rdl-donate-confirm-php {
	font-size: 0.95em;
	color: var(--rdl-muted);
}
.rdl-donate-reset {
	margin: 0 0 16px;
	font-size: 0.9em;
}
.rdl-donate-reset a {
	color: var(--rdl-accent);
}
.rdl-donate-button-wrap {
	margin-top: 16px;
}
.rdl-donate-button-wrap form {
	display: inline-block;
}
.rdl-donate-button-wrap input[type="image"] {
	max-height: 52px;
	height: auto;
	cursor: pointer;
	transition: opacity 0.2s ease, filter 0.2s ease;
}
.rdl-donate-button-wrap input[type="image"]:hover {
	opacity: 0.95;
	opacity: 0.95;
}
.rdl-donate-button-wrap input[type="submit"],
.rdl-donate-button-wrap button[type="submit"] {
	background: var(--rdl-btn-primary) !important;
	color: var(--rdl-btn-primary-text) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 14px 32px !important;
	font-weight: 600 !important;
	font-size: 0.95em !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	cursor: pointer !important;
	transition: filter 0.2s ease, box-shadow 0.2s ease !important;
}
.rdl-donate-button-wrap input[type="submit"]:hover,
.rdl-donate-button-wrap button[type="submit"]:hover {
	box-shadow: var(--rdl-shadow);
}
.rdl-donate-closed {
	color: var(--rdl-muted);
	font-size: 1em;
}

/* ========== Responsive & Mobile-Friendly ========== */
@media (max-width: 768px) {
	/* Section labels: keep readable, reduce letter-spacing on small screens */
	.rdl-extra-label {
		letter-spacing: 0.12em;
		margin-bottom: 14px;
	}

	/* Hero: tighter padding, smaller logo */
	.rdl-hero-inner {
		padding: 40px 20px 60px;
	}
	.rdl-hero-logo-img {
		max-width: 240px;
	}
	.rdl-hero-stats {
		min-width: 240px;
		padding: 16px 0;
	}
	.rdl-hero-stat {
		padding: 6px 16px;
	}

	/* Container: more side padding on mobile */
	.rdl-container,
	.container.rdl-container {
		padding-left: 16px;
		padding-right: 16px;
		padding-top: 20px;
		padding-bottom: 36px;
	}

	/* Discover: tighter subtitle margin */
	.rdl-extra-discover-sub {
		margin-bottom: 32px;
		padding: 0 8px;
	}
	.rdl-extra-discover-title {
		padding: 0 8px;
	}

	/* Spotlight carousel: center on mobile, touch-friendly arrows */
	.rdl-extra-spotlight-inner {
		padding: 28px 20px;
		text-align: center;
	}
	.rdl-extra-spotlight-inner .rdl-extra-meta {
		justify-content: center;
	}
	.rdl-spotlight-carousel .rdl-carousel-control {
		width: 44px;
		height: 44px;
		line-height: 42px;
		font-size: 24px;
	}
	.rdl-spotlight-carousel .rdl-carousel-control.left {
		left: 8px;
	}
	.rdl-spotlight-carousel .rdl-carousel-control.right {
		right: 8px;
	}
	.rdl-extra-meta {
		gap: 16px 24px;
	}

	/* Battle Pass: stack and space */
	.rdl-extra-battlepass {
		margin-bottom: 48px;
	}
	.rdl-extra-bp-card {
		padding: 28px 20px;
	}
	.rdl-extra-bp-tags span {
		padding: 10px 14px;
		font-size: 0.8rem;
	}

	/* Touch-friendly buttons */
	.btn-rdl,
	.btn-rdl-primary,
	.btn-rdl-outline,
	.rdl-nav .nav > li > a {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 12px 20px !important;
	}

	/* Navbar: ensure touch targets */
	.rdl-nav .navbar-toggle {
		padding: 12px 14px;
		margin: 8px 12px;
	}

	/* Navbar: center auth buttons (ADMIN/LOGOUT, Register/Login) on mobile */
	.rdl-nav .navbar-collapse .navbar-right {
		display: flex;
		flex-direction: column;
		align-items: center;
		float: none;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}
	.rdl-nav .navbar-collapse .navbar-right > li {
		float: none;
	}
	.rdl-nav .navbar-collapse .navbar-right > li > a {
		margin: 6px 0 !important;
	}

	/* Section dividers: less margin on mobile */
	.rdl-section-divider {
		margin: 24px 0;
	}
}

@media (max-width: 576px) {
	html.rdl-html-root {
		zoom: 1;
	}

	.rdl-hero-inner {
		padding: 32px 16px 48px;
	}
	.rdl-hero-logo-img {
		max-width: 200px;
	}
	.rdl-hero-stats {
		flex-direction: column;
		gap: 12px;
		min-width: 200px;
		padding: 20px 16px;
	}
	.rdl-hero-stat {
		padding: 12px 20px;
		border-bottom: 1px solid rgba(255,255,255,0.08);
	}
	.rdl-hero-stat:last-child {
		border-bottom: none;
	}

	.rdl-extra-label {
		letter-spacing: 0.1em;
		font-size: 1rem;
	}

	.rdl-extra-feature-card {
		padding: 24px 20px;
	}
}

/* Safe area insets for notched devices (e.g. iPhone X+) */
@supports (padding: env(safe-area-inset-bottom)) {
	body.rdl-theme {
		padding-bottom: calc(60px + env(safe-area-inset-bottom));
	}
}
@supports (padding: env(safe-area-inset-top)) {
	.rdl-nav-sticky {
		padding-top: env(safe-area-inset-top);
	}
}

/* Toastr – RDL theme (dark; overrides must load after toastr.css) */
#toast-container > div {
	opacity: 1 !important;
	background-image: none !important;
	background-color: var(--rdl-card, #1f1f23) !important;
	border-radius: var(--rdl-radius, 8px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
	border-left: 4px solid !important;
	padding: 15px 15px 15px 20px !important;
}
#toast-container > .toast-success {
	background-color: var(--rdl-card, #1f1f23) !important;
	background-image: none !important;
	border-left-color: #22c55e !important;
}
#toast-container > .toast-error {
	background-color: var(--rdl-card, #1f1f23) !important;
	background-image: none !important;
	border-left-color: #ef4444 !important;
}
#toast-container > .toast-warning {
	background-color: var(--rdl-card, #1f1f23) !important;
	background-image: none !important;
	border-left-color: var(--rdl-accent, #d97706) !important;
}
#toast-container > .toast-info {
	background-color: var(--rdl-card, #1f1f23) !important;
	background-image: none !important;
	border-left-color: #3b82f6 !important;
}
#toast-container .toast-message,
#toast-container .toast-title {
	color: var(--rdl-text, #fafafa) !important;
}
#toast-container .toast-close-button {
	color: var(--rdl-text-soft, #d4d4d8) !important;
	text-shadow: none !important;
}
#toast-container .toast-close-button:hover {
	color: var(--rdl-text, #fafafa) !important;
}
#toast-container .toast-progress {
	background-color: rgba(255, 255, 255, 0.3) !important;
}

/* —— Account form pages (changepass, changemail, transfer, xferlog) —— */
/* —— Change Password page (dedicated design) —— */
.rdl-changepass {
	min-height: 50vh;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 32px 16px 64px;
}
.rdl-changepass-card {
	position: relative;
	width: 100%;
	max-width: 420px;
	background: linear-gradient(165deg, var(--rdl-card) 0%, var(--rdl-bg-elevated) 100%);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	padding: 40px 32px 36px;
	overflow: hidden;
}
.rdl-changepass-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--rdl-btn-grad-start), var(--rdl-btn-grad-end));
}
.rdl-changepass-icon {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	color: var(--rdl-accent);
	opacity: 0.9;
}
.rdl-changepass-title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--rdl-text);
	margin: 0 0 12px;
	text-align: center;
	letter-spacing: -0.02em;
}
.rdl-changepass-desc {
	color: var(--rdl-text-soft);
	font-size: 0.92em;
	line-height: 1.55;
	text-align: center;
	margin: 0 0 28px;
}
.rdl-changepass-alert {
	padding: 14px 18px;
	border-radius: var(--rdl-radius-sm);
	margin-bottom: 24px;
	font-size: 0.9em;
	font-weight: 500;
}
.rdl-changepass-alert-error {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid rgba(239, 68, 68, 0.35);
	color: #fca5a5;
}
.rdl-changepass-form { text-align: left; }
.rdl-changepass-field {
	margin-bottom: 20px;
}
.rdl-changepass-field label {
	display: block;
	font-size: 0.88em;
	font-weight: 500;
	color: var(--rdl-text-soft);
	margin-bottom: 8px;
}
.rdl-changepass-input {
	display: block;
	width: 100%;
	max-width: 280px;
	padding: 14px 18px;
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text);
	font-size: 0.95em;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.rdl-changepass-input:focus {
	outline: none;
	border-color: var(--rdl-accent);
	box-shadow: 0 0 0 3px rgba(var(--rdl-accent-rgb), 0.15);
}
.rdl-changepass-input::placeholder {
	color: var(--rdl-muted);
	opacity: 0.7;
}
.rdl-changepass-note {
	margin: 24px 0 28px;
	padding: 16px 18px;
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	border-left: 3px solid var(--rdl-accent);
}
.rdl-changepass-note p {
	margin: 0;
	font-size: 0.88em;
	color: var(--rdl-text-soft);
	line-height: 1.5;
}
.rdl-changepass-note-highlight {
	color: var(--rdl-accent) !important;
	font-weight: 500;
	margin-top: 10px !important;
}
.rdl-changepass-actions {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	align-items: center;
}
.btn-rdl-changepass-ghost {
	display: inline-flex;
	align-items: center;
	padding: 12px 20px;
	background: transparent;
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text-soft);
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s;
}
.btn-rdl-changepass-ghost:hover {
	background: var(--rdl-card-hover);
	border-color: var(--rdl-muted);
	color: var(--rdl-text);
}
.btn-rdl-changepass-submit {
	padding: 12px 24px;
	font-weight: 600;
	border-radius: var(--rdl-radius-sm);
	box-shadow: 0 2px 12px rgba(var(--rdl-accent-rgb), 0.25);
}
.btn-rdl-changepass-submit:hover {
	box-shadow: 0 4px 20px rgba(var(--rdl-accent-rgb), 0.35);
	transform: translateY(-1px);
}

/* —— Reset Password & Resend Confirmation pages —— */
.rdl-resetpass .rdl-changepass-desc { margin-bottom: 12px; }
.rdl-resend .rdl-changepass-desc { margin-bottom: 28px; }
.rdl-resetpass-desc-small { font-size: 0.88em; margin-bottom: 28px !important; }
.rdl-resetpass-icon,
.rdl-resend-icon { color: var(--rdl-accent); }
.rdl-resetpass .rdl-changepass-alert,
.rdl-resend .rdl-changepass-alert { text-align: center; }
.rdl-resetpass .rdl-changepass-form,
.rdl-resend .rdl-changepass-form { text-align: center; }
.rdl-resetpass .rdl-changepass-field label,
.rdl-resend .rdl-changepass-field label { text-align: center; }
.rdl-resetpass .rdl-changepass-field input.rdl-changepass-input,
.rdl-resend .rdl-changepass-field input.rdl-changepass-input {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	min-height: 48px;
	padding: 14px 18px;
	margin-left: auto;
	margin-right: auto;
	background: var(--rdl-bg);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text);
	font-size: 0.95em;
	line-height: 1.4;
}
.rdl-resetpass .rdl-changepass-field input.rdl-changepass-input::placeholder,
.rdl-resend .rdl-changepass-field input.rdl-changepass-input::placeholder {
	color: var(--rdl-muted);
	opacity: 0.7;
}
.rdl-resetpass .rdl-changepass-field input.rdl-changepass-input:focus,
.rdl-resend .rdl-changepass-field input.rdl-changepass-input:focus {
	outline: none;
	border-color: var(--rdl-accent);
	box-shadow: 0 0 0 3px rgba(var(--rdl-accent-rgb), 0.15);
}
.rdl-resetpass .rdl-resetpass-hint,
.rdl-resend .rdl-resend-hint { text-align: center; }
.rdl-resetpass .rdl-changepass-actions,
.rdl-resend .rdl-changepass-actions { justify-content: center; }
.rdl-resetpass .btn-rdl-changepass-ghost,
.rdl-resetpass .btn-rdl-changepass-submit,
.rdl-resend .btn-rdl-changepass-ghost,
.rdl-resend .btn-rdl-changepass-submit {
	padding: 10px 18px;
	font-size: 0.9em;
}
.rdl-resetpass-select,
.rdl-resend-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	min-height: 48px;
	margin-left: auto;
	margin-right: auto;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
	cursor: pointer;
}
.rdl-resetpass-hint,
.rdl-resend-hint {
	display: block;
	font-size: 0.8em;
	color: var(--rdl-muted);
	margin-top: 6px;
	line-height: 1.4;
}

.rdl-account-form-page .rdl-account-form-card { max-width: 480px; margin-left: auto; margin-right: auto; text-align: center; }
.rdl-account-form-page .rdl-account-form-card .rdl-form-group,
.rdl-account-form-page .rdl-account-form-card .rdl-form-actions { justify-content: center; text-align: left; }
.rdl-account-form-desc { color: var(--rdl-text-soft); margin: 0 0 20px; font-size: 0.95em; line-height: 1.55; }
.rdl-account-form-subtitle { font-size: 1em; font-weight: 600; color: var(--rdl-text-soft); margin: 0 0 16px; }
.rdl-account-form-note,
.rdl-form-note { margin: 16px 0; padding: 12px 16px; background: var(--rdl-bg-elevated); border-radius: var(--rdl-radius-sm); font-size: 0.9em; color: var(--rdl-text-soft); }
.rdl-form-note-important { color: var(--rdl-accent); font-weight: 500; margin-top: 8px; }
.rdl-transfer-balance { color: var(--rdl-accent); font-weight: 700; }
.rdl-xfer-amount { color: var(--rdl-accent); font-weight: 600; }

/* Form elements */
.rdl-form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px 24px; }
.rdl-form-group { margin-bottom: 0; }
.rdl-form-group-full { grid-column: 1 / -1; }
.rdl-form-group label { display: block; font-size: 0.85em; color: var(--rdl-muted); margin-bottom: 6px; }
.rdl-form-input {
	display: block;
	width: 100%;
	padding: 10px 14px;
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text);
	font-size: 0.95em;
	transition: border-color 0.2s;
}
.rdl-form-input:focus { outline: none; border-color: var(--rdl-accent); }
.rdl-form-input-sm { width: auto; min-width: 80px; }
.rdl-form-inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rdl-form-inline .rdl-form-input { flex: 1; min-width: 100px; }
.rdl-form-sep { color: var(--rdl-muted); }
.rdl-form-hint { font-size: 0.8em; color: var(--rdl-muted); margin: 6px 0 0; }
.rdl-form-actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px; }
.rdl-account-link { color: var(--rdl-accent); }
.rdl-account-paginator-info { margin: 0 0 16px; color: var(--rdl-text-soft); font-size: 0.9em; }

/* Account index - center headings and intro text */
.rdl-account-index .rdl-account-card-title,
.rdl-account-view .rdl-account-card-title { text-align: center; }
.rdl-account-form-desc,
.rdl-account-form-subtitle,
.rdl-account-form-note,
.rdl-form-note { text-align: center; }
.rdl-account-form-page .rdl-form-group { text-align: center; }
.rdl-account-form-page .rdl-form-group label,
.rdl-account-form-page .rdl-form-input { text-align: center; }

/* Account index - keep search form left-aligned for usability */
.rdl-account-index .rdl-account-form { text-align: left; }
.rdl-account-index .rdl-form-group label,
.rdl-account-index .rdl-form-input { text-align: left; }

/* Account index search form */
.rdl-account-index .rdl-account-index-table { font-size: 0.88em; }
.rdl-account-index .rdl-account-index-table th,
.rdl-account-index .rdl-account-index-table td { padding: 8px 12px; }

/* Purchase / Item Shop - center text */
.rdl-purchase { margin-bottom: 48px; text-align: center; }
.rdl-purchase .rdl-account-card,
.rdl-purchase .rdl-purchase-intro { text-align: center; }
.rdl-purchase .rdl-account-card-title,
.rdl-purchase-title,
.rdl-purchase-category-name { text-align: center; }
.rdl-purchase-categories { justify-content: center; }
.rdl-purchase-grid { justify-items: center; }
.rdl-purchase-item { text-align: center; }
.rdl-purchase-cart-item { text-align: left; }
.rdl-purchase-cart .rdl-account-card,
.rdl-purchase-checkout .rdl-account-card,
.rdl-purchase-pending .rdl-account-card { text-align: center; }
.rdl-purchase-intro { margin-bottom: 24px; }
.rdl-purchase-intro p { margin: 0; color: var(--rdl-text-soft); }
.rdl-purchase-keyword { color: var(--rdl-accent); font-weight: 600; }
.rdl-purchase-title { font-size: 1.5em; font-weight: 700; margin: 0 0 16px; }
.rdl-purchase-server-name { color: var(--rdl-accent); }
.rdl-purchase-categories { margin-bottom: 24px; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.rdl-purchase-cat {
	display: inline-block;
	padding: 8px 16px;
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius-sm);
	color: var(--rdl-text-soft);
	text-decoration: none;
	transition: all 0.2s;
}
.rdl-purchase-cat:hover { border-color: var(--rdl-accent); color: var(--rdl-accent); }
.rdl-purchase-cat-active { background: var(--rdl-accent); border-color: var(--rdl-accent); color: #fff; }
.rdl-purchase-category-name { font-size: 1.1em; color: var(--rdl-muted); margin: 0 0 20px; }
.rdl-purchase-cart-summary {
	background: var(--rdl-bg-elevated);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 16px 20px;
	margin-bottom: 24px;
}
.rdl-purchase-cart-summary p { margin: 0 0 8px; }
.rdl-purchase-cart-summary .btn { margin-top: 12px; }
.rdl-purchase-cart-names { color: var(--rdl-accent); }
.rdl-purchase-subtotal { color: var(--rdl-accent); }
.rdl-purchase-paginator-info { margin: 0 0 20px; color: var(--rdl-text-soft); font-size: 0.9em; }
.rdl-purchase-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-bottom: 32px; }
.rdl-purchase-item {
	background: var(--rdl-card);
	border: 1px solid var(--rdl-card-border);
	border-radius: var(--rdl-radius);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: border-color 0.2s;
}
.rdl-purchase-item:hover { border-color: var(--rdl-card-border); }
.rdl-purchase-item-image { text-align: center; }
.rdl-purchase-item-image img { max-width: 64px; max-height: 64px; object-fit: contain; }
.rdl-purchase-item-body { flex: 1; }
.rdl-purchase-item-name { font-size: 1em; font-weight: 600; margin: 0 0 8px; }
.rdl-purchase-item-name a { color: var(--rdl-accent); }
.rdl-purchase-item-qty { color: var(--rdl-muted); font-weight: 500; margin-right: 4px; }
.rdl-purchase-item-info { font-size: 0.85em; color: var(--rdl-text-soft); margin: 0 0 12px; line-height: 1.5; }
.rdl-purchase-item-actions { font-size: 0.82em; }
.rdl-purchase-item-actions a { color: var(--rdl-accent); margin-right: 8px; }
.rdl-purchase-item-cost { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--rdl-card-border); }
.rdl-purchase-cost { color: var(--rdl-accent); font-weight: 700; }

/* Purchase cart */
.rdl-purchase-cart .rdl-purchase-cart-info { margin: 0 0 16px; }
.rdl-purchase-cart-checkout { margin-bottom: 24px; }
.rdl-purchase-cart-items { margin-bottom: 24px; }
.rdl-purchase-cart-item {
	display: flex;
	gap: 20px;
	padding: 20px 0;
	border-bottom: 1px solid var(--rdl-card-border);
}
.rdl-purchase-cart-item:first-child { padding-top: 0; }
.rdl-purchase-cart-item-body { flex: 1; }
.rdl-purchase-cart-item-label { display: block; font-weight: 600; margin-bottom: 8px; cursor: pointer; }
.rdl-purchase-cart-item-label input { margin-right: 8px; }
.rdl-purchase-cart-qty { font-size: 0.9em; color: var(--rdl-muted); margin: 0 0 4px; }
.rdl-purchase-cart-cost { margin: 0 0 8px; }
.rdl-purchase-cart-actions { font-size: 0.88em; margin: 0; }
.rdl-purchase-cart-actions a { color: var(--rdl-accent); }
.rdl-purchase-cart-info-text { font-size: 0.85em; color: var(--rdl-text-soft); margin: 8px 0 0; line-height: 1.5; }
.rdl-purchase-clear-form { margin-top: 12px; }
.btn-danger { border-color: rgba(239, 68, 68, 0.5); color: #fca5a5; }
.btn-danger:hover { border-color: #ef4444; color: #fff; background: rgba(239, 68, 68, 0.2); }
.btn-sm { padding: 6px 12px; font-size: 0.85em; }
.rdl-purchase-item-info-small { font-size: 0.82em; color: var(--rdl-muted); margin: 4px 0 0; }
.rdl-purchase-balance { color: var(--rdl-accent); }
.rdl-purchase-checkout-form { margin: 20px 0; }
