/**
 * PlayRox player dashboard.
 *
 * Shares the palette of the auth screens so the whole player experience
 * reads as one product, while sitting inside the theme's header and footer.
 */

.playrox-dash {
	--prd-deep: #0d3a1c;
	--prd-deep-2: #123f21;
	--prd-green: #2f9e44;
	--prd-green-bright: #4caf50;
	--prd-green-light: #6fcf6f;
	--prd-ink: #10321a;
	--prd-muted: #6b7d70;
	--prd-line: #e4eae3;
	--prd-surface: #ffffff;
	--prd-canvas: #f4f7f3;
	--prd-gold: #f5b731;
	--prd-purple: #8b5cf6;
	--prd-orange: #f97316;
	--prd-danger: #dc3545;
	--prd-radius: 18px;
	--prd-shadow: 0 10px 30px rgba(13, 58, 28, 0.08);

	max-width: 1080px;
	margin: 0 auto;
	padding: 20px 16px 70px;
	color: var(--prd-ink);
}

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

.playrox-dash__h3 {
	margin: 28px 0 12px;
	font-size: 17px;
	font-weight: 800;
	color: var(--prd-ink);
}

.playrox-dash__muted {
	margin: 0 0 14px;
	font-size: 13.5px;
	color: var(--prd-muted);
}

/* Buttons ---------------------------------------------------------------- */

.playrox-dash__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 20px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, filter 0.15s ease, background 0.15s ease;
}

.playrox-dash__btn:hover {
	transform: translateY(-1px);
	text-decoration: none;
}

.playrox-dash__btn--primary {
	background: linear-gradient(180deg, #34a853, #2b8c45);
	color: #fff;
	box-shadow: 0 6px 18px rgba(47, 158, 68, 0.32);
}

.playrox-dash__btn--primary:hover {
	color: #fff;
	filter: brightness(1.07);
}

.playrox-dash__btn--light {
	background: #36557669;
	border-color: var(--prd-line);
	color: var(--prd-ink);
}

.playrox-dash__btn--light:hover {
	background: #f2f5f1;
	color: var(--prd-ink);
}

.playrox-dash__btn--danger {
	background: rgba(220, 53, 69, 0.08);
	color: var(--prd-danger);
}

.playrox-dash__btn--danger:hover {
	background: rgba(220, 53, 69, 0.15);
	color: var(--prd-danger);
}

/* ==========================================================================
   Hero
   ========================================================================== */

.playrox-dash__hero {
	position: relative;
	overflow: hidden;
	padding: 26px 24px;
	border-radius: 24px;
	background: linear-gradient(135deg, var(--prd-deep) 0%, #16512a 100%);
	color: #fff;
}

.playrox-dash__hero-bg {
	position: absolute;
	top: -60px;
	right: -50px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(111, 207, 111, 0.28), transparent 68%);
	pointer-events: none;
}

.playrox-dash__identity {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
}

.playrox-dash__avatar {
	position: relative;
	flex: 0 0 auto;
	padding: 4px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--prd-green-bright), var(--prd-green-light));
}

.playrox-dash__avatar img {
	display: block;
	width: 92px;
	height: 92px;
	border: 3px solid var(--prd-deep);
	border-radius: 50%;
	object-fit: cover;
}

.playrox-dash__level {
	position: absolute;
	right: -2px;
	bottom: -2px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	border: 3px solid var(--prd-deep);
	border-radius: 16px;
	background: var(--prd-gold);
	color: #4a3200;
	font-size: 13px;
	font-weight: 900;
}

.playrox-dash__who {
	flex: 1 1 auto;
	min-width: 0;
}

.playrox-dash__name {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 5px;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
	color: #fff;
}

.playrox-dash__flair {
	color: var(--prd-gold);
	font-size: 19px;
}

.playrox-dash__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0 0 14px;
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.72);
}

.playrox-dash__meta i {
	margin-right: 5px;
}

/* XP bar */

.playrox-xp__meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.8);
}

.playrox-xp__track {
	height: 9px;
	overflow: hidden;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.16);
}

.playrox-xp__fill {
	height: 100%;
	border-radius: 5px;
	background: linear-gradient(90deg, var(--prd-green-light), var(--prd-gold));
	transition: width 0.7s cubic-bezier(0.2, 0.9, 0.3, 1);
}

/* Guest warning */

.playrox-dash__guest-warn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 20px;
	padding: 14px 16px;
	border: 1px solid rgba(245, 183, 49, 0.4);
	border-radius: 14px;
	background: rgba(245, 183, 49, 0.12);
}

.playrox-dash__guest-warn > i {
	color: var(--prd-gold);
	font-size: 20px;
}

.playrox-dash__guest-warn div {
	flex: 1 1 220px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.playrox-dash__guest-warn strong {
	font-size: 14px;
}

.playrox-dash__guest-warn span {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.75);
}

/* ==========================================================================
   Wallet
   ========================================================================== */

.playrox-wallet {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 14px;
	margin-top: 14px;
}

.playrox-wallet__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 20px;
	border: 1px solid var(--prd-line);
	border-radius: var(--prd-radius);
	background: var(--prd-surface);
	box-shadow: var(--prd-shadow);
}

