/* ============================================================
   TrivalRO Map Statistics
   Modern Ragnarok private-server section styling layered over the
   existing mapstats template without changing its data/controller logic.
   ============================================================ */

.ms-section {
	position: relative !important;
	left: 50% !important;
	width: 100vw !important;
	margin-left: -50vw !important;
	padding: 34px 0 86px !important;
	overflow: hidden !important;
	background: transparent !important;
	border-top: 1px solid rgba(132, 188, 221, .28);
	border-bottom: 1px solid rgba(132, 188, 221, .28);
}

.ms-section::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(180deg, rgba(255,255,255,.91) 0%, rgba(248,252,255,.67) 18%, rgba(240,248,253,.50) 74%, rgba(255,255,255,.90) 100%),
		url('../../assets/background-3.jpg') center top / cover no-repeat;
	pointer-events: none;
}

.ms-section::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(circle at 20% 18%, rgba(109, 203, 248, .13), transparent 32%),
		radial-gradient(circle at 82% 34%, rgba(77, 165, 226, .10), transparent 30%);
	pointer-events: none;
}

.ms-inner {
	position: relative !important;
	z-index: 2 !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 0 28px !important;
}

.ms-inner::before,
.ms-inner::after {
	content: '';
	position: absolute;
	z-index: -1;
	width: 270px;
	height: 390px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	pointer-events: none;
	filter: drop-shadow(0 12px 18px rgba(53, 95, 124, .10));
	opacity: .92;
}

.ms-inner::before {
	left: -245px;
	top: 165px;
	background-image: url('../../assets/chibi-4.png');
}

.ms-inner::after {
	right: -245px;
	top: 205px;
	background-image: url('../../assets/chibi-3.png');
}

.ms-title {
	display: block !important;
	width: fit-content !important;
	left: auto !important;
	transform: none !important;
	margin: 3px auto 9px !important;
	padding: 13px 34px 11px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #70c5ff 0%, #5bb5f1 56%, #4b9fdf 100%) !important;
	box-shadow:
		inset 0 2px 1px rgba(255,255,255,.58),
		inset 0 -5px 0 rgba(22, 102, 164, .62),
		0 8px 16px rgba(48, 104, 151, .22) !important;
	color: #fff !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 23px !important;
	font-weight: 400 !important;
	letter-spacing: 2.8px !important;
	line-height: 1.1 !important;
	text-align: center !important;
	text-shadow: 2px 2px 3px rgba(28, 75, 112, .55) !important;
}

.ms-sub {
	max-width: 720px !important;
	margin: 0 auto 22px !important;
	color: #487394 !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;
	letter-spacing: .4px !important;
	text-align: center !important;
}

.ms-sub .ms-synced {
	margin-top: 4px !important;
	color: #7391a6 !important;
	font-size: 10px !important;
	font-weight: 400 !important;
}

/* Shared game panel shell */
.ms-section .ro-window {
	position: relative;
	margin: 0 auto 16px !important;
	border: 1px solid rgba(108, 172, 214, .40) !important;
	border-bottom: 4px solid rgba(73, 139, 187, .68) !important;
	border-radius: 16px !important;
	background: rgba(255,255,255,.89) !important;
	box-shadow:
		inset 0 2px 1px rgba(255,255,255,.98),
		0 8px 22px rgba(54, 112, 153, .12) !important;
	overflow: visible !important;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.ms-section .ro-titlebar {
	min-height: 43px !important;
	padding: 9px 14px 7px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(114, 177, 218, .30) !important;
	border-radius: 15px 15px 0 0 !important;
	background: linear-gradient(180deg, rgba(235,248,255,.98), rgba(215,238,251,.94)) !important;
	box-shadow: inset 0 2px 0 rgba(255,255,255,.95) !important;
}

.ms-section .ro-titlebar h3 {
	margin: 0 !important;
	border: 0 !important;
	padding: 0 !important;
	color: #37647f !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: .8px !important;
	text-shadow: 0 1px 0 #fff !important;
	text-transform: uppercase !important;
}

.ms-section .ro-titlebar .ro-dots {
	display: flex !important;
	gap: 5px !important;
}

.ms-section .ro-titlebar .ro-dots i {
	width: 8px !important;
	height: 8px !important;
	border: 1px solid rgba(91, 154, 196, .48) !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #fff, #bfe2f6) !important;
	box-shadow: inset 0 1px 0 #fff !important;
}

.ms-section .ro-body {
	padding: 14px !important;
}

/* Overview */
.ms-section .ms-totals {
	grid-template-columns: repeat(5, minmax(0,1fr)) !important;
	gap: 10px !important;
}

.ms-section .ms-total {
	min-height: 83px !important;
	padding: 14px 10px 11px !important;
	border: 1px solid rgba(125, 181, 216, .35) !important;
	border-bottom: 3px solid rgba(93, 151, 191, .58) !important;
	border-radius: 12px !important;
	background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(235,247,253,.92)) !important;
	box-shadow: inset 0 2px 0 rgba(255,255,255,.96), 0 4px 10px rgba(63, 119, 159, .08) !important;
}

