.ranking-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rank-card{background:#181b22;border:1px solid #222;padding:16px 16px 18px;border-radius:14px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:.3s}
.rank-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px -8px rgba(0,0,0,.55)}
.rank-card .rc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rank-card .rc-title{font-weight:700;font-size:1.05rem;line-height:1.2}
.rank-card .rc-badge{font-size:.65rem;font-weight:700;padding:6px 10px;border-radius:8px;background:#252b35;border:1px solid #2f3742;letter-spacing:.5px;white-space:nowrap}
.rank-card .rc-sub{font-size:.72rem;opacity:.75;min-height:18px}
.rank-card .rc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.63rem;letter-spacing:.3px}
.rank-card .pill{padding:4px 8px;border-radius:8px;background:#20262f;font-weight:600}
.rank-card .pill-fs{background:#20262f}
.rank-card .pill-wager{background:#20262f}
.rank-card .pill-rating{background:#27222c}
.rank-card .pill-banner{text-transform:uppercase;background:#2b2530}
.rank-card .pill:nth-child(2){background:#27222c}
.rank-card .pill:last-child{background:#2b2530}
/* Banner styles (uniform regardless of ranking position) */
.banner-gold{box-shadow:0 0 0 1px rgba(255,215,0,.25),0 0 22px -6px rgba(255,215,0,.4) inset;border-color:rgba(255,215,0,.35)!important;background:linear-gradient(160deg,rgba(255,215,0,.12),rgba(255,215,0,.02))}
.banner-red{box-shadow:0 0 0 1px rgba(160,20,20,.4),0 0 28px -8px rgba(200,30,30,.5) inset;border-color:rgba(200,40,40,.45)!important;background:linear-gradient(150deg,rgba(200,40,40,.16),rgba(120,20,20,.04))}
/* Responsive */
@media (max-width:640px){.ranking-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}

/* --- Redesigned card layout --- */
.rank-card.redesigned{padding:30px 18px 20px 18px;gap:14px;align-items:stretch;}
/* Rank badge: text-only, white glow (no circle/background) */
.rank-card.redesigned .rc-rank-badge{position:absolute;top:10px;left:10px;z-index:5;display:inline-block;width:auto;height:auto;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:1.05rem;font-weight:800;letter-spacing:.5px;color:#fff;text-shadow:0 0 8px rgba(255,255,255,.55), 0 0 16px rgba(255,255,255,.25)}
/* Special banner styles influence badge (neutral intensity, no rank dependence) */
/* Neutralize banner overrides for rank badge (keep text-only look) */
.banner-gold .rc-rank-badge, .banner-red .rc-rank-badge{background:transparent;border:0;color:#fff;text-shadow:0 0 8px rgba(255,255,255,.55), 0 0 16px rgba(255,255,255,.25)}
.rank-card.redesigned .rc-logo-wrap{width:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:12px;padding:20px 20px 18px;min-height:120px;position:relative}
.rank-card.redesigned .rc-logo-wrap.placeholder{font-size:1.8rem;font-weight:700;opacity:.4;letter-spacing:1px}
.rank-card.redesigned .rc-logo{max-width:120px;max-height:70px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.rank-card.redesigned .rc-logo-link{display:block;border-radius:12px}
.rank-card.redesigned .rc-logo-link:hover .rc-logo{filter:drop-shadow(0 3px 9px rgba(0,0,0,.65)) brightness(1.04)}
/* Gentle randomized wobble for logos */
.rank-card.redesigned img.rc-logo{will-change:transform;transform-origin:50% 50%;animation:rcLogoWobble var(--rc-vib-dur,5.2s) ease-in-out var(--rc-vib-delay,.2s) infinite}
@keyframes rcLogoWobble{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}25%{transform:translate3d(.4px,-.6px,0) rotate(-.25deg)}50%{transform:translate3d(-.5px,.5px,0) rotate(.25deg)}75%{transform:translate3d(.3px,.4px,0) rotate(-.2deg)}}
.rank-card.redesigned .rc-name{text-align:center;font-size:1rem;font-weight:700;margin:0}
.rank-card.redesigned .rc-bonus-text{text-align:center;font-size:.7rem;opacity:.75;min-height:14px;margin-top:-6px}
.rank-card.redesigned .rc-bonus-text.is-empty{opacity:0;}
.rank-card.redesigned .rc-info-rows{display:flex;flex-direction:column;gap:6px;font-size:.7rem;position:relative;z-index:2}
.rank-card.redesigned .rc-info-rows .row{display:flex;justify-content:space-between;align-items:center;background:transparent;border:1px solid transparent;padding:6px 10px;border-radius:8px;font-weight:600}
.rank-card.redesigned .rc-info-rows .row span{opacity:.65;font-weight:500}
/* Hide rows with empty values entirely while preserving overall spacing */
.rank-card.redesigned .rc-info-rows .row.is-empty{visibility:hidden}
/* Info rows animation helpers */
.rank-card.redesigned .rc-info-rows .row .label-blink{color:#fff !important;opacity:1 !important;font-weight:800 !important;animation:ssLabelBlink .7s ease-in-out 2}
.rank-card.redesigned .rc-info-rows .row .label-bold{font-weight:800 !important;opacity:1 !important;color:#fff}
.rank-card.redesigned .rc-info-rows .row .value-blink-green{color:#3ecf8e !important;font-weight:800 !important;animation:ssValueBlink .8s ease-in-out 3}
.rank-card.redesigned .rc-info-rows .row .value-green{color:#3ecf8e !important}
.rank-card.redesigned .rc-info-rows .row.blink-all span,
.rank-card.redesigned .rc-info-rows .row.blink-all strong{animation:ssAllBlink .5s ease-in-out 2}

/* Smooth transitions and scale without layout shift */
.rank-card.redesigned .rc-info-rows .row span,
.rank-card.redesigned .rc-info-rows .row strong{transition:color .35s ease, opacity .35s ease, transform .2s ease; display:inline-block; transform-origin:50% 55%; will-change:color,opacity,transform}
/* Dimmed rest state between cycles */
.rank-card.redesigned .rc-info-rows .row.fade-rest span,
.rank-card.redesigned .rc-info-rows .row.fade-rest strong{opacity:.72}

@keyframes ssLabelBlink{0%,100%{text-shadow:none;filter:brightness(1)}50%{text-shadow:0 0 10px rgba(255,255,255,.8),0 0 18px rgba(255,255,255,.45);filter:brightness(1.08)}}
@keyframes ssValueBlink{
	0%,100%{ text-shadow:none; filter:brightness(1); transform:scale(1) }
	50%{ text-shadow:0 0 12px rgba(62,207,142,.85), 0 0 20px rgba(62,207,142,.55); filter:brightness(1.12); transform:scale(1.085) }
}
@keyframes ssAllBlink{0%,100%{text-shadow:none;filter:brightness(1)}50%{text-shadow:0 0 8px rgba(255,255,255,.55);filter:brightness(1.08)}}
/* Claim button base (will be themed) */
.rank-card.redesigned .claim-btn{display:block;text-align:center;width:100%;background:linear-gradient(90deg,#3c4450,#4a5563);padding:12px 14px;font-size:.7rem;font-weight:700;letter-spacing:.6px;border-radius:10px;text-transform:uppercase;border:1px solid #3f4854;color:#fff;position:relative;overflow:hidden;transition:filter .25s,box-shadow .25s}
.rank-card.redesigned .claim-btn:hover{filter:brightness(1.08)}
/* Typography adjustments */
.rank-card.redesigned .rc-name{font-family:'Antonio', 'Manrope', sans-serif;letter-spacing:.5px}
.rank-card.redesigned .claim-btn{font-family:'Exo 2','Manrope',sans-serif;font-weight:700}

/* Theming: card background + claim button variant colors */
/* Default: warm subtle gold/orange (non-pulsing) */
.banner-default.rank-card{background:linear-gradient(145deg,rgba(65,52,24,.35),rgba(32,29,24,.55) 40%,rgba(24,22,20,.85));border:1px solid rgba(180,140,60,.35)}
.rank-card.banner-default .claim-btn{background:linear-gradient(95deg,#c4821f,#e2a341 40%,#b36914);border-color:#e9b45c;box-shadow:0 0 0 1px rgba(255,190,90,.3),0 4px 14px -4px rgba(170,90,10,.5) inset;color:#fff}
.rank-card.banner-default .claim-btn:hover{box-shadow:0 0 0 1px rgba(255,205,120,.45),0 6px 18px -4px rgba(200,120,20,.6) inset;filter:brightness(1.06)}

/* Gold-specific old styles removed; gold will now use the (former) copy_red CTA rules */

/* Red: molten red/orange with pulse */
@keyframes redPulse{0%,100%{box-shadow:0 0 0 1px rgba(255,100,70,.3),0 0 24px -8px rgba(255,70,40,.55) inset}50%{box-shadow:0 0 0 1px rgba(255,140,110,.55),0 0 32px -6px rgba(255,90,50,.75) inset}}
.banner-red{background:linear-gradient(150deg,rgba(120,25,18,.78),rgba(70,16,14,.7) 38%,rgba(38,10,10,.88));border:1px solid rgba(210,60,40,.55)}
.banner-red:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 60% 18%,rgba(255,110,70,.25),rgba(255,60,30,0) 58%)}
/* Gold card background (cinematic) */
.banner-gold:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 65% 20%,rgba(255,230,160,.28),rgba(255,200,80,0) 60%)}
.rank-card.banner-red .claim-btn, .rank-card.banner-gold .claim-btn{background:linear-gradient(105deg,#ff5a2e,#ff9448 33%,#d33b28 66%,#831a1a);border-color:#ff9862;animation:redPulse 5s ease-in-out infinite;box-shadow:0 0 0 1px rgba(255,120,70,.45),0 4px 20px -6px rgba(160,50,30,.6) inset;color:#fff}
.rank-card.banner-red .claim-btn:hover, .rank-card.banner-gold .claim-btn:hover{filter:brightness(1.14)}

/* Preserve consistent shape/padding across variants */
.rank-card.banner-default,.rank-card.banner-gold,.rank-card.banner-red{border-radius:14px}

/* Animated emphasis for gold & red claim buttons (subtle scale pulse) */
@keyframes btnBreathGold{0%,100%{transform:translateZ(0) scale(1)}50%{transform:translateZ(0) scale(1.035)}}
@keyframes btnBreathRed{0%,100%{transform:translateZ(0) scale(1)}50%{transform:translateZ(0) scale(1.045)}}
.rank-card.banner-red .claim-btn, .rank-card.banner-gold .claim-btn{animation:redPulse 5s ease-in-out infinite, btnBreathRed 4.6s ease-in-out infinite}
.rank-card.banner-red .claim-btn:hover, .rank-card.banner-gold .claim-btn:hover{transform:scale(1.06)}

/* Profile tab badge: golden cinematic label linking to profile */
.rank-card .rc-profile-badge{
	position:absolute; top:10px; right:10px; z-index:5;
	display:inline-flex; align-items:center; justify-content:center;
	padding:6px 10px; border-radius:10px 10px 10px 10px;
	font-size:.66rem; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
	color:#1f1706; text-decoration:none; white-space:nowrap;
	background:linear-gradient(135deg,#ffe38c,#f2c754 45%,#b98516);
	border:1px solid #ffec9d;
	box-shadow:0 2px 8px rgba(0,0,0,.35), 0 0 0 1px rgba(255,230,150,.35) inset;
	transition:transform .15s ease, filter .2s ease, box-shadow .2s ease;
}
.rank-card .rc-profile-badge:hover{ filter:brightness(1.08); transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.45), 0 0 0 1px rgba(255,240,170,.55) inset }
.rank-card .rc-profile-badge:active{ transform:translateY(0) scale(.98) }
/* Keep visibility and contrast on red banner as well */
.rank-card.banner-red .rc-profile-badge{ color:#fff; text-shadow:0 1px 1px rgba(0,0,0,.35) }

/* IP-allow badge (positioned near profile badge) */
.rank-card .rc-geo-badge{
	position:absolute; top:10px; right:120px; z-index:5;
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	padding:6px 10px; border-radius:10px;
	font-size:.66rem; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
	border:1px solid #3b4a60; color:#e7ebf1; background:#1b222c;
	box-shadow:0 2px 8px rgba(0,0,0,.35), 0 0 0 1px rgba(60,80,100,.3) inset;
	user-select:none; white-space:nowrap;
}
.rank-card .rc-geo-badge .ip-ico{ font-size:.85rem; line-height:1 }
@keyframes geoGlow { 0%,100%{ box-shadow:0 2px 10px rgba(0,0,0,.45), 0 0 10px rgba(62,207,142,.45), 0 0 0 1px rgba(62,207,142,.45) inset } 50%{ box-shadow:0 3px 12px rgba(0,0,0,.5), 0 0 14px rgba(62,207,142,.75), 0 0 0 1px rgba(62,207,142,.65) inset } }
.rank-card .rc-geo-badge.ok{
	background:linear-gradient(135deg,#2a7a5e,#3ecf8e);
	border-color:#3ecf8e; color:#0a1511; text-shadow:0 1px 0 rgba(255,255,255,.35);
	animation: geoGlow 2.2s ease-in-out infinite;
}
.rank-card .rc-geo-badge.no{
	background:linear-gradient(135deg,#7a2a2a,#e16b6b);
	border-color:#e16b6b; color:#fff; text-shadow:0 1px 0 rgba(0,0,0,.35);
}