.playrox-wallet__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--prd-muted);
}

.playrox-wallet__value {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.1;
	color: var(--prd-ink);
}

.playrox-wallet__value i {
	color: var(--prd-gold);
	font-size: 27px;
}

.playrox-wallet__sub {
	margin-bottom: 12px;
	font-size: 12.5px;
	color: var(--prd-muted);
}

/* Stat tiles */

.playrox-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.playrox-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 14px 8px;
	border: 1px solid var(--prd-line);
	border-radius: 14px;
	background: var(--prd-surface);
	text-align: center;
}

.playrox-tile i {
	font-size: 17px;
	color: var(--prd-green);
}

.playrox-tile strong {
	font-size: 17px;
	font-weight: 800;
	line-height: 1.15;
}

.playrox-tile span {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--prd-muted);
}

/* ==========================================================================
   Tabs
   ========================================================================== */

.playrox-dash__body {
	margin-top: 26px;
}

.playrox-dash__nav {
	display: flex;
	gap: 7px;
	padding-bottom: 4px;
	margin-bottom: 20px;
	overflow-x: auto;
	border-bottom: 1px solid var(--prd-line);
	scrollbar-width: none;
}

.playrox-dash__nav::-webkit-scrollbar {
	display: none;
}

.playrox-dash__navbtn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	padding: 11px 17px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: none;
	color: var(--prd-muted);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.16s ease, border-color 0.16s ease;
}

.playrox-dash__navbtn:hover {
	color: var(--prd-ink);
}

.playrox-dash__navbtn.is-active {
	border-bottom-color: var(--prd-green);
	color: var(--prd-green);
}

.playrox-dash .playrox-tab-panel {
	display: none;
}

.playrox-dash .playrox-tab-panel.is-active {
	display: block;
}

/* ==========================================================================
   Resume
   ========================================================================== */

.playrox-resume {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 20px;
	align-items: center;
	overflow: hidden;
	padding: 18px;
	border: 1px solid var(--prd-line);
	border-radius: var(--prd-radius);
	background: linear-gradient(135deg, #ffffff, #f2f8f2);
	box-shadow: var(--prd-shadow);
}

.playrox-resume__art {
	overflow: hidden;
	border-radius: 14px;
	background: var(--prd-canvas);
	aspect-ratio: 4 / 5;
}

.playrox-resume__art img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.playrox-resume__eyebrow {
	display: inline-block;
	margin-bottom: 6px;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(47, 158, 68, 0.12);
	color: var(--prd-green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.playrox-resume__title {
	margin: 0 0 6px;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
}

.playrox-resume__meta {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--prd-muted);
}

/* ==========================================================================
   Game cards
   ========================================================================== */

.playrox-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 14px;
}

.playrox-card {
	position: relative;
	margin: 0;
}

.playrox-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.playrox-card__link:hover {
	color: inherit;
	text-decoration: none;
}

.playrox-card__thumb {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 14px;
	background: var(--prd-canvas);
	aspect-ratio: 4 / 5;
	box-shadow: var(--prd-shadow);
}

.playrox-card__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.playrox-card__link:hover .playrox-card__thumb img {
	transform: scale(1.06);
}

.playrox-card__play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(13, 58, 28, 0.42);
	color: #fff;
	font-size: 22px;
	opacity: 0;
	transition: opacity 0.22s ease;
}

.playrox-card__link:hover .playrox-card__play {
	opacity: 1;
}

.playrox-card__title {
	display: block;
	margin-top: 8px;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.playrox-card__stat {
	display: block;
	font-size: 11.5px;
	color: var(--prd-muted);
}

.playrox-card__stat i {
	margin-right: 4px;
	color: var(--prd-gold);
}

/* ==========================================================================
   Rewards
   ========================================================================== */

.playrox-earn {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.playrox-earn__item {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 13px 15px;
	border: 1px solid var(--prd-line);
	border-radius: 14px;
	background: var(--prd-surface);
}

.playrox-earn__item.is-done {
	opacity: 0.55;
}

.playrox-earn__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(47, 158, 68, 0.11);
	color: var(--prd-green);
	font-size: 16px;
}

.playrox-earn__text {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.playrox-earn__text strong {
	font-size: 14px;
	font-weight: 700;
}

.playrox-earn__text em {
	font-size: 12px;
	font-style: normal;
	color: var(--prd-muted);
}

.playrox-earn__reward {
	flex: 0 0 auto;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgb(249 249 249 / 14%);
	color: #9bff43;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.playrox-packs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 12px;
}

.playrox-pack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 18px 12px;
	border: 1px solid var(--prd-line);
	border-radius: 16px;
	background: var(--prd-surface);
	color: inherit;
	text-align: center;
	text-decoration: none;
}

.playrox-pack:hover {
	border-color: var(--prd-green);
	color: inherit;
	text-decoration: none;
}

.playrox-pack i {
	font-size: 24px;
	color: var(--prd-gold);
}

.playrox-pack strong { font-size: 14px; }
.playrox-pack span { font-size: 12.5px; color: var(--prd-muted); }
.playrox-pack em {
	margin-top: 4px;
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	color: var(--prd-green);
}

.playrox-dash__split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 22px;
}