.ms-section .ms-total b {
	margin-bottom: 5px !important;
	color: #2b83bb !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
}

.ms-section .ms-total span {
	color: #738b9d !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: .7px !important;
}

.ms-section .ms-total.is-mvp b { color: #c49228 !important; }
.ms-section .ms-total.is-live b { color: #37a16a !important; }

/* Search toolbar */
.ms-section .ms-filter {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 9px !important;
	padding: 2px 0 !important;
}

.ms-section .ms-filter label {
	color: #55748a !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: .8px !important;
	white-space: nowrap;
}

.ms-section .ms-filter input[type='text'] {
	min-width: 210px !important;
	min-height: 43px !important;
	padding: 10px 13px !important;
	border: 2px solid #a8cce5 !important;
	border-radius: 12px !important;
	background: linear-gradient(180deg, #fff, #f7fbfe) !important;
	box-shadow: inset 0 2px 0 rgba(255,255,255,.96), 0 3px 8px rgba(65,126,170,.08) !important;
	color: #3b5266 !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 12px !important;
	outline: none !important;
}

.ms-section .ms-filter input[type='text']:focus {
	border-color: #55b8ef !important;
	box-shadow: 0 0 0 3px rgba(64,181,239,.12) !important;
}

.ms-section .ms-filter .trival-select {
	width: 190px !important;
	min-width: 170px !important;
}

.ms-section .ms-btn,
.ms-section .ms-filter input[type='submit'] {
	min-height: 42px !important;
	padding: 9px 17px 7px !important;
	border: 1px solid #2a93cf !important;
	border-bottom: 4px solid #1573b0 !important;
	border-radius: 11px !important;
	background: linear-gradient(180deg, #5cc3f5 0%, #34a8ef 48%, #1e90d8 100%) !important;
	box-shadow: inset 0 2px 1px rgba(255,255,255,.50), 0 4px 10px rgba(40,130,200,.22) !important;
	color: #fff !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 9px !important;
	font-weight: 400 !important;
	letter-spacing: .6px !important;
	line-height: 1.1 !important;
	text-decoration: none !important;
	text-shadow: 0 1px 2px rgba(0,60,110,.55) !important;
	text-transform: uppercase !important;
}

.ms-section .ms-btn:hover,
.ms-section .ms-filter input[type='submit']:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.ms-section .ms-btn.alt {
	border-color: #aacce4 !important;
	border-bottom-color: #84b1d0 !important;
	background: linear-gradient(180deg, #fff, #edf7fd) !important;
	color: #397197 !important;
	text-shadow: 0 1px 0 #fff !important;
}

/* Maps panel + grid */
.ms-section .ms-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 13px !important;
}

.ms-section .ms-card {
	position: relative;
	border: 1px solid rgba(111, 173, 214, .40) !important;
	border-bottom: 4px solid rgba(81, 144, 188, .68) !important;
	border-radius: 14px !important;
	background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(237,247,253,.94)) !important;
	box-shadow: inset 0 2px 0 rgba(255,255,255,.98), 0 6px 16px rgba(58,113,153,.11) !important;
	overflow: hidden !important;
	transition: transform .13s ease, box-shadow .15s ease, border-color .15s ease !important;
}

.ms-section .ms-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(70, 160, 216, .66) !important;
	box-shadow: inset 0 2px 0 rgba(255,255,255,.98), 0 12px 24px rgba(58,113,153,.18) !important;
}

.ms-section .ms-card.has-mvp {
	border-color: rgba(215, 174, 66, .68) !important;
	border-bottom-color: #b88920 !important;
}

.ms-section .ms-card.has-players {
	box-shadow: inset 0 2px 0 rgba(255,255,255,.98), 0 8px 20px rgba(53, 157, 104, .13) !important;
}

.ms-section .ms-card-bar {
	min-height: 39px !important;
	padding: 8px 10px 6px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(85, 151, 195, .28) !important;
	background: linear-gradient(180deg, #64c2f4 0%, #3ca7e7 54%, #2d93d4 100%) !important;
	box-shadow: inset 0 2px 0 rgba(255,255,255,.34) !important;
}

.ms-section .ms-card.has-mvp .ms-card-bar {
	background: linear-gradient(180deg, #e8c966 0%, #d5a837 56%, #bc8d22 100%) !important;
	border-bottom-color: rgba(134, 96, 18, .28) !important;
}

.ms-section .ms-card-name {
	color: #fff !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	letter-spacing: .35px !important;
	text-shadow: 0 1px 2px rgba(0,65,105,.50) !important;
}

.ms-section .ms-card-online {
	padding: 3px 8px 2px !important;
	border: 1px solid rgba(255,255,255,.34) !important;
	border-radius: 999px !important;
	background: rgba(25, 95, 140, .45) !important;
	color: #fff !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 7px !important;
	font-weight: 400 !important;
	letter-spacing: .3px !important;
	text-shadow: 0 1px 1px rgba(0,50,90,.45) !important;
}

.ms-section .ms-card.has-players .ms-card-online {
	background: linear-gradient(180deg, #55bf7e, #32985d) !important;
}

/* Minimap presentation */
.ms-section .ms-minimap {
	height: 148px !important;
	padding: 8px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(120, 174, 208, .25) !important;
	background: linear-gradient(180deg, #edf7fc, #e4f1f8) !important;
}

.ms-section .ms-minimap-plate {
	border: 1px solid rgba(86, 131, 162, .46) !important;
	border-radius: 10px !important;
	background:
		radial-gradient(circle at 50% 45%, #23242b 0%, #111217 68%, #0a0b0e 100%) !important;
	box-shadow: inset 0 0 18px rgba(0,0,0,.70), 0 2px 0 rgba(255,255,255,.75) !important;
}

.ms-section .ms-minimap img {
	max-height: 132px !important;
	border-radius: 6px !important;
}

.ms-section .ms-mapid {
	left: 9px !important;
	bottom: 8px !important;
	padding: 3px 7px 2px !important;
	border: 1px solid rgba(112, 170, 207, .42) !important;
	border-radius: 6px !important;
	background: rgba(247,252,255,.92) !important;
	box-shadow: 0 2px 5px rgba(31,75,105,.10) !important;
	color: #50738b !important;
	font-family: Consolas, 'Courier New', monospace !important;
	font-size: 8px !important;
}

.ms-section .ms-badges {
	right: 9px !important;
	top: 9px !important;
	gap: 4px !important;
}

.ms-section .ms-badge {
	padding: 3px 7px 2px !important;
	border-radius: 999px !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 7px !important;
	font-weight: 400 !important;
	letter-spacing: .35px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 2px 5px rgba(0,0,0,.12) !important;
}

.ms-section .ms-badge.mvp { background: linear-gradient(180deg, #f3d871, #d4a731) !important; color: #654c12 !important; }
.ms-section .ms-badge.town { background: linear-gradient(180deg, #bde6fb, #80c6eb) !important; color: #246488 !important; }
.ms-section .ms-badge.pvp { background: linear-gradient(180deg, #f7baba, #e57e7e) !important; color: #7b2727 !important; }
.ms-section .ms-badge.gvg { background: linear-gradient(180deg, #d9c4f5, #ae8cdf) !important; color: #56337e !important; }

/* Map stats row */
.ms-section .ms-stats {
	gap: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(119, 173, 207, .24) !important;
	background: rgba(221, 239, 249, .76) !important;
}

.ms-section .ms-stat {
	padding: 8px 2px 7px !important;
	border-right: 1px solid rgba(118, 174, 208, .22) !important;
	background: rgba(248,252,255,.88) !important;
}

.ms-section .ms-stat:last-child { border-right: 0 !important; }

.ms-section .ms-stat b {
	color: #347eaa !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
}

.ms-section .ms-stat span {
	color: #7c91a0 !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 7px !important;
	font-weight: 700 !important;
	letter-spacing: .3px !important;
}

/* Monsters */
.ms-section .ms-mobs {
	padding: 10px 11px 12px !important;
	background: rgba(255,255,255,.62) !important;
}

.ms-section .ms-mobs-title {
	margin-bottom: 6px !important;
	color: #6d879a !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 8px !important;
	font-weight: 400 !important;
	letter-spacing: .5px !important;
}

.ms-section .ms-mob {
	padding: 2px 0 !important;
	color: #526e82 !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 9px !important;
}

.ms-section .ms-mob .ms-mob-qty {
	color: #8fa2af !important;
}

.ms-section .ms-mob.is-mvp .ms-mob-name {
	color: #b3821f !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 8px !important;
	font-weight: 400 !important;
}

.ms-section .ms-mob-empty {
	color: #9aabb6 !important;
	font-size: 9px !important;
}

.ms-section .ms-empty {
	padding: 34px 20px !important;
	color: #60788b !important;
	font-family: 'Informb', sans-serif !important;
	font-size: 12px !important;
}

.ms-section .ms-empty code {
	border-radius: 9px !important;
	background: #243342 !important;
	color: #c8ecff !important;
}

.ms-section .ms-pager {
	margin-top: 20px !important;
}

@media (max-width: 1180px) {
	.ms-section .ms-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
	.ms-inner::before, .ms-inner::after { opacity: .25; }
}

@media (max-width: 900px) {
	.ms-section .ms-totals { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
	.ms-section .ms-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 640px) {
	.ms-section { padding: 26px 0 58px !important; }
	.ms-inner { padding: 0 14px !important; }
	.ms-title { font-size: 17px !important; letter-spacing: 2px !important; padding: 11px 21px 9px !important; }
	.ms-section .ms-totals { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	.ms-section .ms-grid { grid-template-columns: 1fr !important; }
	.ms-section .ms-filter { align-items: stretch !important; }
	.ms-section .ms-filter label { width: 100%; margin-top: 4px; }
	.ms-section .ms-filter input[type='text'],
	.ms-section .ms-filter .trival-select { width: 100% !important; min-width: 0 !important; }
}

/* ============================================================
   Map Statistics card-system refinement
   ============================================================ */

/* No decorative side characters on this data-heavy page. */
.ms-inner::before,
.ms-inner::after {
	display: none !important;
	content: none !important;
}

/* One consistent shell for Overview / Search / Maps. */
.ms-section .ro-window {
	border: 1px solid rgba(108, 174, 216, .34) !important;
	border-bottom: 3px solid rgba(61, 143, 199, .56) !important;
	border-radius: 18px !important;
	background: rgba(255, 255, 255, .94) !important;
	box-shadow:
		0 12px 30px rgba(44, 104, 146, .09),
		inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

.ms-section .ro-titlebar {
	min-height: 46px !important;
	padding: 11px 16px 9px !important;
	border-radius: 17px 17px 0 0 !important;
	border-bottom: 1px solid rgba(91, 164, 211, .22) !important;
	background: linear-gradient(180deg, #f2fbff 0%, #e3f4fd 100%) !important;
	box-shadow: none !important;
}

.ms-section .ro-titlebar h3 {
	font-size: 12px !important;
	letter-spacing: .95px !important;
	color: #356581 !important;
}

.ms-section .ro-titlebar .ro-dots i {
	width: 7px !important;
	height: 7px !important;
	border-color: rgba(78, 156, 205, .38) !important;
	background: #f8fdff !important;
}

.ms-section .ro-body {
	padding: 16px !important;
}

/* Overview cards: flatter, roomier, consistent with other TrivalRO panels. */
.ms-section .ms-totals {
	gap: 12px !important;
}

.ms-section .ms-total {
	position: relative;
	min-height: 92px !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 12px 13px !important;
	border: 1px solid rgba(103, 171, 214, .28) !important;
	border-bottom: 3px solid rgba(77, 148, 193, .48) !important;
	border-radius: 14px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%) !important;
	box-shadow:
		0 7px 18px rgba(54, 112, 153, .07),
		inset 0 1px 0 rgba(255,255,255,1) !important;
}

.ms-section .ms-total::before {
	content: '';
	position: absolute;
	left: 16px;
	right: 16px;
	top: 0;
	height: 2px;
	border-radius: 0 0 999px 999px;
	background: linear-gradient(90deg, transparent, rgba(65, 174, 235, .44), transparent);
}

.ms-section .ms-total b {
	font-size: 20px !important;
	letter-spacing: .2px !important;
}

.ms-section .ms-total span {
	margin-top: 2px !important;
	font-size: 8px !important;
	letter-spacing: .95px !important;
}

/* Search panel should read like one toolbar, not nested mini cards. */
.ms-section .ro-window:nth-of-type(2) .ro-body {
	padding: 18px 20px !important;
}

.ms-section .ms-filter {
	gap: 10px !important;
}

.ms-section .ms-filter input[type='text'],
.ms-section .ms-filter .trival-select__trigger {
	height: 44px !important;
	border-radius: 12px !important;
	border-color: #a7d0e8 !important;
	background: #fff !important;
	box-shadow: 0 4px 10px rgba(66, 125, 165, .06) !important;
}

/* Fix optical centering and sizing of map search/reset controls. */
.ms-section .ms-btn,
.ms-section .ms-filter input[type='submit'] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	min-width: 82px !important;
	padding: 0 16px 3px !important;
	box-sizing: border-box !important;
	font-size: 10.5px !important;
	line-height: 1 !important;
	text-align: center !important;
	white-space: nowrap !important;
}

.ms-section .ms-btn.alt {
	min-width: 76px !important;
}

/* Map result panel */
.ms-section .ro-window:last-of-type .ro-body {
	padding: 16px !important;
}

.ms-section .ms-grid {
	gap: 16px !important;
}

.ms-section .ms-card {
	border: 1px solid rgba(104, 170, 212, .28) !important;
	border-bottom: 3px solid rgba(61, 143, 199, .52) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow:
		0 10px 24px rgba(50, 105, 145, .09),
		inset 0 1px 0 rgba(255,255,255,1) !important;
}

.ms-section .ms-card:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(65, 160, 218, .52) !important;
	box-shadow:
		0 14px 30px rgba(50, 105, 145, .14),
		inset 0 1px 0 rgba(255,255,255,1) !important;
}

.ms-section .ms-card.has-mvp {
	border-color: rgba(213, 171, 58, .48) !important;
	border-bottom-color: rgba(183, 133, 23, .70) !important;
}

.ms-section .ms-card-bar {
	min-height: 42px !important;
	padding: 9px 11px 7px !important;
	border-radius: 15px 15px 0 0 !important;
	background: linear-gradient(180deg, #56bdf2 0%, #329fde 100%) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.ms-section .ms-card.has-mvp .ms-card-bar {
	background: linear-gradient(180deg, #e6c75f 0%, #cfa132 100%) !important;
}

.ms-section .ms-card-name {
	font-size: 10.5px !important;
	letter-spacing: .2px !important;
}

.ms-section .ms-card-online {
	min-width: 36px;
	padding: 4px 7px 3px !important;
	text-align: center;
	background: rgba(21, 86, 127, .34) !important;
}

.ms-section .ms-minimap {
	height: 154px !important;
	padding: 10px !important;
	background: #f5fbfe !important;
}

.ms-section .ms-minimap-plate {
	border-radius: 12px !important;
	border-color: rgba(64, 111, 143, .34) !important;
	box-shadow:
		inset 0 0 20px rgba(0,0,0,.72),
		0 4px 10px rgba(43, 88, 119, .10) !important;
}

.ms-section .ms-stats {
	border-top: 1px solid rgba(113, 176, 213, .18) !important;
	border-bottom: 1px solid rgba(113, 176, 213, .18) !important;
	background: #f4faff !important;
}

.ms-section .ms-stat {
	padding: 9px 3px 8px !important;
	background: transparent !important;
}

.ms-section .ms-stat b {
	font-size: 11.5px !important;
}

.ms-section .ms-stat span {
	font-size: 7px !important;
	letter-spacing: .48px !important;
}

.ms-section .ms-mobs {
	padding: 12px 13px 14px !important;
	background: #fff !important;
}

.ms-section .ms-mobs-title {
	margin-bottom: 7px !important;
	font-size: 8.5px !important;
	color: #607f94 !important;
}

.ms-section .ms-mob {
	padding: 3px 0 !important;
	font-size: 9.5px !important;
}

@media (max-width: 900px) {
	.ms-section .ro-window { border-radius: 15px !important; }
}

/* ============================================================
   Professional minimap game-card treatment
   ============================================================ */

.ms-section .ms-card {
	isolation: isolate;
	background:
		linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(247,252,255,.985) 58%, rgba(240,248,253,.98) 100%) !important;
	border: 1px solid rgba(79, 157, 207, .34) !important;
	border-bottom: 4px solid rgba(39, 124, 183, .70) !important;
	border-radius: 18px !important;
	box-shadow:
		0 12px 28px rgba(39, 91, 126, .12),
		inset 0 1px 0 rgba(255,255,255,1),
		inset 0 0 0 1px rgba(255,255,255,.58) !important;
}

.ms-section .ms-card::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background:
		linear-gradient(90deg, rgba(70,183,239,.12), transparent 18%, transparent 82%, rgba(70,183,239,.10));
	pointer-events: none;
}

.ms-section .ms-card::after {
	content: '';
	position: absolute;
	left: 22px;
	right: 22px;
	top: 0;
	height: 2px;
	border-radius: 0 0 999px 999px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.86), transparent);
	pointer-events: none;
}

.ms-section .ms-card.has-mvp {
	border-color: rgba(210, 166, 45, .55) !important;
	border-bottom-color: rgba(169, 116, 16, .82) !important;
	box-shadow:
		0 12px 28px rgba(128, 94, 18, .13),
		inset 0 1px 0 rgba(255,255,255,1) !important;
}

.ms-section .ms-card-bar {
	position: relative;
	min-height: 46px !important;
	padding: 10px 12px 8px !important;
	border-bottom: 1px solid rgba(31, 126, 187, .30) !important;
	border-radius: 17px 17px 0 0 !important;
	background:
		linear-gradient(180deg, #64c6f7 0%, #39a9e8 52%, #248fd0 100%) !important;
	box-shadow:
		inset 0 2px 0 rgba(255,255,255,.35),
		inset 0 -2px 0 rgba(10,89,143,.16) !important;
}

.ms-section .ms-card-bar::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	width: 4px;
	height: 18px;
	border-radius: 999px;
	background: rgba(255,255,255,.55);
	transform: translateY(-50%);
	box-shadow: 0 0 8px rgba(255,255,255,.28);
}

.ms-section .ms-card.has-mvp .ms-card-bar {
	background:
		linear-gradient(180deg, #edcf69 0%, #d9aa39 52%, #b9851d 100%) !important;
	border-bottom-color: rgba(122, 82, 10, .30) !important;
}

.ms-section .ms-card-name {
	padding-left: 9px;
	font-size: 11px !important;
	line-height: 1.15 !important;
	letter-spacing: .2px !important;
	text-shadow: 0 1px 2px rgba(0,61,98,.56) !important;
}

.ms-section .ms-card-online {
	min-width: 42px !important;
	padding: 5px 8px 4px !important;
	border: 1px solid rgba(255,255,255,.38) !important;
	border-radius: 999px !important;
	background: rgba(18, 88, 130, .42) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.28),
		0 2px 5px rgba(0,60,96,.16) !important;
	font-size: 7.5px !important;
}

.ms-section .ms-minimap {
	position: relative;
	height: 166px !important;
	padding: 10px 10px 9px !important;
	background:
		linear-gradient(180deg, #eef8fd 0%, #e6f3fa 100%) !important;
	border-bottom: 1px solid rgba(99, 164, 205, .18) !important;
}

.ms-section .ms-minimap::before {
	content: '';
	position: absolute;
	inset: 7px;
	border-radius: 13px;
	border: 1px solid rgba(255,255,255,.90);
	pointer-events: none;
	z-index: 3;
}

.ms-section .ms-minimap-plate {
	position: relative;
	border: 1px solid rgba(43, 84, 111, .74) !important;
	border-radius: 13px !important;
	background:
		radial-gradient(circle at 50% 45%, #2d3039 0%, #17191f 60%, #0a0b0f 100%) !important;
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.035),
		inset 0 0 24px rgba(0,0,0,.80),
		0 5px 12px rgba(37, 81, 111, .16) !important;
}

.ms-section .ms-minimap-plate::before,
.ms-section .ms-minimap-plate::after {
	content: '';
	position: absolute;
	width: 13px;
	height: 13px;
	z-index: 2;
	pointer-events: none;
}

.ms-section .ms-minimap-plate::before {
	left: 6px;
	top: 6px;
	border-left: 2px solid rgba(101, 202, 250, .60);
	border-top: 2px solid rgba(101, 202, 250, .60);
}

.ms-section .ms-minimap-plate::after {
	right: 6px;
	bottom: 6px;
	border-right: 2px solid rgba(101, 202, 250, .60);
	border-bottom: 2px solid rgba(101, 202, 250, .60);
}

.ms-section .ms-card.has-mvp .ms-minimap-plate::before {
	border-left-color: rgba(238, 198, 79, .75);
	border-top-color: rgba(238, 198, 79, .75);
}

.ms-section .ms-card.has-mvp .ms-minimap-plate::after {
	border-right-color: rgba(238, 198, 79, .75);
	border-bottom-color: rgba(238, 198, 79, .75);
}

.ms-section .ms-minimap img {
	max-height: 144px !important;
	border-radius: 7px !important;
	filter: saturate(1.04) contrast(1.03);
}

.ms-section .ms-mapid {
	left: 12px !important;
	bottom: 11px !important;
	z-index: 5;
	padding: 4px 8px 3px !important;
	border: 1px solid rgba(121, 176, 210, .52) !important;
	border-radius: 999px !important;
	background: rgba(246, 252, 255, .94) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.95),
		0 3px 8px rgba(35, 77, 105, .13) !important;
	color: #55778d !important;
	font-size: 8px !important;
}

.ms-section .ms-badges {
	right: 12px !important;
	top: 11px !important;
	z-index: 5;
}

.ms-section .ms-badge {
	padding: 4px 8px 3px !important;
	border: 1px solid rgba(255,255,255,.42) !important;
	border-radius: 999px !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.52),
		0 3px 8px rgba(0,0,0,.14) !important;
	font-size: 7.5px !important;
}

/* Stats become compact HUD cells instead of table-like boxes. */
.ms-section .ms-stats {
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 7px !important;
	padding: 10px !important;
	border: 0 !important;
	background: #f4faff !important;
}

.ms-section .ms-stat {
	min-height: 52px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 7px 3px 6px !important;
	border: 1px solid rgba(111, 174, 213, .24) !important;
	border-bottom: 2px solid rgba(68, 145, 193, .38) !important;
	border-radius: 10px;
	background: linear-gradient(180deg, #fff, #edf8fd) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.94) !important;
}

.ms-section .ms-stat b {
	font-size: 12px !important;
	line-height: 1 !important;
	margin-bottom: 4px;
	color: #2f83b5 !important;
}

.ms-section .ms-stat span {
	font-size: 6.8px !important;
	letter-spacing: .55px !important;
}

/* Monster footer gets its own inset game panel. */
.ms-section .ms-mobs {
	margin: 0 10px 11px;
	padding: 10px 11px 11px !important;
	border: 1px solid rgba(107, 167, 204, .20);
	border-radius: 11px;
	background:
		linear-gradient(180deg, rgba(247,252,255,.96), rgba(239,247,252,.96)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.96) !important;
}

.ms-section .ms-mobs-title {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px !important;
	font-size: 8.5px !important;
	letter-spacing: .7px !important;
}

.ms-section .ms-mobs-title::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #4aaee7;
	box-shadow: 0 0 0 3px rgba(74,174,231,.12);
}

.ms-section .ms-card.has-mvp .ms-mobs-title::before {
	background: #d3a32d;
	box-shadow: 0 0 0 3px rgba(211,163,45,.13);
}

.ms-section .ms-mob {
	padding: 3px 0 !important;
	border-bottom: 1px dashed rgba(112, 165, 198, .13);
	font-size: 9.5px !important;
}

.ms-section .ms-mob:last-child {
	border-bottom: 0;
}

.ms-section .ms-mob.is-mvp .ms-mob-name {
	color: #b17e14 !important;
}

@media (max-width: 900px) {
	.ms-section .ms-minimap { height: 158px !important; }
}

/* Shared filter-button final override: real button + optical Grobold centering. */
.ms-section .trival-filter-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	min-height: 44px !important;
	min-width: 82px !important;
	padding: 0 18px !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
	text-align: center !important;
	vertical-align: middle !important;
	font-family: 'Grobold', 'Arial Black', sans-serif !important;
	font-size: 11.5px !important;
	font-weight: 400 !important;
	letter-spacing: .7px !important;
}

.ms-section .trival-filter-button__text {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	transform: translateY(2px) !important;
}

.ms-section .trival-filter-button--secondary {
	min-width: 82px !important;
}

/* Pagination is available above and below the minimap grid. */
#map-results {
	scroll-margin-top: 92px;
}

/* Center the COMPLETE legacy FluxCP paginator as one unit: page links + Page Jump. */
.ms-section .ms-pager {
	display: block !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	clear: both !important;
	float: none !important;
	text-align: center !important;
	transform: none !important;
}

.ms-section .ms-pager > *,
.ms-section .ms-pager .paginator,
.ms-section .ms-pager .pagination,
.ms-section .ms-pager .pages,
.ms-section .ms-pager form,
.ms-section .ms-pager table {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	transform: none !important;
}

.ms-section .ms-pager table {
	display: inline-table !important;
	vertical-align: middle !important;
}

.ms-section .ms-pager form,
.ms-section .ms-pager .paginator,
.ms-section .ms-pager .pagination,
.ms-section .ms-pager .pages {
	display: inline-block !important;
	vertical-align: middle !important;
	text-align: center !important;
}

.ms-section .ms-pager--top {
	margin: 6px auto 18px !important;
	padding: 0 !important;
}

.ms-section .ms-pager:not(.ms-pager--top) {
	margin-top: 18px !important;
}

/* ============================================================
   Scroll performance pass
   Keep the TrivalRO visual design while avoiding expensive full-panel
   backdrop recompositing and repeated GPU filters across 24 map cards.
   ============================================================ */

/* The results window can be thousands of pixels tall. Blurring everything
   behind that surface on every scroll was the primary FPS bottleneck. */
.ms-section .ro-window {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	background: rgba(255,255,255,.97) !important;
}

/* The second full-section radial overlay adds another large composited layer. */
.ms-section::after {
	display: none !important;
	content: none !important;
}

/* Localize layout and paint work to each map card. */
.ms-section .ms-card {
	contain: layout paint style;
	content-visibility: auto;
	contain-intrinsic-size: auto 420px;
	transition: none !important;
	box-shadow: 0 6px 14px rgba(39,91,126,.09) !important;
}

.ms-section .ms-card:hover {
	transform: none !important;
	box-shadow: 0 7px 16px rgba(39,91,126,.11) !important;
}

.ms-section .ms-card.has-mvp,
.ms-section .ms-card.has-players {
	box-shadow: 0 6px 14px rgba(39,91,126,.09) !important;
}

/* These decorative overlays are repeated on every card and do not carry data. */
.ms-section .ms-card::before,
.ms-section .ms-card::after {
	display: none !important;
	content: none !important;
}

/* Keep the dark minimap frame, but remove the expensive radial/inset stack. */
.ms-section .ms-minimap-plate {
	background: #111319 !important;
	box-shadow: inset 0 0 8px rgba(0,0,0,.58) !important;
	contain: paint;
}

/* Per-image CSS filters force extra raster/compositing work while scrolling. */
.ms-section .ms-minimap img {
	filter: none !important;
}

/* Remove tiny repeated shadows that add little visually across 24 cards. */
.ms-section .ms-card-bar,
.ms-section .ms-card-online,
.ms-section .ms-mapid,
.ms-section .ms-badge,
.ms-section .ms-stat,
.ms-section .ms-mobs,
.ms-section .ms-mobs-title::before {
	box-shadow: none !important;
}

/* Keep summary panels light too. */
.ms-section .ms-total {
	box-shadow: none !important;
}

/* Avoid hover brightness filters on the data-heavy map page. */
.ms-section .ms-btn:hover,
.ms-section .trival-filter-button:hover {
	filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.ms-section *,
	.ms-section *::before,
	.ms-section *::after {
		scroll-behavior: auto !important;
		transition-duration: 0s !important;
		animation-duration: 0s !important;
	}
}