/* Invite */

.playrox-invite {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 18px;
	border: 1px solid var(--prd-line);
	border-radius: var(--prd-radius);
	background: var(--prd-surface);
}

.playrox-invite__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.playrox-invite__text strong { font-size: 15px; }
.playrox-invite__text em {
	font-size: 12.5px;
	font-style: normal;
	color: var(--prd-muted);
}

.playrox-invite__box {
	display: flex;
	align-items: center;
	gap: 11px;
	flex-wrap: wrap;
}

.playrox-invite__box code {
	padding: 9px 15px;
	border: 1px dashed var(--prd-green);
	border-radius: 11px;
	background: #16a34a;
	color: var(--prd-green);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.13em;
}

/* Ledger */

.playrox-ledger {
	margin: 0;
	padding: 0;
	border: 1px solid var(--prd-line);
	border-radius: var(--prd-radius);
	background: var(--prd-surface);
	list-style: none;
	overflow: hidden;
}

.playrox-ledger__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--prd-line);
}

.playrox-ledger__row:last-child {
	border-bottom: 0;
}

.playrox-ledger__reason {
	flex: 1 1 auto;
	font-size: 13.5px;
	font-weight: 600;
}

.playrox-ledger__time {
	font-size: 12px;
	color: var(--prd-muted);
}

.playrox-ledger__amount {
	flex: 0 0 auto;
	min-width: 78px;
	text-align: right;
	font-size: 14px;
	font-weight: 800;
	color: var(--prd-green);
}

.playrox-ledger__amount.is-negative {
	color: #d17b7b;
}

.playrox-ledger__amount i {
	margin-left: 4px;
	color: var(--prd-gold);
}

/* ==========================================================================
   Trophies
   ========================================================================== */

.playrox-trophies {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
	gap: 13px;
}

.playrox-trophy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 14px;
	border: 1px solid var(--prd-line);
	border-radius: 16px;
	background: var(--prd-surface);
	text-align: center;
	transition: transform 0.2s ease;
}

.playrox-trophy:hover {
	transform: translateY(-3px);
}

.playrox-trophy__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	font-size: 23px;
}

.playrox-trophy.is-unlocked .playrox-trophy__icon {
	background: linear-gradient(135deg, var(--prd-green), var(--prd-green-light));
	color: #fff;
	box-shadow: 0 8px 20px rgba(47, 158, 68, 0.3);
}

.playrox-trophy.is-locked {
	opacity: 0.55;
}

.playrox-trophy.is-locked .playrox-trophy__icon {
	background: var(--prd-canvas);
	color: var(--prd-muted);
}

.playrox-trophy__title {
	font-size: 13.5px;
	font-weight: 800;
}

.playrox-trophy__desc {
	font-size: 11.5px;
	line-height: 1.35;
	color: var(--prd-muted);
}

.playrox-trophy__meta {
	margin-top: 3px;
	font-size: 11px;
	font-weight: 600;
	color: var(--prd-muted);
}

.playrox-trophy.is-unlocked .playrox-trophy__meta {
	color: var(--prd-green);
}

/* ==========================================================================
   Account
   ========================================================================== */

.playrox-account__block {
	padding-bottom: 22px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--prd-line);
}

.playrox-account__block:last-child {
	border-bottom: 0;
}

.playrox-account__row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.playrox-input {
	flex: 1 1 220px;
	min-height: 44px;
	padding: 10px 15px;
	border: 1px solid var(--prd-line);
	border-radius: 11px;
	background: #fff;
	color: var(--prd-ink);
	font-family: inherit;
	font-size: 15px;
}

.playrox-input:focus {
	outline: none;
	border-color: var(--prd-green);
}

/* The shop renders on a dark surface elsewhere; lighten it here. */
.playrox-account .playrox-shop {
	border-color: var(--prd-line);
	background: var(--prd-canvas);
	color: var(--prd-ink);
}

.playrox-account .playrox-shop__title,
.playrox-account .playrox-shop__name {
	color: var(--prd-ink);
}

.playrox-account .playrox-shop__item {
	border-color: var(--prd-line);
	background: #fff;
}

/* ==========================================================================
   Empty states
   ========================================================================== */

.playrox-blank {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	padding: 48px 24px;
	border: 1px dashed var(--prd-line);
	border-radius: var(--prd-radius);
	background: var(--prd-surface);
	text-align: center;
}

.playrox-blank i {
	font-size: 34px;
	color: var(--prd-green-light);
}

.playrox-blank strong {
	font-size: 17px;
	font-weight: 800;
}

.playrox-blank span {
	max-width: 380px;
	font-size: 13.5px;
	color: var(--prd-muted);
}

.playrox-blank .playrox-dash__btn {
	margin-top: 8px;
}

/* ==========================================================================
   Floating player dock
   ========================================================================== */

.playrox-dock {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 999990;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	pointer-events: auto;
	padding: 6px 15px 6px 6px;
	border-radius: 999px;
	background: #0A7F3F;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
	color: #fff;
	text-decoration: none;
	transition: transform 0.18s ease;
}

.playrox-dock:hover {
	transform: translateY(-2px);
	color: #fff;
	text-decoration: none;
}

.playrox-dock__avatar img {
	display: block;
	width: 34px;
	height: 34px;
	border: 2px solid #4caf50;
	border-radius: 50%;
	object-fit: cover;
}

.playrox-dock__coins {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	font-weight: 800;
	color:white;
}

.playrox-dock__coins i {
	color: #f5b731;
}

/* Guest "Play Games" variant of the dock (fresh visitors). */
/* Guest "Play Games" launcher — a round image button (or placeholder). */
.playrox-dock--guest {
	border: 0;
	cursor: pointer;
	padding: 8px;
	width: auto;
	height: auto;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	font-family: inherit;
}
.playrox-dock--img {
	background: transparent;
	box-shadow: 0 8px 22px rgba(0,0,0,0.35);
	padding: 0;
}
.playrox-dock__img {
	width: var(--pg-w, 56px);
	height: var(--pg-h, 56px);
	object-fit: contain;
	display: block;
}
.playrox-dock__ph {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--pg-w, 56px);
	height: var(--pg-h, 56px);
	border-radius: 50%;
	border: 2px dashed rgba(255,255,255,0.5);
}
.playrox-dock__ph i {
	font-size: calc(var(--pg-h, 56px) * 0.42);
	color: #d7ffe4;
}
.playrox-dock--guest:hover { filter: brightness(1.05); transform: translateY(-1px); }

/* Keep the notification bell clear of the dock. */
body.playrox-player .playrox-notify {
	bottom: 74px;
	z-index: 999991;
}

/* The game popup must still cover everything. */
#viral-slider-popup.active ~ .playrox-dock,
#viral-slider-popup.active ~ .playrox-notify {
	display: none;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 900px) {
	.playrox-wallet {
		grid-template-columns: 1fr;
	}

	.playrox-dash__split {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.playrox-dash {
		padding: 12px 12px 90px;
	}

	.playrox-dash__hero {
		padding: 20px 16px;
	}

	.playrox-dash__identity {
		flex-direction: column;
		gap: 14px;
		text-align: center;
	}

	.playrox-dash__name,
	.playrox-dash__meta {
		justify-content: center;
	}

	.playrox-dash__who {
		width: 100%;
	}

	.playrox-resume {
		grid-template-columns: 1fr;
	}

	.playrox-tiles {
		grid-template-columns: repeat(2, 1fr);
	}

	.playrox-cards {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	}
}

@media (max-width: 420px) {
	.playrox-wallet__value {
		font-size: 29px;
	}

	.playrox-dash__navbtn span {
		display: none;
	}

	.playrox-dash__navbtn {
		padding: 11px 16px;
		font-size: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.playrox-dash__btn,
	.playrox-card__thumb img,
	.playrox-card__play,
	.playrox-trophy,
	.playrox-xp__fill,
	.playrox-dock {
		transition: none;
	}
}

/* Entrance animation for the dock when injected after an in-page sign-in. */

.playrox-dock.is-entering {
	animation: playrox-dock-in 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.4) both;
}

@keyframes playrox-dock-in {
	0% {
		opacity: 0;
		transform: translateY(24px) scale(0.85);
	}
	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.playrox-dock.is-entering {
		animation: none;
	}
}

/* Dashboard leaderboard panel --------------------------------------------- */

.playrox-dash-leaders__me {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	margin: 0 0 18px;
	padding: 18px 16px;
	border-radius: 16px;
	background: linear-gradient(180deg, #0d3a1c 0%, #0a2d16 100%);
	color: #fff;
	text-align: center;
}

.playrox-dash-leaders__rank {
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	color: #6fcf6f;
}

.playrox-dash-leaders__label {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
}

.playrox-dash-leaders__full {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 7px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.16s ease;
}

.playrox-dash-leaders__full:hover {
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
}

/* Reference-style stat strip inside the hero card */
.playrox-dash__statstrip {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.playrox-dash__statcell {
	display: flex;
	align-items: center;
	gap: 10px;
}

.playrox-dash__statcell i {
	font-size: 20px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.1);
}

.playrox-dash__statcell i.strip-coin { color: #ffd75e; }
.playrox-dash__statcell i.strip-rank { color: #6fcf6f; }
.playrox-dash__statcell i.strip-streak { color: #ff8a3d; }
.playrox-dash__statcell i.strip-xp { color: #ffe07a; }

.playrox-dash__statcell__meta {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
	min-width: 0;
}

.playrox-dash__statcell__meta strong {
	font-size: 17px;
	font-weight: 800;
}

.playrox-dash__statcell__meta span {
	font-size: 11px;
	opacity: 0.75;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.playrox-dash__statstrip {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px 10px;
	}
}

/* ==========================================================================
   DASHBOARD REDESIGN (v6.4.0) — modern visual overhaul
   Overrides above rules with higher specificity; DOM/classes unchanged.
   ========================================================================== */

.playrox-dash {
	--prd-radius: 22px;
	--prd-shadow: 0 12px 34px rgba(13, 58, 28, 0.10);
	max-width: 1120px;
	padding: 26px 18px 90px;
}

/* --- Hero: richer gradient, glow, larger identity ----------------------- */

.playrox-dash .playrox-dash__hero {
	padding: 30px 30px 28px;
	border-radius: 28px;
	background:
		radial-gradient(120% 140% at 100% 0%, #1c6b38 0%, transparent 55%),
		radial-gradient(120% 120% at 0% 100%, #0a2f16 0%, transparent 60%),
		linear-gradient(135deg, #0f4223 0%, #0a3319 100%);
	box-shadow: 0 22px 50px rgba(8, 40, 20, 0.28);
}

.playrox-dash .playrox-dash__hero-bg {
	top: -80px;
	right: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(94, 230, 138, 0.22), transparent 66%);
}

.playrox-dash .playrox-dash__avatar {
	padding: 5px;
	background: linear-gradient(135deg, #5ee68a, #2f9e44 60%, #f5b731);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
}

.playrox-dash .playrox-dash__avatar img {
	width: 96px;
	height: 96px;
	border-width: 4px;
}

.playrox-dash .playrox-dash__level {
	background: linear-gradient(135deg, #f5b731, #f97316);
	color: #3a2400;
	font-weight: 900;
	box-shadow: 0 4px 12px rgba(249, 115, 22, 0.45);
}

/* --- Stat strip inside hero: glassy cells ------------------------------- */

.playrox-dash .playrox-dash__statstrip {
	margin-top: 26px;
	padding-top: 22px;
	gap: 12px;
}

.playrox-dash .playrox-dash__statcell {
	padding: 12px 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.09);
	backdrop-filter: blur(6px);
}

.playrox-dash .playrox-dash__statcell i {
	width: 40px;
	height: 40px;
	font-size: 18px;
	border-radius: 12px;
}

/* --- Coin wallet card: gold gradient hero ------------------------------- */

.playrox-dash .playrox-wallet__main {
	position: relative;
	overflow: hidden;
	padding: 26px;
	border: 0;
	border-radius: 24px;
	background: linear-gradient(140deg, #12572b 0%, #0c3d1e 100%);
	color: #fff;
	box-shadow: 0 16px 38px rgba(10, 45, 22, 0.24);
}

.playrox-dash .playrox-wallet__main::after {
	content: "\f51e";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	right: -14px;
	bottom: -18px;
	font-size: 120px;
	color: rgba(245, 183, 49, 0.14);
	pointer-events: none;
}

.playrox-dash .playrox-wallet__label {
	color: rgba(255, 255, 255, 0.72);
}

.playrox-dash .playrox-wallet__value {
	font-size: 40px;
	color: #fff;
}

.playrox-dash .playrox-wallet__value i {
	color: #ffd75e;
	font-size: 32px;
}

.playrox-dash .playrox-wallet__sub {
	color: rgba(255, 255, 255, 0.7);
}

.playrox-dash .playrox-wallet__main .playrox-dash__btn--primary {
	position: relative;
	z-index: 1;
	background: linear-gradient(180deg, #ffd75e, #f5b731);
	color: #3a2a06;
	box-shadow: 0 8px 20px rgba(245, 183, 49, 0.35);
}

/* --- Stat tiles: coloured icon chips, hover lift ------------------------ */

.playrox-dash .playrox-tiles {
	gap: 12px;
}

.playrox-dash .playrox-tile {
	align-items: flex-start;
	gap: 8px;
	padding: 18px 16px;
	border: 1px solid var(--prd-line);
	border-radius: 18px;
	transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.playrox-dash .playrox-tile:hover {
	transform: translateY(-3px);
	box-shadow: var(--prd-shadow);
}

.playrox-dash .playrox-tile i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	font-size: 18px;
	border-radius: 13px;
	color: #fff;
	background: linear-gradient(135deg, #34a853, #2b8c45);
}

.playrox-dash .playrox-tile:nth-child(1) i { background: linear-gradient(135deg, #34a853, #2b8c45); }
.playrox-dash .playrox-tile:nth-child(2) i { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.playrox-dash .playrox-tile:nth-child(3) i { background: linear-gradient(135deg, #f5b731, #f97316); }
.playrox-dash .playrox-tile:nth-child(4) i { background: linear-gradient(135deg, #fb7185, #ef4444); }
.playrox-dash .playrox-tile:nth-child(5) i { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
.playrox-dash .playrox-tile:nth-child(6) i { background: linear-gradient(135deg, #22d3ee, #0891b2); }

.playrox-dash .playrox-tile strong {
	font-size: 20px;
	font-weight: 900;
}

.playrox-dash .playrox-tile span {
	text-align: left;
}

/* --- Tabs: pill nav with active elevation ------------------------------- */

.playrox-dash .playrox-dash__nav {
	gap: 8px;
	padding: 6px;
	margin-bottom: 24px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--prd-line);
	border-bottom: 1px solid var(--prd-line);
	box-shadow: var(--prd-shadow);
}

.playrox-dash .playrox-dash__navbtn {
	border-radius: 12px;
	border-bottom: 0;
	font-weight: 700;
	transition: all 0.16s ease;
}

.playrox-dash .playrox-dash__navbtn.is-active {
	background: linear-gradient(180deg, #34a853, #2b8c45);
	color: #fff;
	box-shadow: 0 6px 16px rgba(47, 158, 68, 0.3);
}

/* --- Section cards: consistent rounding + shadow ------------------------ */

.playrox-dash .playrox-card {
	border-radius: var(--prd-radius);
	box-shadow: var(--prd-shadow);
}

/* ==========================================================================
   PlayRox Dashboard — 2.0 redesign
   A cohesive gaming "player card" system. Overrides the base styles above.
   ========================================================================== */

.playrox-dash {
	--prd-hero-1: #0a3417;
	--prd-hero-2: #124a24;
	--prd-hero-3: #1c6b39;
	max-width: 1120px;
}

/* ---- Hero player card --------------------------------------------------- */

.playrox-dash__hero {
	padding: 30px 28px 26px;
	border-radius: 28px;
	background:
		radial-gradient(120% 140% at 85% -10%, rgba(94, 230, 138, 0.22), transparent 55%),
		linear-gradient(150deg, var(--prd-hero-1) 0%, var(--prd-hero-2) 55%, var(--prd-hero-3) 100%);
	box-shadow: 0 20px 50px rgba(10, 52, 23, 0.28);
}

.playrox-dash__hero-bg {
	top: -80px;
	right: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(94, 230, 138, 0.25), transparent 70%);
}

.playrox-dash__identity {
	gap: 22px;
}

.playrox-dash__avatar {
	padding: 4px;
	background: conic-gradient(from 220deg, #5ee68a, #4caf50, #f5b731, #5ee68a);
}

.playrox-dash__avatar img {
	width: 96px;
	height: 96px;
	border: 4px solid var(--prd-hero-1);
}

.playrox-dash__level {
	right: -4px;
	bottom: -4px;
	width: 38px;
	height: 38px;
	font-size: 15px;
	font-weight: 900;
	background: linear-gradient(135deg, #f5b731, #f97316);
	color: #3a2406;
	border: 3px solid var(--prd-hero-1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.playrox-dash__name {
	font-size: 26px;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.playrox-dash__meta {
	opacity: 0.72;
}

/* XP bar — battle-pass style */
.playrox-xp__track {
	height: 12px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

.playrox-xp__fill {
	border-radius: 999px;
	background: linear-gradient(90deg, #5ee68a, #4caf50);
	box-shadow: 0 0 14px rgba(94, 230, 138, 0.6);
}

/* Stat strip inside hero */
.playrox-dash__statstrip {
	margin-top: 24px;
	padding-top: 22px;
}

.playrox-dash__statcell i {
	width: 40px;
	height: 40px;
	font-size: 18px;
	border-radius: 12px;
}

.playrox-dash__statcell__meta strong {
	font-size: 19px;
}

/* ---- Quick action cards (daily / missions / spin) ----------------------- */

.playrox-quick {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 22px 0 0;
}

.playrox-quick__card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--prd-line);
	border-radius: 20px;
	background: var(--prd-surface);
	box-shadow: var(--prd-shadow);
	cursor: pointer;
	transition: transform 0.16s ease, box-shadow 0.16s ease;
	text-align: left;
}

.playrox-quick__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(13, 58, 28, 0.14);
}

.playrox-quick__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	flex: 0 0 auto;
	border-radius: 15px;
	font-size: 22px;
	color: #fff;
}

.playrox-quick__card--daily .playrox-quick__icon {
	background: linear-gradient(135deg, #f5b731, #f97316);
}

.playrox-quick__card--missions .playrox-quick__icon {
	background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}

.playrox-quick__card--spin .playrox-quick__icon {
	background: linear-gradient(135deg, #5ee68a, #2f9e44);
}

.playrox-quick__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.playrox-quick__text strong {
	font-size: 15px;
	font-weight: 800;
	color: var(--prd-ink);
}

.playrox-quick__text span {
	font-size: 12.5px;
	color: var(--prd-muted);
}

.playrox-quick__card.is-ready .playrox-quick__dot {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #f5b731;
	box-shadow: 0 0 0 4px rgba(245, 183, 49, 0.25);
	animation: playrox-pulse 1.4s ease-in-out infinite;
}

@keyframes playrox-pulse {
	50% { box-shadow: 0 0 0 8px rgba(245, 183, 49, 0.08); }
}

/* ---- Wallet ------------------------------------------------------------- */

.playrox-wallet {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 22px;
	padding: 24px 26px;
	border-radius: 22px;
	background: linear-gradient(135deg, #fff9e9, #fff);
	border: 1px solid #f2e6c4;
	box-shadow: var(--prd-shadow);
}

.playrox-wallet__value {
	font-size: 34px;
	font-weight: 900;
	color: var(--prd-ink);
}

.playrox-wallet__value i {
	color: #f5b731;
}

/* ---- Stat tiles --------------------------------------------------------- */

.playrox-tiles {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
	margin-top: 22px;
	padding: 0;
	list-style: none;
}

.playrox-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 12px;
	border-radius: 18px;
	background: var(--prd-surface);
	border: 1px solid var(--prd-line);
	box-shadow: var(--prd-shadow);
	text-align: center;
	transition: transform 0.16s ease;
}

.playrox-tile:hover {
	transform: translateY(-2px);
}

.playrox-tile i {
	font-size: 20px;
	color: var(--prd-green);
}

.playrox-tile strong {
	font-size: 20px;
	font-weight: 900;
	color: var(--prd-ink);
}

.playrox-tile span {
	font-size: 11.5px;
	color: var(--prd-muted);
}

/* ---- Section headings --------------------------------------------------- */

.playrox-dash__h3 {
	margin: 34px 0 14px;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: var(--prd-ink);
}

/* ---- Tabs --------------------------------------------------------------- */

.playrox-dash__tabnav {
	gap: 6px;
	padding: 6px;
	border-radius: 16px;
	background: var(--prd-canvas);
}

/* ---- Responsive --------------------------------------------------------- */

@media (max-width: 860px) {
	.playrox-quick { grid-template-columns: 1fr; }
	.playrox-tiles { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 560px) {
	.playrox-dash__hero { padding: 24px 18px; }
	.playrox-dash__identity { flex-direction: column; text-align: center; gap: 14px; }
	.playrox-dash__statstrip { grid-template-columns: repeat(2, 1fr); }
	.playrox-tiles { grid-template-columns: repeat(2, 1fr); }
	.playrox-wallet { flex-direction: column; align-items: stretch; text-align: center; }
}

/* ---- Jump back in rail -------------------------------------------------- */

.playrox-jumpback__rail {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	padding: 4px 2px 12px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.playrox-jumpback__rail::-webkit-scrollbar {
	height: 6px;
}

.playrox-jumpback__rail::-webkit-scrollbar-thumb {
	background: var(--prd-line);
	border-radius: 3px;
}

.playrox-jumpback__rail > * {
	flex: 0 0 auto;
	width: 160px;
	scroll-snap-align: start;
}

/* ==========================================================================
   Profile page canvas — clean framed backdrop with soft shadow
   ========================================================================== */

.playrox-page-canvas {
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(18, 74, 36, 0.10), transparent 60%),
		linear-gradient(180deg, #eef4ec 0%, #f4f7f3 40%, #f4f7f3 100%);
	padding: 30px 16px 60px;
	min-height: 70vh;
}

.playrox-page-canvas .playrox-dash {
	background: #fff;
	border-radius: 30px;
	padding: 26px 24px 44px;
	box-shadow:
		0 30px 70px rgba(13, 58, 28, 0.16),
		0 6px 18px rgba(13, 58, 28, 0.08);
}

@media (max-width: 600px) {
	.playrox-page-canvas {
		padding: 16px 8px 40px;
	}
	.playrox-page-canvas .playrox-dash {
		padding: 16px 12px 32px;
		border-radius: 22px;
	}
}

/* ==========================================================================
   Coming-soon locks
   ========================================================================== */

.playrox-locked {
	position: relative;
}

.playrox-dash__btn.playrox-locked {
	opacity: 0.65;
	cursor: not-allowed;
	background: #9aa5a0 !important;
}

.playrox-dash__avatar.playrox-locked img {
	filter: grayscale(0.6) brightness(0.7);
}

.playrox-lock__badge {
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #1c1c1c;
	color: #ffd75e;
	font-size: 10px;
	font-weight: 800;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.playrox-dash__navbtn.playrox-locked {
	opacity: 0.6;
	cursor: not-allowed;
}

.playrox-lock__mini {
	display: block;
	font-size: 9px;
	font-weight: 800;
	font-style: normal;
	color: #f5b731;
	letter-spacing: 0.02em;
	margin-top: 2px;
}

/* ==========================================================================
   Avatar shop (account tab)
   ========================================================================== */

.playrox-avatarshop {
	border-radius: 22px;
	background: #fff;
	border: 1px solid var(--prd-line);
	box-shadow: var(--prd-shadow);
	padding: 20px;
}

.playrox-avatarshop__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.playrox-avatarshop__title {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
}

.playrox-avatarshop__coins {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #fff7e3;
	color: #a97e12;
	font-size: 13px;
	font-weight: 800;
}

.playrox-avatarshop__coins i { color: #f5b731; }

.playrox-avatarshop__lock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #1c1c1c;
	color: #ffd75e;
	font-size: 12px;
	font-weight: 800;
}

.playrox-avatarshop__inner {
	position: relative;
}

.playrox-avatarshop__stage {
	display: grid;
	grid-template-columns: 1fr 92px;
	gap: 12px;
}

/* Coming-soon overlay: items stay visible but blurred + badged. */
.playrox-avatarshop.is-locked .playrox-avatarshop__inner {
	pointer-events: none;
}

.playrox-avatarshop.is-locked .playrox-avatarshop__stage,
.playrox-avatarshop.is-locked .playrox-avatarshop__cta {
	filter: blur(2px) saturate(0.85);
	opacity: 0.85;
}

.playrox-avatarshop__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(8, 30, 16, 0.35);
	border-radius: 18px;
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	z-index: 5;
}

.playrox-avatarshop__overlay-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	background: #1c1c1c;
	color: #ffd75e;
	font-size: 15px;
	font-weight: 800;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4);
}

.playrox-avatarshop__overlay-badge i {
	font-size: 16px;
}

.playrox-avatarshop__hero {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background:
		radial-gradient(80% 60% at 50% 90%, rgba(94, 230, 138, 0.35), transparent 70%),
		linear-gradient(160deg, #0c3b1c, #072812);
}

.playrox-avatarshop__hero img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.playrox-avatarshop__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.playrox-avatarshop__item {
	position: relative;
	flex: 1 1 0;
	min-height: 0;
	border: 2px solid transparent;
	border-radius: 14px;
	overflow: hidden;
	cursor: pointer;
	background:
		radial-gradient(70% 60% at 50% 90%, rgba(94, 230, 138, 0.3), transparent 70%),
		linear-gradient(160deg, #0c3b1c, #061f0f);
	padding: 0;
}

.playrox-avatarshop__item img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.playrox-avatarshop__item.is-selected {
	border-color: #2f9e44;
}

.playrox-avatarshop__check {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #2f9e44;
	color: #fff;
	font-size: 11px;
}

.playrox-avatarshop__itemlock {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 16px;
}

.playrox-avatarshop__cta {
	display: block;
	width: 100%;
	margin-top: 16px;
	padding: 15px;
	border: 0;
	border-radius: 14px;
	background: linear-gradient(135deg, #2f9e44, #124a24);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: transform 0.16s ease;
}

.playrox-avatarshop__cta:hover { transform: translateY(-2px); }

.playrox-avatarshop__cta.is-disabled {
	background: #9aa5a0;
	cursor: not-allowed;
}

/* Inline lock label + locked panel */
.playrox-inline-lock {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: 10px;
	padding: 3px 9px;
	border-radius: 999px;
	background: #1c1c1c;
	color: #ffd75e;
	font-size: 11px;
	font-weight: 800;
	vertical-align: middle;
}

.playrox-locked-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 40px 20px;
	border: 2px dashed var(--prd-line);
	border-radius: 16px;
	color: var(--prd-muted);
}

.playrox-locked-panel i { font-size: 28px; }
.playrox-locked-panel p { margin: 0; font-weight: 700; }

@media (max-width: 480px) {
	.playrox-avatarshop__stage { grid-template-columns: 1fr 74px; }
}

/* Corner lock badge (keeps original icon/label, adds a small lock) */
.playrox-lock__corner {
	position: absolute;
	top: 8px;
	right: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1c1c1c;
	color: #ffd75e;
	font-size: 9px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	z-index: 3;
}

.playrox-dash__navbtn { position: relative; }
.playrox-dash__navbtn .playrox-lock__corner {
	top: 3px;
	right: 3px;
	width: 15px;
	height: 15px;
	font-size: 7px;
}

/* Icon-only lock badge on the profile picture (no text) */
.playrox-lock__badge--icon {
	left: auto;
	right: -4px;
	bottom: -4px;
	transform: none;
	width: 28px;
	height: 28px;
	padding: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Locked shop (Avatar Shop coming-soon overlay) */
.playrox-shop { position: relative; }
.playrox-shop__inner { position: relative; }

.playrox-shop.is-locked .playrox-shop__inner {
	pointer-events: none;
	filter: blur(2px) saturate(0.85);
	opacity: 0.85;
}

.playrox-shop.is-locked > .playrox-avatarshop__overlay {
	border-radius: 16px;
}

/* ==== Migrated from Customizer "Additional CSS" ======================= */
.playrox-account .playrox-shop__item {
	border-color: var(--prd-line);
	background: #ffffff00;
}
.playrox-account .playrox-shop__title,
.playrox-account .playrox-shop__name {
	color: #ffffff;
}
.playrox-trophy__title {
	font-size: 13.5px;
	font-weight: 800;
	color: #6fcf6f;
}

/* -------------------------------------------------------------------------
   Daily Rewards tab — rounded sections
   -------------------------------------------------------------------------
   The claim box and spinner already had a radius; the rest of the tab sat on
   square edges. Rounds the earn list, coin packs, invite block and the two
   lead cards to one shared value.
   ---------------------------------------------------------------------- */

.playrox-dash__split--lead > div,
.playrox-dash__split--lead .playrox-daily,
.playrox-dash__split--lead .playrox-spin,
.playrox-earn__item,
.playrox-pack,
.playrox-invite,
.playrox-invite__box {
	border-radius: var(--playrox-radius, 16px);
}

/* The earn list is a grid of rows; round each row and give the list a matching
   outer curve so the corners line up. */
.playrox-earn { border-radius: var(--playrox-radius, 16px); overflow: hidden; }
.playrox-earn__item:first-child { border-top-left-radius: var(--playrox-radius, 16px); border-top-right-radius: var(--playrox-radius, 16px); }
.playrox-earn__item:last-child { border-bottom-left-radius: var(--playrox-radius, 16px); border-bottom-right-radius: var(--playrox-radius, 16px); }

/* Keep the two lead cards equal height so the row reads as one block. */
.playrox-dash__split--lead { align-items: stretch; }
.playrox-dash__split--lead > div { overflow: hidden; }
