html, body {
	height: 100%;
}

body {
	font-family: 'Conv_bpg_arial';
	font-size: 12px;
	margin: 0px;
	padding: 0px;
	overflow-x: hidden;
}

body[disable-scroll] {
	overflow-y: hidden !important;
}

body[disable-scroll] .content {
	overflow-y: hidden !important;
}

* {
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

input, textarea {
	-webkit-tap-highlight-color: #000000;
	-webkit-touch-callout: default;

	-webkit-user-select: auto;
	-moz-user-select: auto;
	user-select: auto;
}

*:focus {
	outline: 0;
}

a {
	text-decoration: none;
}

.round {
	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.shadow {
	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
	box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
}

.text-shadow {
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
	-webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
}

.invisible {
	width: 1px;
	height: 1px;
	border: none;
	overflow: hidden;
	visibility: hidden;
}

.logged-only:not([user-logged]) {
	display: none;
}

button {
	font-family: 'Conv_bpg_arial';
}

@font-face {
	font-family: BPGMrgvlovaniCaps; src:url('../fonts/bpg_mrgvlovani_caps_2010.ttf');
}

@font-face {
	font-family: 'Conv_bpg_arial';
	src: url('../fonts/bpg_arial.eot');
	src: url('../fonts/bpg_arial.woff') format('woff'), url('../fonts/bpg_arial.ttf') format('truetype'), url('../fonts/bpg_arial.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* keyframes */
@-webkit-keyframes spinner {
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spinner {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
/* keyframes */

/* common */
.content {
	height: 100%;
}

.middle {
	position: absolute;
	top: 50%;
	left: 0px;
	width: 100%;
	text-align: center;

	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.lang-icon {
	position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    padding: 4px;
    background-color: rgba(0, 0, 0, 0.2);
	cursor: pointer;
	z-index: +1;

	-webkit-border-radius: 5px;
    border-radius: 5px;
}

.lang-icon img {
    vertical-align: middle;
    width: 28px;

	-webkit-border-radius: 4px;
    border-radius: 4px;
}

.top {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	text-align: center;
}

.logo {
	display: inline-block;
	width: 64px;
	height: 64px;
	line-height: 64px;
	text-align: center;
	background-image: url(../images/logo.jpg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center center;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.growthAnimate {
	-webkit-animation: growthAnimate .5s 1;
	animation: growthAnimate .5s 1;
}

@-webkit-keyframes growthAnimate {
	0% {
    	font-size: 20px;
    }

    50% {
    	font-size: 30px;
    }

	100% {
    	font-size: 25px;
    }
}

@keyframes growthAnimate {
    0% {
		transform: scale(1);
    }

    50% {
    	transform: scale(1.5);
    }

	100% {
    	transform: scale(1);
    }
}
/* common */

/* checkbox */
.app-checkbox {
	display: none;
}

.app-checkbox-ui {
	cursor: pointer;
}

.app-checkbox:checked + .app-checkbox-ui .app-checkbox-ui-box {
	background-color: #0dcc67;
}

.app-checkbox:checked + .app-checkbox-ui .app-checkbox-ui-box:after {
	position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -10px;
    margin-left: -4px;
    display: block;
    content: "";
    width: 8px;
    height: 16px;
    box-sizing: border-box;
    transform: rotate(45deg);
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
}

.app-checkbox-ui-box {
	position: relative;
	border: 2px solid #0dcc67;
	width: 20px;
	height: 20px;
	text-align: center;
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.app-checkbox-ui-label {
	font-family: Conv_bpg_arial;
	font-size: 16px;
	font-weight: normal;
	line-height: 20px;
	color: #7d7d7d;
}

.app-checkbox-ui-label a {
	font-family: Conv_bpg_arial;
	font-size: 16px;
	font-weight: normal;
	color: #585858;
}

.app-checkbox-ui[item-style="red"] .app-checkbox-ui-box {
	border: 2px solid #f93e2b;
}

.app-checkbox:checked + .app-checkbox-ui[item-style="red"] .app-checkbox-ui-box {
	background-color: #f93e2b;
}
/* checkbox */

/* toast */
.toast {
	position: absolute;
	left: 0px;
    text-align: center;
	font-size: 18px;
    padding: 10px;
    padding-left: 16px;
	padding-right: 16px;
	margin-left: 8px;
	margin-right: 8px;
	visibility: hidden;
	z-index: 1000001;

    -webkit-border-radius: 16px;
    border-radius: 16px;
}

.toast[toast-style="default"] {
	background-color: rgba(0, 0, 0, 0.8);
    color: #ffffff;
}

.toast[toast-style="light"] {
	background-color: rgba(255, 255, 255, 0.9);
	color: #2D2D2D;
	
	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
	box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
}

.toast[toast-position="top"] {
	top: 20px;
}

.toast[toast-position="center"] {
	top: 50%;

	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.toast[toast-position="bottom"] {
	bottom: 20px;
}
/* toast */

/* preloader */
@keyframes preloader_blinker_frames {
	50% {
		opacity: 0.1;
	}
}

@-webkit-keyframes preloader_blinker_frames {
	50% {
		opacity: 0.1;
	}
}

.preloader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: +1;
}

.preloader[is-onTop="yes"] {
	z-index: 1000000000 !important;
}

.preloader[has-graphics="yes"] {
	background-color: rgba(0, 0, 0, 0.8);
	background-image: url(../images/preloader.svg);
	background-repeat: no-repeat;
	background-size: 64px 64px;
	background-position: center center;
}

.preloader[item-icon="update"] {
	background-image: url(../images/updating.svg);
}

.preloader-text {
	font-size: 17px;
	color: #ffffff;
	position: absolute;
	top: 50%;
	margin-top: 64px;
	width: 100%;
	text-align: center;

	-webkit-animation: preloader_blinker_frames 1s linear infinite;
	animation: preloader_blinker_frames 1s linear infinite;
	
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}
/* preloader */

/* button / input /select */
.app-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;

	padding: 10px;
	width: 100%;
	outline: 0;
	box-shadow: none;
	border: 0;
	cursor: pointer;

	-webkit-border-radius: 5px;
    border-radius: 5px;

	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
	box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
}

.app-button {
	display: inline-block;
	width: 100%;
	padding: 10px;
	padding-left: 15px;
	padding-right: 15px;
	border: none;
	font-size: 17px;
	background-color: #0dcc67;
	color: #ffffff;
	cursor: pointer;
	
	-webkit-border-radius: 25px;
    border-radius: 25px;
}

.app-button[button-style="light"] {
	background-color: #e0e0e0 !important;
    color: #3a3a3a !important;;
}

.app-button:hover {
	opacity: 0.7;
}

.app-button-desc {
	width: 100%;
    font-size: 14px;
    margin-top: -40px;
    padding-top: 50px;
    padding-bottom: 8px;
    background-color: #e4e4e4;
	color: #484848;
	
    -webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
}

.app-input {
	background-color: rgba(0, 0, 0, 0.1);
	width: calc(100% - 20px);
	padding: 10px;
	border: none;
	
	-webkit-border-radius: 5px;
    border-radius: 5px;
}
/* button / input */

/* icons */
.circle-icon {
	display: inline-block;
	background-color: rgba(0, 0, 0, 0.6);
	background-repeat: no-repeat;
	background-position: center center;
	width: 40px;
	height: 40px;
	cursor: pointer;
	vertical-align: middle;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.circle-icon:hover {
	opacity: 0.7;
}
/* icons */

/* main area */
.main-area {
	position: relative;
	width: 100%;
	height: 100%;
}
/* main area */

/* user */
.user-warning {
	background-color: #b2b2b21a;
    font-size: 15px;
    padding: 5px;
    margin-top: 5px;
	cursor: pointer;

	-webkit-border-radius: 5px;
    border-radius: 5px;
}

.user-container {
	text-align: center;
}

@media screen and (min-height: 768px) {
	.user-container {
		position: absolute;
		left: 0px;
		top: 50%;
		width: 100%;

		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
	}
}

.user-photo {
	margin-left: auto;
	margin-right: auto;
	width: 80px;
	height: 80px;
	background-color: #F0F0F0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	cursor: pointer;
	
	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
	box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
	
	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.user-photo[item-size="small"] {
	width: 56px !important;
	height: 56px !important;
}

.user-name {
	display: inline-block;
	margin-top: 16px;
	font-size: 18px;
}

.user-name-edit {
	display: inline-block;
	width: 32px;
	height: 32px;
	background-color: rgba(255, 255, 255, 0.3);
	background-image: url(../images/icon-edit.svg);
	background-size: 16px 16px;
	background-position: center center;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-left: 8px;
	cursor: pointer;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.user-name-edit:hover {
	background-color: rgba(255, 255, 255, 0.5);
}

.user-photo-upload {
	width: 40px;
	height: 40px;
	margin-left: 40px;
	background-color: rgba(255, 255, 255, 0.7);
	background-image: url(../images/icon-camera.svg);
	background-size: 28px 28px;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.user-photo-upload[item-state="loading"] {
	background-image: url(../images/puff-dark.svg);
}

.user-photo-upload:hover {
	background-color: rgba(255, 255, 255, 0.9);
}
/* user */

/* play button */

/* neon border pulse */
@-webkit-keyframes play-neon-pulse {
	0%, 100% {
		-webkit-box-shadow: 0 0 4px rgba(76, 175, 80, 0.2);
		opacity: 0.5;
	}
	50% {
		-webkit-box-shadow: 0 0 8px rgba(76, 175, 80, 0.35);
		opacity: 0.8;
	}
}
@keyframes play-neon-pulse {
	0%, 100% {
		box-shadow: 0 0 4px rgba(76, 175, 80, 0.2);
		opacity: 0.5;
	}
	50% {
		box-shadow: 0 0 8px rgba(76, 175, 80, 0.35);
		opacity: 0.8;
	}
}

/* button glow breathing */
@-webkit-keyframes play-btn-glow {
	0%, 100% { -webkit-box-shadow: 0 3px 10px rgba(76, 175, 80, 0.2), 0 0 12px rgba(76, 175, 80, 0.06); }
	50% { -webkit-box-shadow: 0 3px 14px rgba(76, 175, 80, 0.3), 0 0 20px rgba(76, 175, 80, 0.1); }
}
@keyframes play-btn-glow {
	0%, 100% { box-shadow: 0 3px 10px rgba(76, 175, 80, 0.2), 0 0 12px rgba(76, 175, 80, 0.06); }
	50% { box-shadow: 0 3px 14px rgba(76, 175, 80, 0.3), 0 0 20px rgba(76, 175, 80, 0.1); }
}

/* shimmer sweep */
@-webkit-keyframes play-btn-streak {
	0%, 70%, 100% { left: -100%; }
	85% { left: 150%; }
}
@keyframes play-btn-streak {
	0%, 70%, 100% { left: -100%; }
	85% { left: 150%; }
}

/* --- wrapper --- */
.play-button-wrap {
	position: relative;
	display: inline-block;
	padding: 3px;

	-webkit-border-radius: 31px;
	border-radius: 31px;
}

/* neon border ring - static, pulsing glow */
.play-button-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 2px solid rgba(76, 175, 80, 0.6);
	pointer-events: none;

	-webkit-border-radius: 31px;
	border-radius: 31px;

	-webkit-animation: play-neon-pulse 3s ease-in-out infinite;
	animation: play-neon-pulse 3s ease-in-out infinite;
}

/* --- button --- */
.play-button {
	position: relative;
	background-color: #4caf50;
	background-image: url(../images/icon-joystick.svg);
	background-repeat: no-repeat;
	background-position: 14px center;
	background-size: 30px 30px;
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.5px;
	border: none;
	padding: 14px 10px;
	width: 270px;
	cursor: pointer;
	text-align: center;
	overflow: hidden;

	-webkit-border-radius: 28px;
	border-radius: 28px;

	-webkit-box-shadow: 0 3px 10px rgba(76, 175, 80, 0.2), 0 0 12px rgba(76, 175, 80, 0.06);
	box-shadow: 0 3px 10px rgba(76, 175, 80, 0.2), 0 0 12px rgba(76, 175, 80, 0.06);

	-webkit-animation: play-btn-glow 4s ease-in-out infinite;
	animation: play-btn-glow 4s ease-in-out infinite;

	-webkit-transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
	transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

/* shimmer streak */
.play-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 60%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
	pointer-events: none;

	-webkit-transform: skewX(-20deg);
	transform: skewX(-20deg);

	-webkit-animation: play-btn-streak 4s ease-in-out infinite;
	animation: play-btn-streak 4s ease-in-out infinite;
}

/* inner highlight */
.play-button::after {
	content: "";
	position: absolute;
	top: 1px;
	left: 15%;
	right: 15%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
	pointer-events: none;
}

.play-button:hover {
	background-color: #43a047;

	-webkit-transform: scale(1.03);
	transform: scale(1.03);

	-webkit-box-shadow: 0 4px 16px rgba(76, 175, 80, 0.3), 0 0 24px rgba(76, 175, 80, 0.1);
	box-shadow: 0 4px 16px rgba(76, 175, 80, 0.3), 0 0 24px rgba(76, 175, 80, 0.1);
}

.play-button:active {
	-webkit-transform: scale(0.97);
	transform: scale(0.97);

	-webkit-box-shadow: 0 2px 10px rgba(76, 175, 80, 0.4);
	box-shadow: 0 2px 10px rgba(76, 175, 80, 0.4);
}

/* play button */

/* progress */
.circle-progress {
	width: 100%;
	height: 100%;
}

.circle-progress svg {
	width: 100%;
	height: 100%;
}

.circle-progress svg circle {
	transform: rotate(-90deg);
	transform-origin: center;
	stroke: #ff0063;
	stroke-dasharray: 0, 100;
}

.circle-animation svg circle {
	animation-name: circle-animation;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-fill-mode: forwards;

	-webkit-animation-name: circle-animation;
	-webkit-animation-delay: 0s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-fill-mode: forwards;
}

@keyframes circle-animation {
	to {
		stroke-dasharray: 100, 100;
	}
}

@-webkit-keyframes circle-animation {
	to {
		stroke-dasharray: 100, 100;
	}
}

.user-info:not([user-i='0']) .circle-progress::before,
.user-info:not([user-i='0']) .circle-progress::after {
  	content: "";
  	position: absolute;
  	top: 0px;
  	left: 0px;
  	right: 0px;
  	bottom: 0px;

	-webkit-border-radius: 50%;
  	border-radius: 50%;
}

.user-info[user-action="yes"][user-i='1'] .circle-progress::before,
.user-info[user-action="yes"][user-i='2'] .circle-progress::before,
.user-info[user-action="yes"][user-i='3'] .circle-progress::before {
  	animation: user_ripple .5s linear 0.5s 1 forwards;
}


@keyframes user_ripple {
	0% {
		box-shadow: 0 0 0 .1rem rgba(255, 255, 255, 0.3);
	}

	100% {
		box-shadow: 0 0 0 8rem rgba(255, 255, 255, 0);
	}
}
/* progress */

/* coins history */
.coins-history-list {
	padding: 20px;
    padding-top: 0px;
    margin-top: 20px;
    border-top: 2px solid rgba(0, 0, 0, 0.1);
}

.coins-history-item {
	margin-top: 16px;
}

.coins-history-item-coins {
	font-size: 24px;
}

.coins-history-item-note {
	font-weight: bold;
	font-size: 15px;
}

.coins-history-item-date {
	font-size: 16px;
	margin-top: 6px;
}

.coins-history-circle {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.coins-history-circle[item-id="1"] {
	border: 5px solid #4CAF50;
    color: #4caf50;
    font-weight: bold;
}


.coins-history-circle[item-id="2"] {
	border: 5px solid #ffa307;
    color: #ffa307;
    font-weight: bold;
}


.coins-history-circle[item-id="3"] {
	border: 5px solid #e81303;
    color: #e81303;
    font-weight: bold;
}

/* coins history */

/* games history */
.games-history-list {
	padding: 20px;
}

.games-history-item {
	margin-bottom: 16px;
	cursor: pointer;
}

.games-history-item[item-online="online"] .games-history-item-photo::before {
    position: absolute;
    bottom: -2px;
    right: -2px;
    content: "";
    width: 9px;
    height: 9px;
    background-color: #00d748;
    border: 4px solid #ffffff;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.games-history-item[item-online="playing"] .games-history-item-photo::before {
    position: absolute;
    bottom: -2px;
    right: -2px;
    content: "";
    width: 12px;
    height: 12px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/icon-playing.svg);
    border: 3px solid #ffffff;

    -webkit-border-radius: 50%;
    border-radius: 50%;

    -webkit-animation: spinner 3s linear infinite;
    animation: spinner 3s linear infinite;
}

.games-history-item-photo {
	position: relative;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 56px;
	height: 56px;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.games-history-item-name {
	font-weight: bold;
	font-size: 15px;
}

.games-history-item-score {
	font-size: 16px;
}

/* games history */

/* game p2p */
.game-p2p-item {
	overflow: hidden;

	-webkit-border-radius: 10px;
	border-radius: 10px;

	-webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}

.game-p2p-header {
	padding: 6px 8px;
	font-size: 14px;
	color: #ffffff;
}

.game-p2p-item[item-type="friend"] {
	border: 1px solid rgba(37, 211, 102, 0.3);
}

.game-p2p-item[item-type="friend"] .game-p2p-header {
	background-color: #25d366;
}

.game-p2p-item[item-type="tournament"] {
	border: 1px solid rgba(23, 138, 228, 0.3);
}

.game-p2p-item[item-type="tournament"] .game-p2p-header {
	background-color: #178ae4;
}

.game-p2p-item[item-type="random"] {
	border: 1px solid rgba(253, 180, 45, 0.3);
}

.game-p2p-item[item-type="random"] .game-p2p-header {
	background-color: #fdb42d;
}
/* game p2p */

/* friends */
.friends-list {
	padding: 10px;
	overflow-x: hidden;
}

.friends-other {
	background-color: rgba(0, 0, 0, 0.05);
	font-size: 16px;
	padding: 15px;
	padding-left: 5px;
	padding-right: 5px;
	text-align: center;
	color: #9c00b7;
	cursor: pointer;
}

.friends-other:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

.friend-item {
	position: relative;
	padding: 12px;
}

.friend-item.clickable {
	cursor: pointer;

	-webkit-border-radius: 10px;
    border-radius: 10px;
}

.friend-item[item-online="online"] .friend-item-photo::before {
    position: absolute;
    bottom: -2px;
    right: -2px;
    content: "";
    width: 9px;
    height: 9px;
    background-color: #00d748;
    border: 4px solid #ffffff;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.friend-item[item-online="playing"] .friend-item-photo::before {
    position: absolute;
    bottom: -2px;
    right: -2px;
    content: "";
    width: 12px;
    height: 12px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/icon-playing.svg);
    border: 3px solid #ffffff;

    -webkit-border-radius: 50%;
    border-radius: 50%;

    -webkit-animation: spinner 3s linear infinite;
    animation: spinner 3s linear infinite;
}

.friend-item[item-msg]::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 5px;
	margin-top: -5px;
	width: 10px;
	height: 10px;
	background-color: #ff0034;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.friend-item-play {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    border: none;
    font-size: 17px;
    background-color: #3f51b5;
    color: #ffffff;
	cursor: pointer;
	
    -webkit-border-radius: 12px;
    border-radius: 12px;
}

.friend-item-play:hover {
	opacity: 0.7;
}

.friend-item.clickable .friend-item-photo {
	cursor: pointer;
}

.friend-item-photo {
	position: relative;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 56px;
	height: 56px;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.friend-item-delete {
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../images/icon-delete.svg);
	background-size: 24px 24px;
	width: 32px;
	height: 32px;
	cursor: pointer;
	vertical-align: middle;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.friend-item-name {
	font-weight: bold;
	font-size: 17px;
}

.friend-item-message {
	font-size: 15px;
	color: #959595;
}

.friends-dialog {
	justify-content: end !important;
    align-items: end !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
}

.friends-dialog .big-dialog-inner {
	max-height: calc(100% - 100px) !important;
	margin-left: 10px !important;
    margin-right: 10px !important;

	-webkit-border-bottom-right-radius: 0px !important;
	-webkit-border-bottom-left-radius: 0px !important;
	-moz-border-radius-bottomright: 0px !important;
	-moz-border-radius-bottomleft: 0px !important;
	border-bottom-right-radius: 0px !important;
	border-bottom-left-radius: 0px !important;
}
/* friends */

/* random */
.random-container {
	position: relative;
	width: 100%;
	height: 150px;
	overflow: hidden;
}

.random-container[item-type="loading"] {
	background-image: url(../images/puff-dark.svg);
	background-repeat: no-repeat;
	background-size: 64px 64px;
	background-position: center center;
}

.random-container[item-type="connecting"] {
	background-image: url(../images/puff-dark.svg);
	background-repeat: no-repeat;
	background-size: 120px 120px;
	background-position: center center;
}

.random-item {
	position: absolute;
	top: 0px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	width: 64px;
	height: 64px;
	margin-top: -64px;
	border-radius: 50%;
	overflow: hidden;

	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}
/* random */

/* fb group */
.fb-group-icon {
	display: inline-block;
	width: 32px;
	height: 32px;
	margin-left: 16px;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center center;
	background-image: url(../images/icon-fb.svg?v2);
}

.fb-group-tooltip {
	position: relative;
	display: inline-block;
	background-color: rgba(0, 0, 0, 0.6);
	color: #ffffff;
	font-size: 16px;
	padding: 10px;
	vertical-align: middle;

	-webkit-border-radius: 8px;
    border-radius: 8px;
}

.fb-group-tooltip::after {
	content: "";
    position: absolute;
    top: 8px;
    right: 0%;
    margin-right: -24px;
    border-width: 12px;
    border-style: solid;
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.6);
}
/* fb group */

/* users ratings */
.users-ratings {
	width: 280px;
	margin-left: auto;
	margin-right: auto;
}

.users-ratings-title {
	padding-top: 20px;
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 17px;
	color: #ffffff;
}

.users-ratings[item-style="dark"] .users-ratings-item-name {
	color: #585858;
}

.users-ratings-item {
	margin-bottom: 10px;
	cursor: pointer;
	text-align: left;
}

.big-dialog .users-ratings-item[item-user-online="online"] .users-ratings-item-photo::before {
    position: absolute;
    bottom: -4px;
    right: -4px;
    content: "";
    width: 9px;
    height: 9px;
    background-color: #00d748;
    border: 4px solid #ffffff;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.big-dialog .users-ratings-item[item-user-online="playing"] .users-ratings-item-photo::before {
    position: absolute;
    bottom: -4px;
    right: -4px;
    content: "";
    width: 12px;
    height: 12px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/icon-playing.svg);
    border: 3px solid #ffffff;

    -webkit-border-radius: 50%;
    border-radius: 50%;

    -webkit-animation: spinner 3s linear infinite;
    animation: spinner 3s linear infinite;
}

.users-ratings-item-photo {
	position: relative;
	display: inline-block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 40px;
	height: 40px;
	
    -webkit-border-radius: 50%;
    border-radius: 50%;
}

.users-ratings-item-name {
	font-weight: bold;
	font-size: 15px;
	color: #ffffff;
}

.users-ratings-item-wins {
	margin-top: 2px;
	font-size: 14px;
	color: #4caf50;
}

.users-ratings-switch {
	cursor: pointer;
}

.users-ratings[item-style="light"] .users-ratings-switch {
	color: #ffffff;
}

.users-ratings-switch[item-selected="yes"] {
	padding: 2px;
    padding-bottom: 5px;
    color: #2196f3 !important;
    border-bottom: 2px solid #2d9bf3;
}
/* users ratings */

/* user stickers */
.user-sticker {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: 40px 40px;
	background-position: center center;
	vertical-align: middle;

	-webkit-transition: all 0.1s linear;
	transition: all 0.1s linear;
}

.user-sticker:hover {
	width: 48px;
	height: 48px;
	background-size: 48px 48px;
}
/* user stickers */

/* user rating */

/* --- profile dialog shell --- */
.profile-dialog .big-dialog-inner {
	width: 320px;
	max-width: 96%;
	background-color: #ffffff;

	-webkit-border-radius: 14px;
	border-radius: 14px;

	-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

.profile-dialog .big-dialog-content {
	background-color: #fafafa;
}

.profile-dialog .big-dialog-footer {
	background-color: #ffffff;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.profile-dialog .big-dialog-button[button-style="light"] {
	background-color: #f0f0f0 !important;
	color: #444444 !important;
}

.profile-dialog .profile-photo {
	-webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* --- status badge --- */
.user-status {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: 40px 40px;
	background-position: center center;
	vertical-align: middle;
}

.user-status[item-size="small"] {
	width: 24px;
	height: 32px;
	background-size: 32px 32px;
}

/* --- likes pill --- */
.user-likes {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin-top: 18px;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	width: 140px;
	padding: 6px 20px;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.04);

	-webkit-border-radius: 20px;
	border-radius: 20px;

	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
}

.user-likes img {
	height: 28px;
	vertical-align: middle;
}

.user-likes span {
	margin-left: 6px;
	font-weight: bold;
	color: #333;
}

.user-likes table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

.user-likes table td {
	width: 50%;
	text-align: center;
}

/* --- action icons --- */
.user-actions {
	width: 260px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 22px;
}

.user-actions table {
	width: 100%;
}

.user-actions table td {
	width: 25%;
	text-align: center;
}

.user-actions-icon {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #f2f3f5;
	background-size: 20px;
	cursor: pointer;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.user-actions-icon:hover {
	background-color: #e8e9ec;

	-webkit-transform: translateY(-2px);
	transform: translateY(-2px);

	-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.user-actions-icon:active {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.user-actions-icon[item-id="add-friend"] {
	background-image: url(../images/icon-add-friend.svg);
	background-size: 24px;
}

.user-actions-icon[item-id="is-friend"] {
	background-image: url(../images/icon-friendship.svg);
	background-size: 24px;
}

.user-actions-icon[item-id="message"] {
	background-image: url(../images/icon-message.svg);
}

.user-actions-icon[item-id="report"] {
	background-image: url(../images/icon-report.svg);
}

.user-actions-icon[item-id="send-coins"] {
	background-image: url(../images/icon-profile-send-coins.svg);
}

/* --- ratings section --- */
.user-ratings {
	width: 270px;
	margin-left: auto;
	margin-right: auto;
}

/* --- rating tabs (pill style) --- */
.user-rating-switch {
	display: inline-block;
	cursor: pointer;
	padding: 5px 8px;
	font-size: 15px;
	color: #666;
	background-color: transparent;

	-webkit-border-radius: 16px;
	border-radius: 16px;

	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.user-rating-switch:hover {
	background-color: rgba(33, 150, 243, 0.06);
	color: #2196f3;
}

.user-rating-switch[item-selected="yes"] {
	padding: 5px 8px;
	color: #ffffff;
	background-color: #2196f3;
	border-bottom: none;

	-webkit-box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);
	box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);
}

/* user rating */

/* user menu */
.user-menu-profile {
	cursor: pointer;
}

.user-menu-container {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 72px;
	z-index: +1;

	transition: all 0.1s linear;
	-webkit-transition: all 0.1s linear;
}

.user-menu-container[is-open="yes"] {
	background-color: rgba(0, 0, 0, 0.6);
	height: 100%;
	
	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
    box-shadow: 0 2px 4px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.12);
}

.user-menu-container[is-open="yes"] .user-menu-content {
	display: block;
	opacity: 1;
}

.user-menu {
	position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    z-index: +1;
	padding-top: 24px;
	padding-bottom: 24px;
}

.user-menu-item {
	margin-top: 20px;
	cursor: pointer;
}

.user-menu-item-photo {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	background-position: center center;
	vertical-align: middle;
}

.user-menu-item-name {
	display: inline-block;
	margin-left: 12px;
	font-size: 18px;
	vertical-align: middle;
}

.user-menu-content {
	display: none;
	position: absolute;
    top: 0px;
	left: 0px;
	width: 100%;
	opacity: 0;
	background-color: rgba(255, 255, 255, 0.9);
	padding-top: 92px;
	padding-bottom: 20px;
	padding-left: 20px;

	transition: all 0.1s linear;
	-webkit-transition: all 0.1s linear;
}

.user-menu-icon {
	width: 30px;
	cursor: pointer;
	vertical-align: middle;
}

.user-menu-icon:after, 
.user-menu-icon:before, 
.user-menu-icon div {
	display: block;
	background-color: #4caf50;
	content: '';
	height: 4px;
	
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	
	-webkit-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.user-menu-icon:after {
	margin-top: 6px;
}

.user-menu-icon:before {
	margin-bottom: 6px;
}

.user-menu-container[is-open="yes"] .user-menu-icon:before {
	-webkit-transform: translateY(10px) rotate(135deg);
	transform: translateY(10px) rotate(135deg);
}

.user-menu-container[is-open="yes"] .user-menu-icon:after {
	-webkit-transform: translateY(-10px) rotate(-135deg);
	transform: translateY(-10px) rotate(-135deg);
}

.user-menu-container[is-open="yes"] .user-menu-icon div {
	-webkit-transform: scale(0);
	transform: scale(0);
}
/* user menu */

/* edit profile */
.edit-item {
	margin-bottom: 30px;
}

.edit-item-title {
	font-size: 18px;
	padding-bottom: 10px;
}

.edit-item-title img {
	width: 20px;
	margin-right: 5px;
	vertical-align: middle;
}

/* edit profile */

/* settings */
.settings-item {
	margin-bottom: 30px;
}

.settings-item-title {
	font-size: 18px;
	padding-bottom: 10px;
}

.settings-item-title img {
	width: 20px;
	margin-right: 5px;
	vertical-align: middle;
}

.settings-bg-item {
	display: inline-block;
	width: 64px;
	height: 64px;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center center;
	opacity: 0.8;
	border: 5px solid #ffffff;
	cursor: pointer;

	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.settings-bg-item:hover {
	opacity: 1;
}

.settings-bg-item[item-selected="yes"] {
	border: 5px solid #E91E63;
	opacity: 1 !important;
}

.settings-card-item {
	display: inline-block;
	width: 72px;
	height: 96px;
	background-repeat: no-repeat;
	background-size: 90% 90%;
	background-position: center center;
	border: 2px solid transparent;
	text-align: center;
	vertical-align: top;
	cursor: pointer;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;

	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.settings-card-item:hover {
	border: 2px solid rgba(0, 0, 0, 0.2);
}

.settings-card-item[item-selected="yes"] {
	border: 2px solid #008eff;
}

/* settings */

/* coins */
@-webkit-keyframes coins_send {
	from {
    	background-color: #ffdf00;
    }

    to {
    	background-color: #ff9d00;
    }
}

@keyframes coins_send {
    from {
    	background-color: #ffdf00;
    }

    to {
    	background-color: #ff9d00;
    }
}

.coins-send {
	margin-left: 12px;
	width: 20px;
	vertical-align: middle;
	padding: 5px;
	background-color: #ffdf00;
	cursor: pointer;

	-webkit-animation: coins_send 1s infinite alternate;
    animation: coins_send 1s infinite alternate;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.coins-send:hover {
	opacity: 0.6;
}

.coins-counter {
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
}

.coins-counter img[item-id="coin-icon"] {
	width: 24px;
	margin-right: 4px;
	vertical-align: middle;
}

.coins-counter span[item-id="coin-count"] {
	margin-left: 2px;
}

.coins-counter span[item-id="coin-count"][item-type="positive"] {
	color: #02af53;
}

.coins-counter span[item-id="coin-count"][item-type="negative"] {
	color: #ff0b0b;
}

.coin-flake {
	position: absolute;
	top: -100px;
	left: 0%;
	background-image: url(../images/coin.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
	width: 48px;
	height: 48px;
	z-index: +1;
}

/* coins */



/* play coins */
.play-coins {
	font-size: 15px;
    font-weight: bold;
    padding: 12px;
    background-color: rgb(164 148 23 / 10%);
    margin-bottom: 10px;
	cursor: pointer;

	-webkit-border-radius: 8px;
    border-radius: 8px;
}

.play-coins:hover {
	background-color: rgb(164 148 23 / 15%);
}
/* play coins */

/* play icons */
.play-icon {
    background-size: 24px 24px;
    background-position: 10px center;
    background-repeat: no-repeat;
}

.play-icon[item-icon="tournament"] {
	background-image: url(../images/icon-play-tournament.svg);
	background-color: #3f51b5;
}

.play-icon[item-icon="friend"] {
	background-image: url(../images/icon-play-friend.svg);
}

.play-icon[item-icon="random"] {
	background-image: url(../images/icon-play-random.svg);
	background-size: 20px 20px;
}

.play-icon[item-icon="girlvsboy"] {
	background-image: url(../images/icon-play-girlvsboy.svg?2);
	background-size: 20px 20px;
}

.play-icon[item-icon="freecoins"] {
	background-color: #9d09f3;
	background-image: url(../images/icon-promo.png?2);
	background-size: 24px 24px;

	box-shadow: 2px 1px 13px -5px rgba(157,9,243,0.7);
	-webkit-box-shadow: 2px 1px 13px -5px rgba(157,9,243,0.7);
	-moz-box-shadow: 2px 1px 13px -5px rgba(157,9,243,0.7);
}
/* play icons */

/* assets icons */
.assets-icon {
    background-size: 24px 24px;
    background-position: 10px center;
    background-repeat: no-repeat;
}

.assets-icon[item-icon="coins"] {
	background-image: url(../images/coin.png);
	background-color: #ee6400;
}

.assets-icon[item-icon="boxes"] {
	background-image: url(../images/icon-box.svg?v3);
	background-color: #3f55b5;
}
/* assets icons */

/* sound control */
.sound-control {
	position: absolute;
	left: 15px;
    top: 90px;
    display: inline-block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: center center;
	background-color: rgba(255, 255, 255, 0.1);
    background-image: url(../images/icon-sound.svg?v7);
    z-index: +1;
    cursor: pointer;

	-webkit-border-radius: 50%;
    border-radius: 50%;
}

.sound-control[item-game="yes"] {
	background-color: rgba(255, 255, 255, 0.2) !important;
	left: 5px !important;
    top: 70px !important;
}

.sound-control[item-disabled="yes"] {
	background-image: url(../images/icon-sound-disabled.svg?v7);
}

/* sound control */

/* boxes */
.boxes-icon {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: center center;
    background-color: rgba(255, 255, 255, 0.1);
    background-image: url(../images/icon-box.svg?v3);
    cursor: pointer;

    -webkit-border-radius: 50%;
    border-radius: 50%;
}

.boxes-icon[icon-position="top"] {
	position: absolute;
    left: 15px;
    top: 165px;
    z-index: +1;
}

.boxes-icon[icon-position="top"]::before {
	content: 'NEW';
	position: absolute;
	top: -10px;
	left: 50%;
	margin-left: -16px;
	font-size: 8px;
	font-weight: bold;
	letter-spacing: 0.5px;
	color: #fff;
	background: linear-gradient(180deg, #ff6b00, #e04000);
	padding: 2px 6px;
	z-index: 2;
	white-space: nowrap;

	-webkit-border-radius: 6px;
	border-radius: 6px;

	box-shadow: 0 2px 6px rgba(255, 80, 0, 0.5);

	-webkit-animation: newBadgePulse 2s ease-in-out infinite;
	animation: newBadgePulse 2s ease-in-out infinite;
}

@-webkit-keyframes newBadgePulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); box-shadow: 0 2px 6px rgba(255, 80, 0, 0.5); }
	50% { -webkit-transform: scale(1.1); transform: scale(1.1); box-shadow: 0 2px 10px rgba(255, 80, 0, 0.8); }
}

@keyframes newBadgePulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); box-shadow: 0 2px 6px rgba(255, 80, 0, 0.5); }
	50% { -webkit-transform: scale(1.1); transform: scale(1.1); box-shadow: 0 2px 10px rgba(255, 80, 0, 0.8); }
}

.boxes-icon[icon-position="top"]::after {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 16px;
    height: 16px;
	z-index: -1;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;

    -webkit-animation: blinking 1s infinite alternate;
    animation: blinking 1s infinite alternate;
}

.boxes-icon span {
	display: block;
    bottom: 0px;
    position: absolute;
    margin-bottom: -6px;
    margin-right: -6px;
    right: 0px;
    text-align: center;
    min-width: 16px;
    padding: 5px;
    background-color: #0b0b0b;
    color: #ffffff;
	
    -webkit-border-radius: 12px;
    border-radius: 12px;
}
/* boxes */

/* smiles */
.smile-item {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: center center;
}
/* smiles */

/* toggle switch */
.toggle-switch {
	display: none;
}

.toggle-switch + label {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 26px;
	background: #434257;
	cursor: pointer;
	
	transition: all 0.3s;
	-webkit-transition: all 0.3s;

	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}

.toggle-switch:checked + label {
	background: #00d084;
}

.toggle-switch + label::before {
	content: "";
	position: absolute; 
	left: 1px;
	top: 1px;
	width: 24px;
	height: 24px;
	background: #ffffff;
	border-radius: 50%;

	transition: all 0.3s;
	-webkit-transition: all 0.3s;
}

.toggle-switch:checked + label::before {
	margin-left: 24px;
}

.toggle-switch + label::after {
	content: '';
	position: absolute;
    top: 0px;
    left: 26px;
    width: 20px;
	height: 100%;
	background-image: url(../images/icon-toggle-unchecked.svg?v2);
    background-size: 12px 12px;
    background-position: center center;
    background-repeat: no-repeat;
}

.toggle-switch:checked + label::after {
	left: 4px;
	background-size: 14px 14px;
	background-image: url(../images/icon-toggle-checked.svg?v2);
}

/* toggle switch */

/* roulette */

/* --- keyframes --- */
@-webkit-keyframes roulette-ring-glow {
	0%, 100% { -webkit-box-shadow: 0 0 16px rgba(255, 215, 0, 0.3), 0 0 32px rgba(255, 140, 0, 0.12); }
	50% { -webkit-box-shadow: 0 0 26px rgba(255, 215, 0, 0.5), 0 0 52px rgba(255, 140, 0, 0.22); }
}
@keyframes roulette-ring-glow {
	0%, 100% { box-shadow: 0 0 16px rgba(255, 215, 0, 0.3), 0 0 32px rgba(255, 140, 0, 0.12); }
	50% { box-shadow: 0 0 26px rgba(255, 215, 0, 0.5), 0 0 52px rgba(255, 140, 0, 0.22); }
}

@-webkit-keyframes spin-btn-pulse {
	0%, 100% { -webkit-transform: scale(1); -webkit-box-shadow: 0 0 10px rgba(255, 215, 0, 0.35), inset 0 0 8px rgba(255, 215, 0, 0.06); }
	50% { -webkit-transform: scale(1.04); -webkit-box-shadow: 0 0 20px rgba(255, 215, 0, 0.65), inset 0 0 12px rgba(255, 215, 0, 0.12); }
}
@keyframes spin-btn-pulse {
	0%, 100% { transform: scale(1); box-shadow: 0 0 10px rgba(255, 215, 0, 0.35), inset 0 0 8px rgba(255, 215, 0, 0.06); }
	50% { transform: scale(1.04); box-shadow: 0 0 20px rgba(255, 215, 0, 0.65), inset 0 0 12px rgba(255, 215, 0, 0.12); }
}

@-webkit-keyframes roulette-dots-orbit {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}
@keyframes roulette-dots-orbit {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@-webkit-keyframes progress-shimmer {
	0% { background-position: -200% center; }
	100% { background-position: 200% center; }
}
@keyframes progress-shimmer {
	0% { background-position: -200% center; }
	100% { background-position: 200% center; }
}

@-webkit-keyframes lastwin-fadein {
	0% { opacity: 0; -webkit-transform: translateY(6px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes lastwin-fadein {
	0% { opacity: 0; transform: translateY(6px); }
	100% { opacity: 1; transform: translateY(0); }
}

/* --- dialog shell (dark theme, scoped) --- */
.roulette-dialog .big-dialog-inner {
	width: 380px;
	max-width: 96%;
	background-color: #0f1923;

	-webkit-box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
}

.roulette-dialog .big-dialog-header {
	border-bottom: 1px solid rgba(255, 215, 0, 0.12);
}

.roulette-dialog .big-dialog-title {
	color: #ffd700;
}

.roulette-dialog .big-dialog-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background-color: rgba(0, 0, 0, 0.15);
}

.roulette-dialog .big-dialog-button {
	background-color: #ffd700;
	color: #0f1923;
	font-weight: bold;
}

.roulette-dialog .big-dialog-button:hover {
	opacity: 0.85;
}

.roulette-dialog .big-dialog-button[button-style="light"] {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: rgba(255, 255, 255, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* --- wheel wrapper (gold ring) --- */
.roulette-wrapper {
	display: inline-block;
	position: relative;
	padding: 10px;
	background: linear-gradient(160deg, #ffd700 0%, #ff8c00 25%, #ffc107 50%, #ff6347 75%, #ffd700 100%);

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-animation: roulette-ring-glow 3s ease-in-out infinite;
	animation: roulette-ring-glow 3s ease-in-out infinite;
}

.roulette-wrapper::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	right: 4px;
	bottom: 4px;
	background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 50%, rgba(255,215,0,0.1) 100%);
	pointer-events: none;

	-webkit-border-radius: 50%;
	border-radius: 50%;
}

/* --- pointer --- */
.roulette-pointer {
	position: absolute;
	top: -4px;
	left: 50%;
	margin-left: -15px;
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 28px solid #ffd700;
	z-index: 10;

	-webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.45));
	filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.45));
}

.roulette-pointer::after {
	content: "";
	position: absolute;
	top: -32px;
	left: -11px;
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-top: 9px solid #fffde7;
}

/* --- orbiting dots --- */
.roulette-dots {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-animation: roulette-dots-orbit 25s linear infinite;
	animation: roulette-dots-orbit 25s linear infinite;
}

.roulette-dots::before,
.roulette-dots::after {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	background-color: #ffd700;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-box-shadow: 0 0 6px rgba(255, 215, 0, 0.9);
	box-shadow: 0 0 6px rgba(255, 215, 0, 0.9);
}

.roulette-dots::before {
	top: 50%;
	left: -1px;
	margin-top: -3px;
}

.roulette-dots::after {
	top: 50%;
	right: -1px;
	margin-top: -3px;
}

/* --- wheel core --- */
.roulette {
	display: inline-block;
	position: relative;
	overflow: hidden;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.35);
	box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.35);
}

.roulette canvas {
	display: block;

	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

/* --- spin button --- */
.roulette span {
	cursor: pointer;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30%;
	height: 30%;
	margin: -15%;
	background: linear-gradient(150deg, #1a1a2e, #16213e);
	color: #ffd700;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 2px;
	border: 3px solid #ffd700;
	z-index: 5;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-box-shadow: 0 0 10px rgba(255, 215, 0, 0.35), inset 0 0 8px rgba(255, 215, 0, 0.06);
	box-shadow: 0 0 10px rgba(255, 215, 0, 0.35), inset 0 0 8px rgba(255, 215, 0, 0.06);

	-webkit-animation: spin-btn-pulse 2s ease-in-out infinite;
	animation: spin-btn-pulse 2s ease-in-out infinite;

	-webkit-transition: background 0.3s ease, box-shadow 0.3s ease;
	transition: background 0.3s ease, box-shadow 0.3s ease;
}

.roulette span:hover {
	background: linear-gradient(150deg, #16213e, #0f3460);

	-webkit-box-shadow: 0 0 28px rgba(255, 215, 0, 0.75), inset 0 0 14px rgba(255, 215, 0, 0.15);
	box-shadow: 0 0 28px rgba(255, 215, 0, 0.75), inset 0 0 14px rgba(255, 215, 0, 0.15);
}

.roulette span[item-loading="yes"] {
	-webkit-animation: none;
	animation: none;
}

.roulette span::after {
	content: "";
	position: absolute;
	top: -12px;
	border: 10px solid transparent;
	border-bottom-color: #ffd700;
	border-top: none;

	-webkit-filter: drop-shadow(0 -2px 3px rgba(255, 215, 0, 0.3));
	filter: drop-shadow(0 -2px 3px rgba(255, 215, 0, 0.3));
}

/* --- play icon inside spin button --- */
.spin-icon {
	width: 0;
	height: 0;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-left: 22px solid #ffd700;
	margin-left: 4px;

	-webkit-filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.45));
	filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.45));
}

/* --- stats area --- */
.roulette-stats {
	margin-top: 20px;
}

.roulette-stats-card {
	background: #162033;
	padding: 20px;
	border-top: 2px solid rgba(255, 215, 0, 0.25);

	-webkit-border-radius: 14px;
	border-radius: 14px;

	-webkit-box-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}

/* --- total label --- */
.roulette-total-label {
	text-align: center;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: rgba(255, 255, 255, 0.35);
	margin-bottom: 6px;
}

/* --- total row --- */
.roulette-total-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.roulette-total-row .roulette-coin-img {
	width: 30px;
	height: 30px;
	margin-right: 10px;

	-webkit-filter: drop-shadow(0 0 6px rgba(255, 200, 0, 0.45));
	filter: drop-shadow(0 0 6px rgba(255, 200, 0, 0.45));
}

.roulette-total-row .roulette-total {
	font-size: 30px;
	font-weight: bold;
	color: #ffd700;
	letter-spacing: 1px;

	text-shadow: 0 0 10px rgba(255, 215, 0, 0.25);
	-webkit-text-shadow: 0 0 10px rgba(255, 215, 0, 0.25);
}

/* --- last win badge --- */
.roulette-last-win {
	text-align: center;
	margin-top: 10px;
	min-height: 22px;
}

.roulette-last-win span {
	display: inline-block;
	font-size: 13px;
	color: #34d058;
	background-color: rgba(52, 208, 88, 0.1);
	padding: 3px 14px;
	letter-spacing: 0.5px;

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: lastwin-fadein 0.4s ease;
	animation: lastwin-fadein 0.4s ease;
}

/* --- progress bar --- */
.roulette-progress-container {
	margin-top: 16px;
}

.roulette-progress-track {
	position: relative;
	width: 100%;
	height: 8px;
	background-color: rgba(255, 255, 255, 0.07);
	overflow: hidden;

	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.roulette-progress-track .progress-bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, #ffd700, #ffab00, #ffd700, #ffab00, #ffd700);
	background-size: 200% 100%;

	-webkit-border-radius: 4px;
	border-radius: 4px;

	-webkit-box-shadow: 0 0 6px rgba(255, 215, 0, 0.35);
	box-shadow: 0 0 6px rgba(255, 215, 0, 0.35);

	-webkit-animation: progress-shimmer 2.5s linear infinite;
	animation: progress-shimmer 2.5s linear infinite;

	-webkit-transition: width 0.6s ease;
	transition: width 0.6s ease;
}

.roulette-progress-labels {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.3);
	margin-top: 5px;
}

/* --- logo row --- */
.roulette-logo-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 13px;
}

.roulette-logo-row img {
	width: 24px;
	height: 24px;
	margin-right: 8px;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-box-shadow: 0 0 6px rgba(255, 215, 0, 0.2);
	box-shadow: 0 0 6px rgba(255, 215, 0, 0.2);
}

.roulette-logo-row span {
	color: rgba(255, 255, 255, 0.35);
}

/* roulette */

/* report */
.report-button {
	display: inline-block;
	font-size: 17px;
	text-align: center;
	padding: 10px;
	color: #d90000;
	cursor: pointer;
}

.report-button img {
	width: 24px;
	margin-right: 4px;
	vertical-align: middle;
}

.report-dialog .big-dialog-button {
	background-color: #f93e2b;
}
/* report */

/* notification */
.notification {
	position: fixed;
    left: 50%;
    top: 20px;
    width: 300px;
    padding-top: 10px;
    margin-left: -150px;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 10100000;

	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	
	-webkit-border-radius: 16px;
	border-radius: 16px;
}

.notification table {
	width: 100%;
	border-spacing: 0px;
	border-collapse: collapse;
}

.notification-close {
	width: 24px;
	padding: 10px;
	vertical-align: middle;
	cursor: pointer;
}

.notification-icon {
	width: 46px;
	vertical-align: middle;

	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.notification-actions {
	display: -webkit-flex;
	display: flex;
	background-color: rgba(0, 0, 0, 0.05);
	margin-top: 5px;
}

.notification-action {
	font-size: 16px;
    flex: 1;
    color: #4caf50;
    padding: 10px;
	cursor: pointer;
    text-align: center;
}
/* notification */

/* notifications */
.notifications-container::before {
	content: '';
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: +1;
}

.notifications {
    position: absolute;
    top: 150px;
    right: 15px;
    width: 280px;
    padding: 10px;
    min-height: 100px;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: +1;

    -webkit-border-radius: 10px;
    border-radius: 10px;
}

.notifications::before {
	content: "";
    position: absolute;
    border-width: 8px;
    border-style: solid;
    position: absolute;
    top: 0px;
    right: 12px;
    margin-top: -15px;
    border-color: transparent;
    border-bottom-color: #e7e7e8;
}

.notifications-content {
	-ms-overflow-style: none;
  	scrollbar-width: none;
	overflow-y: auto;
}

.notifications-content::-webkit-scrollbar {
	display: none;
}

.notifications-content:empty {
	background-image: url(../images/icon-notifications.svg);
	background-size: 64px 64px;
    background-repeat: no-repeat;
    background-position: center center;
    height: 150px;
}

.notifications-content[is-loading="yes"] {
	background-image: url(../images/puff-dark.svg);
	background-size: 64px 64px;
    background-repeat: no-repeat;
    background-position: center center;
    height: 150px;
}

.notifications-title {
	text-align: center;
    padding: 15px;
    font-size: 18px;
    color: #121212;
}

.notifications-item {
    width: 100%;
    padding-top: 15px;
    background-color: #ffffff;
    margin-bottom: 10px;

	-webkit-border-radius: 10px;
    border-radius: 10px;
}

.notifications-item table {
	width: 100%;
	border-spacing: 0px;
	border-collapse: collapse;
}

.notifications-item-close {
	width: 20px;
	padding: 10px;
	vertical-align: middle;
	cursor: pointer;
}

.notifications-item[item-online="online"] .notifications-item-icon::before {
    position: absolute;
    bottom: -2px;
    right: -2px;
    content: "";
    width: 9px;
    height: 9px;
    background-color: #00d748;
    border: 4px solid #ffffff;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.notifications-item[item-online="playing"] .notifications-item-icon::before {
    position: absolute;
    bottom: -2px;
    right: -2px;
    content: "";
    width: 12px;
    height: 12px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/icon-playing.svg);
    border: 3px solid #ffffff;

    -webkit-border-radius: 50%;
    border-radius: 50%;

    -webkit-animation: spinner 3s linear infinite;
    animation: spinner 3s linear infinite;
}

.notifications-item-icon {
	position: relative;
	display: inline-block;
	height: 46px;
	width: 46px;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center center;
	vertical-align: middle;
	cursor: pointer;

	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.notifications-item-actions {
	display: -webkit-flex;
	display: flex;
	margin-top: 5px;
}

.notifications-item-action {
	font-size: 16px;
    flex: 1;
    background-color: rgba(0, 0, 0, 0.05);
    color: #3f51b5;
    padding: 10px;
    text-align: center;
    margin-left: 5px;
    margin-right: 5px;
	cursor: pointer;

	-webkit-border-radius: 20px;
    border-radius: 20px;
}

.notifications-item-action:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

.notifications-item-action img {
	width: 16px;
	margin-right: 4px;
	vertical-align: middle;
	opacity: 0.6;
}

.notifications-icon {
	position: absolute;
	right: 15px;
    top: 90px;
    display: inline-block;
    width: 40px;
    height: 40px;
	background-color: rgba(255, 255, 255, 0.1);
    z-index: +1;
    cursor: pointer;

	-webkit-border-radius: 50%;
    border-radius: 50%;

	transition: all 0.1s linear;
	-webkit-transition: all 0.1s linear;
}

.notifications-container ~ .notifications-icon {
	background-color: rgba(255, 255, 255, 1);
	z-index: +1;
}

.notifications-icon img {
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	margin-top: -10px;
}

.notifications-icon[item-notifications]::before {
	content: '';
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 14px;
    height: 14px;
	
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;

    -webkit-animation: blinking_notifications 5s infinite alternate;
    animation: blinking_notifications 5s infinite alternate;
}

@keyframes blinking_notifications {
	0% {
		width: 14px;
		height: 14px;
		background-color: #ffee01;
		transform: scale(1);
	}

	25% {
		width: 14px;
		height: 14px;
		background-color: #f30909;
		transform: scale(0.7);
	}

	50% {
		width: 14px;
		height: 14px;
		background-color: #ffee01;
		transform: scale(1);
	}

	75% {
		width: 14px;
		height: 14px;
		background-color: #f30909;
		transform: scale(0.7);
	}

    100% {
		width: 40px;
		height: 40px;
		background-color: #ffee01;
		transform: scale(1);
	}
}

/* notifications */

/* login */
.login-line {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	margin-top: 30px;
	margin-bottom: 15px;
}

.login-button {
    height: 40px;
    line-height: 40px;
    width: 250px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
    font-size: 17px;
    background-color: #17c561;
    background-image: url(../images/icon-login.svg?5);
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: 16px center;
    color: #ffffff;
	font-weight: bold;
    cursor: pointer;

    -webkit-border-radius: 25px;
    border-radius: 25px;
}

.signup-line {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	margin-top: 30px;
	margin-bottom: 15px;
}

.signup-button {
    height: 40px;
    line-height: 40px;
    width: 250px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
    font-size: 17px;
    background-color: #17c561;
    background-image: url(../images/icon-signup.svg);
    background-repeat: no-repeat;
    background-size: 22px 22px;
    background-position: 17px center;
    color: #ffffff;
	font-weight: bold;
    cursor: pointer;

    -webkit-border-radius: 25px;
    border-radius: 25px;
}

.signup-upload {
	background-image: url(../images/signup-upload.svg?3);
}

.signup-upload[item-state="loading"] {
	background-image: url(../images/puff-dark.svg);
}

.fb-login-btn {
    height: 40px;
    line-height: 40px;
    width: 250px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
    font-size: 17px;
    background-color: #4266B3;
    color: #ffffff;
	font-weight: bold;
    cursor: pointer;

    -webkit-border-radius: 25px;
    border-radius: 25px;
}
/* login */

/* by */
.by {
	color: #ffffff;
	font-size: 16px;
	margin-top: 30px;
}

.by span {
	color: #8a8a8a;
	font-size: 15px;
}
/* by */

/* game float */
.game-float {
	position: fixed;
    left: 10px;
    bottom: 10px;
    width: 64px;
    height: 64px;
    background-color: rgba(0, 0, 0, 0.5);
    cursor: pointer;

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.game-float span {
	content: "";
	display: block;
	position: absolute;
	top: 14px;
	left: 14px;
	width: 36px;
	height: 36px;
	background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
	overflow: hidden;

	-webkit-transition: background-image 2s ease;
	transition: background-image 2s ease;

	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.game-float[game-id="game"] span {
	background-image: url(../../files/games/game/logo.png?58);
}

.game-float[game-id="bura3"] span {
	background-image: url(../../files/games/bura3/logo.png?58);
}

.game-float[game-id="bura5"] span {
	background-image: url(../../files/games/bura5/logo.png?58);
}

.game-float[game-id="jeirani"] span {
	background-image: url(../../files/games/jeirani/logo.png?58);
}

.game-float[game-id="checkers"] span {
	background-image: url(../../files/games/checkers/logo.png?58);
}
/* game float */

/* smart tooltip */
.smart-tooltip {
	position: absolute;
	background-color: rgba(0, 0, 0, 0.8);
	color: #ffffff;
	padding: 10px;
	min-width: 100px;
	height: 30px;
	line-height: 30px;
    text-align: center;
    font-size: 17px;
	white-space: nowrap;
	border-color: rgba(0, 0, 0, 0.8);

	-webkit-transition: all 0.15s linear;
	transition: all 0.15s linear;

	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.smart-tooltip[item-mode="right"] {
	margin-left: -10px;
	
	-webkit-transform: translate(-100%, 0%);
	transform: translate(-100%, 0%);
}

.smart-tooltip::after {
	content: "";
    position: absolute;
    border-width: 12px;
    border-style: solid;
}

.smart-tooltip[item-arrow="left"]::after {
	top: 13px;
	left: 0px;
	margin-left: -24px;
	border-color: transparent;
    border-right-color: inherit;
}

.smart-tooltip[item-arrow="right"]::after {
	top: 13px;
	right: 0px;
	margin-right: -23px;
	border-color: transparent;
    border-left-color: #070f17;
}

.smart-tooltip[item-arrow="top"]::after {
    top: 0px;
    left: 50%;
    margin-top: -24px;
    margin-left: -12px;
    border-color: transparent;
    border-bottom-color: inherit;
}

.smart-tooltip[item-arrow="bottom"]::after {
	bottom: 0px;
	left: 50%;
	margin-bottom: -24px;
	margin-left: -12px;
	border-color: transparent;
    border-top-color: inherit;
}
/* smart tooltip */

/* promo code */
.promo-dialog-hide {
	left: calc(100% - 64px) !important;
    top: 165px !important;
	background-color: transparent !important;
	width: 40px !important;
	height: 40px !important;
	opacity: 0 !important;
	overflow: hidden !important;

	-webkit-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

@-webkit-keyframes promo_icon {
	from {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes promo_icon {
	from {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.promo-icon {
    position: absolute;
    right: 15px;
    top: 165px;
    display: inline-block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: center center;
    background-color: #102a44;
    background-image: url(../images/icon-promo.png?v8);
    cursor: pointer;
	z-index: +1;

	-webkit-animation: promo_icon 2s infinite alternate;
    animation: promo_icon 2s infinite alternate;

    -webkit-border-radius: 50%;
    border-radius: 50%;
}

@-webkit-keyframes promo_code_text {
	from {
		color: #000000;
	}

	to {
		color: #cbc825;
	}
}

@keyframes promo_code_text {
	from {
		color: #000000;
	}

	to {
		color: #cbc825;
	}
}

.promo-code-text {
	-webkit-animation: promo_code_text 1s infinite alternate;
    animation: promo_code_text 1s infinite alternate;
}

.promo-share-button {
	background-color: #3f51b5 !important;
}
/* promo code */

/* auth */
.auth-otp-button {
	display: inline-block;
	width: 100%;
	padding: 3px;
	padding-left: 5px;
	padding-right: 5px;
	border: none;
	font-size: 13px;
	background-color: #3f51b5;
	color: #ffffff;
	cursor: pointer;
	
	-webkit-border-radius: 7px;
    border-radius: 7px;
}

.auth-otp-button:hover {
	opacity: 0.7;
}

/* profile */
.big-dialog[data-gender="female"] .big-dialog-content {
	border-top: 3px solid #ff4da6;
}

.big-dialog[data-gender="male"] .big-dialog-content {
	border-top: 3px solid #4a90d9;
}

/* ========== DOORS GAME ========== */

/* --- game choice buttons --- */
.game-choice-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	background: linear-gradient(170deg, #1a2940 0%, #0d1b2a 100%);
	border: 2px solid rgba(255, 215, 0, 0.3);
	cursor: pointer;

	-webkit-border-radius: 16px;
	border-radius: 16px;

	-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

.game-choice-btn:hover {
	border-color: #ffd700;
	box-shadow: 0 0 20px rgba(255, 215, 0, 0.25);

	-webkit-transform: translateY(-3px);
	transform: translateY(-3px);
}

.game-choice-btn:active {
	-webkit-transform: translateY(0) scale(0.97);
	transform: translateY(0) scale(0.97);
}

.game-choice-icon {
	font-size: 40px;
	line-height: 1;
	margin-bottom: 8px;
}

.game-choice-label {
	font-size: 13px;
	font-weight: bold;
	color: #ffd700;
	letter-spacing: 0.5px;
}

/* --- doors icon (left side, below boxes icon) --- */
.doors-icon {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: 22px 22px;
	background-position: center center;
	background-color: rgba(255, 255, 255, 0.1);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd700' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3Ccircle cx='8' cy='12' r='1' fill='%23ffd700'/%3E%3Ccircle cx='16' cy='12' r='1' fill='%23ffd700'/%3E%3C/svg%3E");
	cursor: pointer;

	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.doors-icon[icon-position="top"] {
	position: absolute;
	left: 15px;
	top: 215px;
	z-index: +1;
}

.doors-icon[icon-position="top"]::after {
	content: '';
	position: absolute;
	bottom: -1px;
	right: -1px;
	width: 16px;
	height: 16px;
	z-index: -1;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-animation: blinking 1s infinite alternate;
	animation: blinking 1s infinite alternate;
}

/* --- dialog shell (dark theme) --- */
.doors-dialog .big-dialog-inner {
	width: 420px;
	max-width: 96%;
	background-color: #0f1923;
	border: 1px solid rgba(255, 215, 0, 0.15);
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
}

.doors-dialog .big-dialog-header {
	border-bottom: 1px solid rgba(255, 215, 0, 0.12);
}

.doors-dialog .big-dialog-title {
	color: #ffd700;
}

.doors-dialog .big-dialog-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background-color: rgba(0, 0, 0, 0.15);
}

.doors-dialog .big-dialog-button {
	background-color: #ffd700;
	color: #0f1923;
	font-weight: bold;
}

.doors-dialog .big-dialog-button:hover {
	opacity: 0.85;
}

.doors-dialog .big-dialog-button[button-style="light"] {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: rgba(255, 255, 255, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* --- doors grid --- */
.doors-grid {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 12px;
	padding: 20px 10px;
}

/* --- single door --- */
.door-item {
	width: 72px;
	height: 100px;
	position: relative;
	cursor: pointer;

	-webkit-perspective: 800px;
	perspective: 800px;

	-webkit-transition: opacity 0.4s ease, filter 0.4s ease;
	transition: opacity 0.4s ease, filter 0.4s ease;
}

.door-item.disabled {
	pointer-events: none;
}

.door-item.dimmed {
	opacity: 0.3;

	-webkit-filter: grayscale(1);
	filter: grayscale(1);

	pointer-events: none;
}

/* door inner (flips) */
.door-inner {
	position: relative;
	width: 100%;
	height: 100%;

	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;

	-webkit-transition: transform 0.7s ease;
	transition: transform 0.7s ease;
}

.door-item.opened .door-inner {
	-webkit-transform: rotateY(-160deg);
	transform: rotateY(-160deg);
}

/* front face */
.door-front {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	background: linear-gradient(170deg, #1a2940 0%, #0d1b2a 100%);
	border: 2px solid rgba(255, 215, 0, 0.35);

	-webkit-border-radius: 8px;
	border-radius: 8px;

	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;

	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 215, 0, 0.08);
}

.door-front::before {
	content: '';
	position: absolute;
	top: 6px;
	left: 6px;
	right: 6px;
	bottom: 6px;
	border: 1px solid rgba(255, 215, 0, 0.1);

	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.door-number {
	font-size: 22px;
	font-weight: bold;
	color: rgba(255, 215, 0, 0.7);
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.door-knob {
	width: 8px;
	height: 8px;
	background: radial-gradient(circle, #ffd700, #b8860b);
	border-radius: 50%;
	position: absolute;
	right: 12px;
	top: 50%;
	margin-top: -4px;
	box-shadow: 0 0 6px rgba(255, 215, 0, 0.5);
}

/* back face (prize) */
.door-back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);

	background: linear-gradient(170deg, #162a1f 0%, #0d1b14 100%);
	border: 2px solid rgba(52, 208, 88, 0.4);

	-webkit-border-radius: 8px;
	border-radius: 8px;

	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;

	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

/* --- prize content --- */
.door-prize {
	text-align: center;

	-webkit-animation: doorPrizePop 0.5s ease 0.6s both;
	animation: doorPrizePop 0.5s ease 0.6s both;
}

.door-prize img {
	width: 32px;
	height: 32px;
	display: block;
	margin: 0 auto 4px;
}

.door-prize-label {
	font-size: 14px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

.door-prize-success {
	font-size: 9px;
	color: #34d058;
	margin-top: 2px;
	line-height: 1.2;
	max-width: 64px;
	word-wrap: break-word;
}

/* --- stats area --- */
.doors-stats {
	margin-top: 16px;
}

.doors-stats-card {
	background: #162033;
	padding: 16px 20px;
	border-top: 2px solid rgba(255, 215, 0, 0.25);

	-webkit-border-radius: 10px;
	border-radius: 10px;

	text-align: center;
}

.doors-total-label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.45);
	margin-bottom: 6px;
}

.doors-total-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.doors-total-row .doors-coin-img {
	width: 26px;
	height: 26px;
	margin-right: 8px;

	-webkit-animation: roulette-coin-float 2s ease-in-out infinite;
	animation: roulette-coin-float 2s ease-in-out infinite;

	-webkit-filter: drop-shadow(0 0 6px rgba(255, 200, 0, 0.45));
	filter: drop-shadow(0 0 6px rgba(255, 200, 0, 0.45));
}

.doors-total-row .doors-total {
	font-size: 26px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

.doors-last-win {
	text-align: center;
	margin-top: 8px;
	min-height: 20px;
}

.doors-last-win span {
	display: inline-block;
	font-size: 13px;
	color: #34d058;
	background: rgba(52, 208, 88, 0.1);
	padding: 2px 10px;

	-webkit-border-radius: 10px;
	border-radius: 10px;

	-webkit-animation: doorPrizePop 0.3s ease both;
	animation: doorPrizePop 0.3s ease both;
}

/* hover effect on door */
.door-item:not(.disabled):not(.dimmed):not(.opened):hover .door-front {
	border-color: rgba(255, 215, 0, 0.7);
	box-shadow: 0 4px 20px rgba(255, 215, 0, 0.2), inset 0 1px 0 rgba(255, 215, 0, 0.15);
}

.door-item:not(.disabled):not(.dimmed):not(.opened):hover .door-number {
	color: #ffd700;
}

/* sparkle on opened door */
.door-item.opened .door-back::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255, 215, 0, 0.15) 0%, transparent 70%);

	-webkit-animation: doorSparkle 1.5s ease-out both;
	animation: doorSparkle 1.5s ease-out both;
}

/* --- keyframes --- */
@-webkit-keyframes doorPrizePop {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	60% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes doorPrizePop {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	60% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@-webkit-keyframes doorSparkle {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
}

@keyframes doorSparkle {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
}

/* --- big win effects --- */
.door-item.big-win {
	-webkit-animation: doorBigWinShake 0.6s ease 0.5s both;
	animation: doorBigWinShake 0.6s ease 0.5s both;
}

.door-item.big-win .door-back {
	border-color: #ffd700;

	-webkit-animation: doorBigWinGlow 1s ease 0.5s 3;
	animation: doorBigWinGlow 1s ease 0.5s 3;
}

.door-item.big-win .door-prize-label {
	font-size: 16px;
	-webkit-animation: doorPrizePop 0.5s ease 0.6s both, doorBigWinPulse 0.8s ease 1.1s 2;
	animation: doorPrizePop 0.5s ease 0.6s both, doorBigWinPulse 0.8s ease 1.1s 2;
}

/* confetti particles */
.door-confetti {
	position: absolute;
	width: 6px;
	height: 6px;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	pointer-events: none;
	opacity: 0;
	z-index: 10;
}

.door-confetti.active {
	-webkit-animation: doorConfettiBurst 1.2s ease-out 0.6s both;
	animation: doorConfettiBurst 1.2s ease-out 0.6s both;
}

.door-confetti:nth-child(1) { background: #ffd700; --confetti-x: -28px; --confetti-y: -40px; top: 50%; left: 50%; }
.door-confetti:nth-child(2) { background: #ff4757; --confetti-x: 25px; --confetti-y: -35px; top: 50%; left: 50%; }
.door-confetti:nth-child(3) { background: #2ed573; --confetti-x: -32px; --confetti-y: 15px; top: 50%; left: 50%; }
.door-confetti:nth-child(4) { background: #ffa502; --confetti-x: 30px; --confetti-y: 20px; top: 50%; left: 50%; }
.door-confetti:nth-child(5) { background: #1e90ff; --confetti-x: 0px; --confetti-y: -45px; top: 50%; left: 50%; }
.door-confetti:nth-child(6) { background: #ff6b81; --confetti-x: -18px; --confetti-y: 35px; top: 50%; left: 50%; }
.door-confetti:nth-child(7) { background: #ffd700; --confetti-x: 20px; --confetti-y: -20px; top: 50%; left: 50%; width: 4px; height: 4px; }
.door-confetti:nth-child(8) { background: #2ed573; --confetti-x: -10px; --confetti-y: -30px; top: 50%; left: 50%; width: 4px; height: 4px; }

@-webkit-keyframes doorBigWinGlow {
	0% {
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	}
	50% {
		box-shadow: 0 0 20px rgba(255, 215, 0, 0.6), 0 0 40px rgba(255, 215, 0, 0.3), inset 0 0 12px rgba(255, 215, 0, 0.15);
	}
	100% {
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	}
}

@keyframes doorBigWinGlow {
	0% {
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	}
	50% {
		box-shadow: 0 0 20px rgba(255, 215, 0, 0.6), 0 0 40px rgba(255, 215, 0, 0.3), inset 0 0 12px rgba(255, 215, 0, 0.15);
	}
	100% {
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	}
}

@-webkit-keyframes doorBigWinShake {
	0%, 100% { -webkit-transform: translateX(0); transform: translateX(0); }
	15% { -webkit-transform: translateX(-4px) rotate(-2deg); transform: translateX(-4px) rotate(-2deg); }
	30% { -webkit-transform: translateX(4px) rotate(2deg); transform: translateX(4px) rotate(2deg); }
	45% { -webkit-transform: translateX(-3px) rotate(-1deg); transform: translateX(-3px) rotate(-1deg); }
	60% { -webkit-transform: translateX(3px) rotate(1deg); transform: translateX(3px) rotate(1deg); }
	75% { -webkit-transform: translateX(-2px); transform: translateX(-2px); }
}

@keyframes doorBigWinShake {
	0%, 100% { -webkit-transform: translateX(0); transform: translateX(0); }
	15% { -webkit-transform: translateX(-4px) rotate(-2deg); transform: translateX(-4px) rotate(-2deg); }
	30% { -webkit-transform: translateX(4px) rotate(2deg); transform: translateX(4px) rotate(2deg); }
	45% { -webkit-transform: translateX(-3px) rotate(-1deg); transform: translateX(-3px) rotate(-1deg); }
	60% { -webkit-transform: translateX(3px) rotate(1deg); transform: translateX(3px) rotate(1deg); }
	75% { -webkit-transform: translateX(-2px); transform: translateX(-2px); }
}

@-webkit-keyframes doorBigWinPulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); }
	50% { -webkit-transform: scale(1.25); transform: scale(1.25); }
}

@keyframes doorBigWinPulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); }
	50% { -webkit-transform: scale(1.25); transform: scale(1.25); }
}

@-webkit-keyframes doorConfettiBurst {
	0% {
		opacity: 1;
		-webkit-transform: translate(0, 0) scale(1);
		transform: translate(0, 0) scale(1);
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: translate(var(--confetti-x), var(--confetti-y)) scale(0.3);
		transform: translate(var(--confetti-x), var(--confetti-y)) scale(0.3);
	}
}

@keyframes doorConfettiBurst {
	0% {
		opacity: 1;
		-webkit-transform: translate(0, 0) scale(1);
		transform: translate(0, 0) scale(1);
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		-webkit-transform: translate(var(--confetti-x), var(--confetti-y)) scale(0.3);
		transform: translate(var(--confetti-x), var(--confetti-y)) scale(0.3);
	}
}

/* ========== END DOORS GAME ========== */

/* ========== TREASURE GAME ========== */

/* --- dialog shell --- */
.treasure-dialog .big-dialog-inner {
	width: 400px;
	max-width: 96%;
	background: linear-gradient(180deg, #1a0e2e 0%, #0d0a1a 60%, #0a0612 100%);
	border: 1px solid rgba(255, 215, 0, 0.15);
	box-shadow: 0 8px 60px rgba(100, 50, 0, 0.4), 0 0 100px rgba(255, 215, 0, 0.05);
}

.treasure-dialog .big-dialog-header {
	border-bottom: 1px solid rgba(255, 215, 0, 0.12);
	background: linear-gradient(180deg, rgba(255, 215, 0, 0.06) 0%, transparent 100%);
}

.treasure-dialog .big-dialog-title {
	color: #ffd700;
	text-shadow: 0 0 12px rgba(255, 215, 0, 0.3);
}

.treasure-dialog .big-dialog-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background-color: rgba(0, 0, 0, 0.25);
}

.treasure-dialog .big-dialog-button[button-style="light"] {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: rgba(255, 255, 255, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* --- scene container --- */
.treasure-scene {
	padding: 20px 12px 12px;
	text-align: center;
	position: relative;
	overflow: hidden;
	min-height: 240px;
}

/* --- background sparkle stars --- */
.treasure-bg-stars {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}

.treasure-sparkle {
	position: absolute;
	width: 3px;
	height: 3px;
	background: #ffd700;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-animation: treasureTwinkle 2s ease-in-out infinite;
	animation: treasureTwinkle 2s ease-in-out infinite;
}

.treasure-sparkle:nth-child(1) { top: 12%; left: 15%; animation-delay: 0s; -webkit-animation-delay: 0s; }
.treasure-sparkle:nth-child(2) { top: 8%; left: 75%; animation-delay: 0.7s; -webkit-animation-delay: 0.7s; width: 2px; height: 2px; }
.treasure-sparkle:nth-child(3) { top: 25%; left: 88%; animation-delay: 1.3s; -webkit-animation-delay: 1.3s; }
.treasure-sparkle:nth-child(4) { top: 18%; left: 45%; animation-delay: 0.4s; -webkit-animation-delay: 0.4s; width: 2px; height: 2px; }
.treasure-sparkle:nth-child(5) { top: 30%; left: 8%; animation-delay: 1s; -webkit-animation-delay: 1s; width: 2px; height: 2px; }

/* --- center glow --- */
.treasure-glow {
	position: absolute;
	top: 30%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-left: -100px;
	margin-top: -60px;
	background: radial-gradient(circle, rgba(255, 215, 0, 0.03) 0%, transparent 70%);
	pointer-events: none;

	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

.treasure-scene.active-glow .treasure-glow {
	width: 300px;
	height: 300px;
	margin-left: -150px;
	background: radial-gradient(circle, rgba(255, 215, 0, 0.2) 0%, rgba(255, 165, 0, 0.08) 40%, transparent 70%);
}

.treasure-scene.big-win-scene .treasure-glow {
	width: 400px;
	height: 400px;
	margin-left: -200px;
	margin-top: -100px;
	background: radial-gradient(circle, rgba(255, 215, 0, 0.4) 0%, rgba(255, 165, 0, 0.15) 30%, rgba(255, 100, 0, 0.05) 60%, transparent 70%);

	-webkit-animation: treasureGlowPulse 1.2s ease infinite;
	animation: treasureGlowPulse 1.2s ease infinite;
}

/* --- mist at base --- */
.treasure-mist {
	position: absolute;
	bottom: 60px;
	left: 0;
	right: 0;
	height: 40px;
	background: radial-gradient(ellipse, rgba(180, 140, 50, 0.12) 0%, transparent 70%);
	pointer-events: none;

	-webkit-animation: treasureMist 4s ease-in-out infinite;
	animation: treasureMist 4s ease-in-out infinite;
}

/* --- chests row (3 chests) --- */
.treasure-chests-row {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	gap: 14px;
	padding: 0 8px;
	position: relative;
	z-index: 2;
}

/* --- treasure chest --- */
.treasure-chest {
	position: relative;
	display: inline-block;
	width: 105px;
	height: 105px;
	cursor: pointer;
	z-index: 2;

	-webkit-transition: transform 0.3s ease, opacity 0.4s ease, filter 0.4s ease;
	transition: transform 0.3s ease, opacity 0.4s ease, filter 0.4s ease;

	-webkit-filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.6));
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.6));
}

.treasure-chest:hover:not(.opened):not(.shaking):not(.dimmed) {
	-webkit-transform: scale(1.08) translateY(-3px);
	transform: scale(1.08) translateY(-3px);
}

.treasure-chest:active:not(.opened):not(.dimmed) {
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
}

.treasure-chest.dimmed {
	opacity: 0.3;
	pointer-events: none;

	-webkit-filter: grayscale(0.8) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
	filter: grayscale(0.8) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
}

/* chest label number */
.treasure-chest-label {
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	color: rgba(255, 215, 0, 0.5);
}

/* per-chest rays container */
.treasure-chest-rays {
	position: absolute;
	top: 30%;
	left: 50%;
	width: 0;
	height: 0;
	pointer-events: none;
	z-index: 5;
}

/* per-chest particles container */
.treasure-chest-particles {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 6;
}

/* burst particles for big win */
.treasure-burst-particle {
	position: absolute;
	width: 5px;
	height: 5px;
	top: 30%;
	left: 50%;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	opacity: 0;
	pointer-events: none;
}

.treasure-burst-particle.active {
	-webkit-animation: treasureBurst 1.2s ease-out both;
	animation: treasureBurst 1.2s ease-out both;
}

.treasure-burst-particle:nth-child(1)  { background: #ffd700; --burst-x: -30px; --burst-y: -40px; }
.treasure-burst-particle:nth-child(2)  { background: #ff4757; --burst-x: 28px; --burst-y: -35px; animation-delay: 0.05s; -webkit-animation-delay: 0.05s; }
.treasure-burst-particle:nth-child(3)  { background: #2ed573; --burst-x: -35px; --burst-y: 10px; animation-delay: 0.1s; -webkit-animation-delay: 0.1s; }
.treasure-burst-particle:nth-child(4)  { background: #ffa502; --burst-x: 32px; --burst-y: 12px; animation-delay: 0.07s; -webkit-animation-delay: 0.07s; }
.treasure-burst-particle:nth-child(5)  { background: #ffd700; --burst-x: 0px; --burst-y: -50px; animation-delay: 0.03s; -webkit-animation-delay: 0.03s; width: 6px; height: 6px; }
.treasure-burst-particle:nth-child(6)  { background: #ff6b81; --burst-x: -20px; --burst-y: 25px; animation-delay: 0.12s; -webkit-animation-delay: 0.12s; }
.treasure-burst-particle:nth-child(7)  { background: #1e90ff; --burst-x: 22px; --burst-y: -25px; animation-delay: 0.08s; -webkit-animation-delay: 0.08s; width: 4px; height: 4px; }
.treasure-burst-particle:nth-child(8)  { background: #ffd700; --burst-x: -15px; --burst-y: -48px; animation-delay: 0.15s; -webkit-animation-delay: 0.15s; width: 4px; height: 4px; }
.treasure-burst-particle:nth-child(9)  { background: #2ed573; --burst-x: 18px; --burst-y: 20px; animation-delay: 0.06s; -webkit-animation-delay: 0.06s; }
.treasure-burst-particle:nth-child(10) { background: #ffa502; --burst-x: -25px; --burst-y: -15px; animation-delay: 0.11s; -webkit-animation-delay: 0.11s; width: 4px; height: 4px; }

/* chest body */
.treasure-body {
	position: absolute;
	bottom: 0;
	left: 8px;
	right: 8px;
	height: 50px;
	background: linear-gradient(180deg, #9B7318 0%, #7B5A12 30%, #5a4010 70%, #3d2a0a 100%);
	border: 2px solid #a07818;

	-webkit-border-radius: 4px 4px 8px 8px;
	border-radius: 4px 4px 8px 8px;

	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6), inset 0 2px 0 rgba(255, 215, 0, 0.2), inset 0 -2px 4px rgba(0, 0, 0, 0.3);
}

/* metal bands on body */
.treasure-band {
	position: absolute;
	left: -2px;
	right: -2px;
	height: 6px;
	background: linear-gradient(180deg, #c49a1a, #a07818, #8B6914);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.4);
}

.treasure-band-top { top: 10px; }
.treasure-band-bot { bottom: 10px; }

/* gems on body */
.treasure-gem {
	position: absolute;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;

	-webkit-border-radius: 2px;
	border-radius: 2px;

	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);

	box-shadow: 0 0 6px currentColor, inset 0 0 3px rgba(255, 255, 255, 0.4);
}

.treasure-gem-l {
	left: 10px;
	background: linear-gradient(135deg, #ff4757, #c0392b);
	color: rgba(255, 71, 87, 0.7);
}

.treasure-gem-r {
	right: 10px;
	background: linear-gradient(135deg, #2ed573, #1e8449);
	color: rgba(46, 213, 115, 0.7);
}

/* lock */
.treasure-lock {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 18px;
	margin-top: -6px;
	margin-left: -11px;
	background: linear-gradient(180deg, #ffd700, #c49a1a);

	-webkit-border-radius: 3px 3px 5px 5px;
	border-radius: 3px 3px 5px 5px;

	box-shadow: 0 0 10px rgba(255, 215, 0, 0.5), 0 2px 4px rgba(0, 0, 0, 0.4);
	z-index: 2;
}

.treasure-lock-ring {
	position: absolute;
	top: -8px;
	left: 50%;
	width: 14px;
	height: 10px;
	margin-left: -7px;
	border: 3px solid #ffd700;
	border-bottom: none;

	-webkit-border-radius: 7px 7px 0 0;
	border-radius: 7px 7px 0 0;

	box-shadow: 0 0 4px rgba(255, 215, 0, 0.4);
}

.treasure-keyhole {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	margin-top: -3px;
	margin-left: -2px;
	background: #1a0e2e;

	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.treasure-keyhole::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 1px;
	width: 2px;
	height: 4px;
	background: #1a0e2e;
}

/* chest lid */
.treasure-lid {
	position: absolute;
	bottom: 46px;
	left: 6px;
	right: 6px;
	height: 40px;
	z-index: 3;

	-webkit-transform-origin: bottom center;
	transform-origin: bottom center;

	-webkit-transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1);
	transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.treasure-chest.opened .treasure-lid {
	-webkit-transform: rotateX(-115deg) translateY(-5px);
	transform: rotateX(-115deg) translateY(-5px);
}

.treasure-lid-front {
	position: absolute;
	bottom: 0;
	left: 3px;
	right: 3px;
	height: 26px;
	background: linear-gradient(180deg, #a07818 0%, #8B6914 50%, #7B5A12 100%);
	border: 2px solid #a07818;

	-webkit-border-radius: 4px 4px 0 0;
	border-radius: 4px 4px 0 0;

	box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 215, 0, 0.2);
}

.treasure-lid-band {
	position: absolute;
	top: 50%;
	left: -2px;
	right: -2px;
	height: 6px;
	margin-top: -3px;
	background: linear-gradient(180deg, #c49a1a, #a07818, #8B6914);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.4);
}

.treasure-lid-rivet {
	position: absolute;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	background: radial-gradient(circle, #ffd700 40%, #b8860b);

	-webkit-border-radius: 50%;
	border-radius: 50%;

	box-shadow: 0 0 3px rgba(255, 215, 0, 0.5);
}

.tr-rivet-l { left: 8px; }
.tr-rivet-r { right: 8px; }

.treasure-lid-top {
	position: absolute;
	bottom: 24px;
	left: 2px;
	right: 2px;
	height: 18px;
	background: linear-gradient(180deg, #d4a81c 0%, #b8920a 40%, #a07818 100%);
	border: 2px solid #b88a16;

	-webkit-border-radius: 14px 14px 0 0;
	border-radius: 14px 14px 0 0;

	box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.15);
}

/* prize display */
.treasure-prize-display {
	position: absolute;
	bottom: 30px;
	left: -10px;
	right: -10px;
	text-align: center;
	z-index: 4;
	pointer-events: none;
}

.treasure-prize-coins {
	font-size: 24px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 16px rgba(255, 215, 0, 0.7), 0 0 32px rgba(255, 165, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.6);

	-webkit-animation: treasurePrizeReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: treasurePrizeReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.treasure-prize-img {
	width: 44px;
	height: 44px;

	-webkit-animation: treasurePrizeReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: treasurePrizeReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;

	-webkit-filter: drop-shadow(0 0 12px rgba(255, 215, 0, 0.6));
	filter: drop-shadow(0 0 12px rgba(255, 215, 0, 0.6));
}

.treasure-prize-text {
	font-size: 11px;
	color: #34d058;
	margin-top: 4px;
	text-shadow: 0 0 6px rgba(52, 208, 88, 0.4);

	-webkit-animation: treasurePrizeReveal 0.5s ease 0.3s both;
	animation: treasurePrizeReveal 0.5s ease 0.3s both;
}

/* big win chest */
.treasure-chest.big-win .treasure-body {
	-webkit-animation: treasureChestGlow 0.8s ease infinite;
	animation: treasureChestGlow 0.8s ease infinite;
}

.treasure-chest.big-win .treasure-gem {
	-webkit-animation: treasureGemPulse 0.6s ease infinite;
	animation: treasureGemPulse 0.6s ease infinite;
}

.treasure-chest.big-win .treasure-gem-r {
	animation-delay: 0.3s;
	-webkit-animation-delay: 0.3s;
}

.treasure-chest.big-win .treasure-prize-coins {
	font-size: 30px;

	-webkit-animation: treasurePrizeReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both, treasurePrizePulse 0.7s ease 0.8s 3;
	animation: treasurePrizeReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both, treasurePrizePulse 0.7s ease 0.8s 3;
}

/* shaking before open */
.treasure-chest.shaking {
	-webkit-animation: treasureShake 0.12s ease infinite;
	animation: treasureShake 0.12s ease infinite;
}

.treasure-chest.shaking .treasure-lock {
	-webkit-animation: treasureLockJiggle 0.2s ease infinite;
	animation: treasureLockJiggle 0.2s ease infinite;
}

/* hint text */
.treasure-hint {
	font-size: 13px;
	color: rgba(255, 215, 0, 0.5);
	margin-bottom: 14px;
	letter-spacing: 0.5px;
	position: relative;
	z-index: 3;

	-webkit-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;

	-webkit-animation: treasureHintPulse 2s ease-in-out infinite;
	animation: treasureHintPulse 2s ease-in-out infinite;
}

/* --- stats area --- */
.treasure-stats {
	margin-top: 8px;
}

.treasure-stats-card {
	background: linear-gradient(180deg, rgba(255, 215, 0, 0.06) 0%, rgba(255, 215, 0, 0.02) 100%);
	padding: 14px 20px;
	border-top: 2px solid rgba(255, 215, 0, 0.2);

	-webkit-border-radius: 10px;
	border-radius: 10px;

	text-align: center;
}

.treasure-total-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.4);
	margin-bottom: 6px;
}

.treasure-total-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.treasure-total-row .treasure-coin-img {
	width: 24px;
	height: 24px;
	margin-right: 8px;

	-webkit-filter: drop-shadow(0 0 6px rgba(255, 200, 0, 0.45));
	filter: drop-shadow(0 0 6px rgba(255, 200, 0, 0.45));
}

.treasure-total-row .treasure-total {
	font-size: 24px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

.treasure-last-win {
	text-align: center;
	margin-top: 6px;
	min-height: 20px;
}

.treasure-last-win span {
	display: inline-block;
	font-size: 13px;
	color: #34d058;
	background: rgba(52, 208, 88, 0.1);
	padding: 2px 10px;

	-webkit-border-radius: 10px;
	border-radius: 10px;

	-webkit-animation: doorPrizePop 0.3s ease both;
	animation: doorPrizePop 0.3s ease both;
}

/* --- keyframes --- */
@-webkit-keyframes treasureTwinkle {
	0%, 100% { opacity: 0.2; -webkit-transform: scale(1); transform: scale(1); }
	50% { opacity: 0.8; -webkit-transform: scale(1.4); transform: scale(1.4); }
}

@keyframes treasureTwinkle {
	0%, 100% { opacity: 0.2; -webkit-transform: scale(1); transform: scale(1); }
	50% { opacity: 0.8; -webkit-transform: scale(1.4); transform: scale(1.4); }
}

@-webkit-keyframes treasureMist {
	0%, 100% { opacity: 0.6; -webkit-transform: scaleX(1); transform: scaleX(1); }
	50% { opacity: 1; -webkit-transform: scaleX(1.15); transform: scaleX(1.15); }
}

@keyframes treasureMist {
	0%, 100% { opacity: 0.6; -webkit-transform: scaleX(1); transform: scaleX(1); }
	50% { opacity: 1; -webkit-transform: scaleX(1.15); transform: scaleX(1.15); }
}

@-webkit-keyframes treasureHintPulse {
	0%, 100% { opacity: 0.5; }
	50% { opacity: 0.9; }
}

@keyframes treasureHintPulse {
	0%, 100% { opacity: 0.5; }
	50% { opacity: 0.9; }
}

@-webkit-keyframes treasureShake {
	0%, 100% { -webkit-transform: translateX(0) rotate(0); transform: translateX(0) rotate(0); }
	20% { -webkit-transform: translateX(-4px) rotate(-2deg); transform: translateX(-4px) rotate(-2deg); }
	40% { -webkit-transform: translateX(4px) rotate(2deg); transform: translateX(4px) rotate(2deg); }
	60% { -webkit-transform: translateX(-3px) rotate(-1deg); transform: translateX(-3px) rotate(-1deg); }
	80% { -webkit-transform: translateX(3px) rotate(1deg); transform: translateX(3px) rotate(1deg); }
}

@keyframes treasureShake {
	0%, 100% { -webkit-transform: translateX(0) rotate(0); transform: translateX(0) rotate(0); }
	20% { -webkit-transform: translateX(-4px) rotate(-2deg); transform: translateX(-4px) rotate(-2deg); }
	40% { -webkit-transform: translateX(4px) rotate(2deg); transform: translateX(4px) rotate(2deg); }
	60% { -webkit-transform: translateX(-3px) rotate(-1deg); transform: translateX(-3px) rotate(-1deg); }
	80% { -webkit-transform: translateX(3px) rotate(1deg); transform: translateX(3px) rotate(1deg); }
}

@-webkit-keyframes treasureLockJiggle {
	0%, 100% { -webkit-transform: rotate(0); transform: rotate(0); }
	33% { -webkit-transform: rotate(-8deg); transform: rotate(-8deg); }
	66% { -webkit-transform: rotate(8deg); transform: rotate(8deg); }
}

@keyframes treasureLockJiggle {
	0%, 100% { -webkit-transform: rotate(0); transform: rotate(0); }
	33% { -webkit-transform: rotate(-8deg); transform: rotate(-8deg); }
	66% { -webkit-transform: rotate(8deg); transform: rotate(8deg); }
}

@-webkit-keyframes treasureBurst {
	0% { opacity: 1; -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); }
	70% { opacity: 1; }
	100% { opacity: 0; -webkit-transform: translate(var(--burst-x), var(--burst-y)) scale(0.3); transform: translate(var(--burst-x), var(--burst-y)) scale(0.3); }
}

@keyframes treasureBurst {
	0% { opacity: 1; -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); }
	70% { opacity: 1; }
	100% { opacity: 0; -webkit-transform: translate(var(--burst-x), var(--burst-y)) scale(0.3); transform: translate(var(--burst-x), var(--burst-y)) scale(0.3); }
}

@-webkit-keyframes treasurePrizeReveal {
	0% {
		opacity: 0;
		-webkit-transform: translateY(25px) scale(0.3);
		transform: translateY(25px) scale(0.3);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0) scale(1);
		transform: translateY(0) scale(1);
	}
}

@keyframes treasurePrizeReveal {
	0% {
		opacity: 0;
		-webkit-transform: translateY(25px) scale(0.3);
		transform: translateY(25px) scale(0.3);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0) scale(1);
		transform: translateY(0) scale(1);
	}
}

@-webkit-keyframes treasurePrizePulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); text-shadow: 0 0 16px rgba(255, 215, 0, 0.7), 0 0 32px rgba(255, 165, 0, 0.3); }
	50% { -webkit-transform: scale(1.3); transform: scale(1.3); text-shadow: 0 0 24px rgba(255, 215, 0, 1), 0 0 48px rgba(255, 165, 0, 0.5); }
}

@keyframes treasurePrizePulse {
	0%, 100% { -webkit-transform: scale(1); transform: scale(1); text-shadow: 0 0 16px rgba(255, 215, 0, 0.7), 0 0 32px rgba(255, 165, 0, 0.3); }
	50% { -webkit-transform: scale(1.3); transform: scale(1.3); text-shadow: 0 0 24px rgba(255, 215, 0, 1), 0 0 48px rgba(255, 165, 0, 0.5); }
}

@-webkit-keyframes treasureChestGlow {
	0%, 100% { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6), inset 0 2px 0 rgba(255, 215, 0, 0.2); }
	50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.5), 0 0 60px rgba(255, 165, 0, 0.2), inset 0 2px 0 rgba(255, 215, 0, 0.4); }
}

@keyframes treasureChestGlow {
	0%, 100% { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6), inset 0 2px 0 rgba(255, 215, 0, 0.2); }
	50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.5), 0 0 60px rgba(255, 165, 0, 0.2), inset 0 2px 0 rgba(255, 215, 0, 0.4); }
}

@-webkit-keyframes treasureGemPulse {
	0%, 100% { -webkit-transform: rotate(45deg) scale(1); transform: rotate(45deg) scale(1); }
	50% { -webkit-transform: rotate(45deg) scale(1.3); transform: rotate(45deg) scale(1.3); }
}

@keyframes treasureGemPulse {
	0%, 100% { -webkit-transform: rotate(45deg) scale(1); transform: rotate(45deg) scale(1); }
	50% { -webkit-transform: rotate(45deg) scale(1.3); transform: rotate(45deg) scale(1.3); }
}

@-webkit-keyframes treasureGlowPulse {
	0%, 100% { opacity: 0.7; }
	50% { opacity: 1; }
}

@keyframes treasureGlowPulse {
	0%, 100% { opacity: 0.7; }
	50% { opacity: 1; }
}

/* ========== END TREASURE GAME ========== */

/* ========== SLOT GAME ========== */

/* --- dialog --- */
.slot-dialog .big-dialog-inner {
	width: 400px;
	max-width: 96%;
	background: linear-gradient(180deg, #0c1829 0%, #060d18 100%);
	border: 1px solid rgba(255, 215, 0, 0.15);
	box-shadow: 0 8px 50px rgba(0, 0, 0, 0.6);
}

.slot-dialog .big-dialog-header {
	border-bottom: 1px solid rgba(255, 215, 0, 0.12);
	background: linear-gradient(180deg, rgba(255, 215, 0, 0.05) 0%, transparent 100%);
}

.slot-dialog .big-dialog-title {
	color: #ffd700;
	text-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

.slot-dialog .big-dialog-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background-color: rgba(0, 0, 0, 0.2);
}

.slot-dialog .big-dialog-button[button-style="light"] {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: rgba(255, 255, 255, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* --- scene --- */
.slot-scene {
	padding: 16px 12px;
	text-align: center;
}

/* --- machine body --- */
.slot-machine {
	background: linear-gradient(180deg, #1a2540 0%, #0f1a2e 50%, #0a1020 100%);
	border: 2px solid rgba(255, 215, 0, 0.25);
	padding: 16px 12px;
	position: relative;
	overflow: hidden;

	-webkit-border-radius: 16px;
	border-radius: 16px;

	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 215, 0, 0.1);
}

.slot-machine.win-state {
	border-color: rgba(255, 215, 0, 0.6);
}

.slot-machine.big-win-state {
	-webkit-animation: slotMachineGlow 0.8s ease 3;
	animation: slotMachineGlow 0.8s ease 3;
}

/* --- top bar --- */
.slot-top-bar {
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: #ffd700;
	letter-spacing: 2px;
	margin-bottom: 14px;
	text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

.slot-top-bar span {
	font-size: 10px;
	vertical-align: middle;
}

/* --- reel display --- */
.slot-display {
	position: relative;
	background: #0a0f1a;
	padding: 10px 8px;
	border: 2px solid rgba(255, 215, 0, 0.15);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.5);
}

.slot-reel-frame {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 8px;
}

/* --- single reel --- */
.slot-reel {
	width: 90px;
	height: 90px;
	overflow: hidden;
	position: relative;

	background: linear-gradient(180deg, #111827 0%, #0d1420 100%);
	border: 2px solid rgba(255, 215, 0, 0.1);

	-webkit-border-radius: 10px;
	border-radius: 10px;

	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.6);
}

.slot-reel.spinning {
	-webkit-animation: slotReelBlur 0.1s linear infinite;
	animation: slotReelBlur 0.1s linear infinite;
}

.slot-reel.landing .slot-sym {
	-webkit-animation: slotLandBounce 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotLandBounce 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* --- symbol --- */
.slot-sym {
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 36px;
	font-weight: bold;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
	-webkit-user-select: none;
	user-select: none;
}

.slot-sym-joker {
	color: #ffd700;
	background: radial-gradient(circle, rgba(255, 215, 0, 0.1) 0%, transparent 70%);
	font-size: 42px;
}

.slot-sym-ace {
	color: #5dade2;
	background: radial-gradient(circle, rgba(93, 173, 226, 0.08) 0%, transparent 70%);
}

.slot-sym-king {
	color: #2ecc71;
	background: radial-gradient(circle, rgba(46, 204, 113, 0.08) 0%, transparent 70%);
}

.slot-sym-queen {
	color: #e056a0;
	background: radial-gradient(circle, rgba(224, 86, 160, 0.08) 0%, transparent 70%);
}

/* --- win line --- */
.slot-win-line {
	position: absolute;
	top: 50%;
	left: 8px;
	right: 8px;
	height: 3px;
	margin-top: -1px;
	background: #ffd700;
	opacity: 0;
	pointer-events: none;
	z-index: 5;

	-webkit-border-radius: 2px;
	border-radius: 2px;
}

.slot-win-line.active {
	opacity: 1;
	box-shadow: 0 0 8px rgba(255, 215, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.4);

	-webkit-animation: slotWinLineFlash 0.6s ease 4;
	animation: slotWinLineFlash 0.6s ease 4;
}

/* --- spin button --- */
.slot-spin-area {
	margin-top: 14px;
}

.slot-spin-btn {
	display: inline-block;
	padding: 10px 48px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 3px;
	color: #0f1923;
	background: linear-gradient(180deg, #ffd700 0%, #daa520 100%);
	border: 2px solid #b8860b;
	cursor: pointer;

	-webkit-border-radius: 25px;
	border-radius: 25px;

	box-shadow: 0 4px 16px rgba(255, 215, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);

	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;

	-webkit-user-select: none;
	user-select: none;
}

.slot-spin-btn:hover:not(.disabled) {
	-webkit-transform: translateY(-1px);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4);
}

.slot-spin-btn:active:not(.disabled) {
	-webkit-transform: translateY(1px);
	transform: translateY(1px);
}

.slot-spin-btn.disabled {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

/* --- result text --- */
.slot-result-text {
	margin-top: 12px;
	min-height: 24px;
	text-align: center;
}

.slot-result-big {
	display: inline-block;
	font-size: 15px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 12px rgba(255, 215, 0, 0.5);
	padding: 4px 14px;
	background: rgba(255, 215, 0, 0.08);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.slot-result-win {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #5dade2;
	padding: 4px 14px;
	background: rgba(93, 173, 226, 0.08);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.slot-result-special {
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	color: #2ecc71;
	padding: 4px 14px;
	background: rgba(46, 204, 113, 0.08);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* --- stats --- */
.slot-stats {
	margin-top: 12px;
}

.slot-stats-card {
	background: rgba(255, 215, 0, 0.04);
	padding: 12px 20px;
	border-top: 2px solid rgba(255, 215, 0, 0.2);
	text-align: center;

	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.slot-total-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.4);
	margin-bottom: 4px;
}

.slot-total-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.slot-total-row .slot-coin-img {
	width: 22px;
	height: 22px;
	margin-right: 8px;

	-webkit-filter: drop-shadow(0 0 4px rgba(255, 200, 0, 0.4));
	filter: drop-shadow(0 0 4px rgba(255, 200, 0, 0.4));
}

.slot-total-row .slot-total {
	font-size: 22px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
}

.slot-last-win {
	text-align: center;
	margin-top: 6px;
	min-height: 18px;
}

.slot-last-win span {
	display: inline-block;
	font-size: 13px;
	color: #34d058;
	background: rgba(52, 208, 88, 0.1);
	padding: 2px 10px;

	-webkit-border-radius: 10px;
	border-radius: 10px;

	-webkit-animation: doorPrizePop 0.3s ease both;
	animation: doorPrizePop 0.3s ease both;
}

/* --- keyframes --- */
@-webkit-keyframes slotReelBlur {
	0%   { -webkit-filter: blur(0); filter: blur(0); }
	50%  { -webkit-filter: blur(2px); filter: blur(2px); }
	100% { -webkit-filter: blur(0); filter: blur(0); }
}

@keyframes slotReelBlur {
	0%   { -webkit-filter: blur(0); filter: blur(0); }
	50%  { -webkit-filter: blur(2px); filter: blur(2px); }
	100% { -webkit-filter: blur(0); filter: blur(0); }
}

@-webkit-keyframes slotLandBounce {
	0%   { -webkit-transform: translateY(-30px) scale(0.8); transform: translateY(-30px) scale(0.8); opacity: 0.5; }
	60%  { -webkit-transform: translateY(4px) scale(1.05); transform: translateY(4px) scale(1.05); opacity: 1; }
	100% { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes slotLandBounce {
	0%   { -webkit-transform: translateY(-30px) scale(0.8); transform: translateY(-30px) scale(0.8); opacity: 0.5; }
	60%  { -webkit-transform: translateY(4px) scale(1.05); transform: translateY(4px) scale(1.05); opacity: 1; }
	100% { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; }
}

@-webkit-keyframes slotWinLineFlash {
	0%, 100% { opacity: 1; box-shadow: 0 0 8px rgba(255, 215, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.4); }
	50% { opacity: 0.3; box-shadow: 0 0 4px rgba(255, 215, 0, 0.4); }
}

@keyframes slotWinLineFlash {
	0%, 100% { opacity: 1; box-shadow: 0 0 8px rgba(255, 215, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.4); }
	50% { opacity: 0.3; box-shadow: 0 0 4px rgba(255, 215, 0, 0.4); }
}

@-webkit-keyframes slotMachineGlow {
	0%, 100% { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 215, 0, 0.1); }
	50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.4), 0 0 60px rgba(255, 215, 0, 0.15), inset 0 1px 0 rgba(255, 215, 0, 0.2); }
}

@keyframes slotMachineGlow {
	0%, 100% { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 215, 0, 0.1); }
	50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.4), 0 0 60px rgba(255, 215, 0, 0.15), inset 0 1px 0 rgba(255, 215, 0, 0.2); }
}

@-webkit-keyframes slotResultPop {
	0% { -webkit-transform: scale(0) translateY(10px); transform: scale(0) translateY(10px); opacity: 0; }
	100% { -webkit-transform: scale(1) translateY(0); transform: scale(1) translateY(0); opacity: 1; }
}

@keyframes slotResultPop {
	0% { -webkit-transform: scale(0) translateY(10px); transform: scale(0) translateY(10px); opacity: 0; }
	100% { -webkit-transform: scale(1) translateY(0); transform: scale(1) translateY(0); opacity: 1; }
}

/* ========== END SLOT GAME ========== */

/* ========== SLOT 2 GAME (5x3 Reel King) ========== */

.s2-dialog .big-dialog-inner {
	width: 440px;
	max-width: 97%;
	background: linear-gradient(180deg, #0a1628 0%, #050c18 100%);
	border: 1px solid rgba(255, 215, 0, 0.2);
	box-shadow: 0 8px 50px rgba(0, 0, 0, 0.6);
}

.s2-dialog .big-dialog-header { border-bottom: 1px solid rgba(255, 215, 0, 0.1); background: linear-gradient(180deg, rgba(255, 215, 0, 0.04) 0%, transparent 100%); }
.s2-dialog .big-dialog-title { color: #ffd700; text-shadow: 0 0 10px rgba(255, 215, 0, 0.3); }
.s2-dialog .big-dialog-footer { border-top: 1px solid rgba(255, 255, 255, 0.05); background: rgba(0, 0, 0, 0.2); }
.s2-dialog .big-dialog-button[button-style="light"] { background-color: rgba(255, 255, 255, 0.08) !important; color: rgba(255, 255, 255, 0.7) !important; border: 1px solid rgba(255, 255, 255, 0.1); }

.s2-scene { padding: 12px 8px; text-align: center; }

/* --- machine frame --- */
.s2-machine {
	background: linear-gradient(180deg, #1c2d4a 0%, #111d34 50%, #0b1526 100%);
	border: 3px solid #b8860b;
	padding: 10px 6px 14px;
	position: relative;

	-webkit-border-radius: 14px;
	border-radius: 14px;

	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 215, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.3);
}

.s2-machine::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	right: 3px;
	bottom: 3px;
	border: 1px solid rgba(255, 215, 0, 0.06);

	-webkit-border-radius: 11px;
	border-radius: 11px;

	pointer-events: none;
}

.s2-machine.s2-win-state { border-color: #ffd700; }
.s2-machine.s2-big-win-state { -webkit-animation: s2MachineGlow 0.7s ease 4; animation: s2MachineGlow 0.7s ease 4; }

/* --- header --- */
.s2-header {
	font-size: 13px;
	font-weight: bold;
	color: #ffd700;
	letter-spacing: 2px;
	margin-bottom: 10px;
	text-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
}

.s2-header span { font-size: 10px; vertical-align: middle; }

/* --- board (3 rows x 5 cols) --- */
.s2-board {
	background: #080e1a;
	border: 2px solid rgba(255, 215, 0, 0.12);
	padding: 6px 4px;

	-webkit-border-radius: 10px;
	border-radius: 10px;

	box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.6);
}

/* --- row --- */
.s2-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 4px;
	margin-bottom: 4px;
	position: relative;
	padding: 0 18px;
}

.s2-row:last-child { margin-bottom: 0; }

.s2-row.s2-row-win {
	-webkit-animation: s2RowFlash 0.5s ease 4;
	animation: s2RowFlash 0.5s ease 4;
}

.s2-row.s2-row-win::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 18px;
	right: 18px;
	height: 2px;
	margin-top: -1px;
	background: #ffd700;
	z-index: 5;
	box-shadow: 0 0 8px rgba(255, 215, 0, 0.8), 0 0 16px rgba(255, 215, 0, 0.4);

	-webkit-animation: s2LineFlash 0.5s ease 4;
	animation: s2LineFlash 0.5s ease 4;
}

/* --- line markers --- */
.s2-line-marker {
	position: absolute;
	width: 14px;
	height: 14px;
	font-size: 8px;
	font-weight: bold;
	color: #0a1628;
	background: linear-gradient(180deg, #ffd700, #b8860b);
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-border-radius: 3px;
	border-radius: 3px;

	z-index: 3;
}

.s2-line-marker-l { left: 0; }
.s2-line-marker-r { right: 0; }

.s2-row.s2-row-win .s2-line-marker {
	box-shadow: 0 0 6px rgba(255, 215, 0, 0.8);
}

/* --- cell --- */
.s2-cell {
	width: 60px;
	height: 56px;
	overflow: hidden;
	background: linear-gradient(180deg, #141e30 0%, #0e1726 100%);
	border: 1px solid rgba(255, 255, 255, 0.06);

	-webkit-border-radius: 6px;
	border-radius: 6px;

	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
}

.s2-cell.s2-spinning {
	-webkit-animation: s2CellBlur 0.08s linear infinite;
	animation: s2CellBlur 0.08s linear infinite;
}

.s2-cell.s2-landing .s2-sym {
	-webkit-animation: s2CellLand 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: s2CellLand 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.s2-row.s2-row-win .s2-cell {
	border-color: rgba(255, 215, 0, 0.5);
	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4), 0 0 8px rgba(255, 215, 0, 0.15);
}

/* --- symbol --- */
.s2-sym {
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 26px;
	font-weight: bold;
	text-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
	-webkit-user-select: none;
	user-select: none;
}

.s2-sym-jackpot { font-size: 30px; -webkit-filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.4)); filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.4)); }
.s2-sym-cherry  { font-size: 28px; }
.s2-sym-plum    { font-size: 28px; }
.s2-sym-ten     { color: #e74c3c; font-size: 24px; text-shadow: 0 0 6px rgba(231, 76, 60, 0.3), 0 2px 3px rgba(0, 0, 0, 0.5); }
.s2-sym-jack    { color: #3498db; font-size: 28px; text-shadow: 0 0 6px rgba(52, 152, 219, 0.3), 0 2px 3px rgba(0, 0, 0, 0.5); }
.s2-sym-king    { color: #2ecc71; font-size: 28px; text-shadow: 0 0 6px rgba(46, 204, 113, 0.3), 0 2px 3px rgba(0, 0, 0, 0.5); }
.s2-sym-queen   { color: #f1c40f; font-size: 28px; text-shadow: 0 0 6px rgba(241, 196, 15, 0.3), 0 2px 3px rgba(0, 0, 0, 0.5); }

/* --- X close button (header right) --- */
.s2-close-x {
	position: absolute;
	right: 10px;
	top: 50%;
	width: 26px;
	height: 26px;
	margin-top: -13px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.4);
	background: rgba(255, 255, 255, 0.06);
	cursor: pointer;
	z-index: 10;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.s2-close-x:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.15);
}

/* --- footer SPIN button --- */
.s2-dialog .big-dialog-button {
	background: linear-gradient(180deg, #ffd700 0%, #daa520 100%) !important;
	color: #0f1923 !important;
	font-weight: bold;
	letter-spacing: 3px;
	font-size: 15px;
	border: 1px solid #b8860b !important;
	box-shadow: 0 3px 14px rgba(255, 215, 0, 0.3);
}

.s2-dialog .big-dialog-button:hover {
	opacity: 0.9;
}

.s2-dialog .big-dialog-button.disabled {
	opacity: 0.35;
	pointer-events: none;
}

/* --- result text --- */
.s2-result-text { margin-top: 10px; min-height: 22px; text-align: center; }

.s2-res-big {
	display: inline-block;
	font-size: 15px;
	font-weight: bold;
	color: #ffd700;
	text-shadow: 0 0 12px rgba(255, 215, 0, 0.5);
	padding: 4px 14px;
	background: rgba(255, 215, 0, 0.08);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.s2-res-win {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #e74c3c;
	padding: 4px 14px;
	background: rgba(231, 76, 60, 0.08);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.s2-res-special {
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	color: #2ecc71;
	padding: 4px 14px;
	background: rgba(46, 204, 113, 0.08);

	-webkit-border-radius: 12px;
	border-radius: 12px;

	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
	animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* --- stats --- */
.s2-stats { margin-top: 10px; }

.s2-stats-card {
	background: rgba(255, 215, 0, 0.03);
	padding: 10px 18px;
	border-top: 2px solid rgba(255, 215, 0, 0.18);
	text-align: center;

	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.s2-total-label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: rgba(255, 255, 255, 0.35); margin-bottom: 4px; }
.s2-total-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.s2-total-row .s2-coin-img { width: 20px; height: 20px; margin-right: 6px; -webkit-filter: drop-shadow(0 0 4px rgba(255, 200, 0, 0.4)); filter: drop-shadow(0 0 4px rgba(255, 200, 0, 0.4)); }
.s2-total-row .s2-total { font-size: 20px; font-weight: bold; color: #ffd700; text-shadow: 0 0 8px rgba(255, 215, 0, 0.3); }
.s2-last-win { text-align: center; margin-top: 4px; min-height: 18px; }
.s2-last-win span { display: inline-block; font-size: 12px; color: #34d058; background: rgba(52, 208, 88, 0.1); padding: 2px 8px; -webkit-border-radius: 8px; border-radius: 8px; -webkit-animation: doorPrizePop 0.3s ease both; animation: doorPrizePop 0.3s ease both; }

/* --- keyframes --- */
@-webkit-keyframes s2CellBlur {
	0%   { -webkit-filter: blur(0); filter: blur(0); }
	50%  { -webkit-filter: blur(2px); filter: blur(2px); }
	100% { -webkit-filter: blur(0); filter: blur(0); }
}

@keyframes s2CellBlur {
	0%   { -webkit-filter: blur(0); filter: blur(0); }
	50%  { -webkit-filter: blur(2px); filter: blur(2px); }
	100% { -webkit-filter: blur(0); filter: blur(0); }
}

@-webkit-keyframes s2CellLand {
	0%   { -webkit-transform: translateY(-24px) scale(0.85); transform: translateY(-24px) scale(0.85); opacity: 0.4; }
	60%  { -webkit-transform: translateY(3px) scale(1.04); transform: translateY(3px) scale(1.04); opacity: 1; }
	100% { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes s2CellLand {
	0%   { -webkit-transform: translateY(-24px) scale(0.85); transform: translateY(-24px) scale(0.85); opacity: 0.4; }
	60%  { -webkit-transform: translateY(3px) scale(1.04); transform: translateY(3px) scale(1.04); opacity: 1; }
	100% { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; }
}

@-webkit-keyframes s2RowFlash {
	0%, 100% { background: transparent; }
	50% { background: rgba(255, 215, 0, 0.08); }
}

@keyframes s2RowFlash {
	0%, 100% { background: transparent; }
	50% { background: rgba(255, 215, 0, 0.08); }
}

@-webkit-keyframes s2LineFlash {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

@keyframes s2LineFlash {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

@-webkit-keyframes s2MachineGlow {
	0%, 100% { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 215, 0, 0.15); }
	50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.4), 0 0 60px rgba(255, 215, 0, 0.15), inset 0 1px 0 rgba(255, 215, 0, 0.25); }
}

@keyframes s2MachineGlow {
	0%, 100% { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 215, 0, 0.15); }
	50% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.4), 0 0 60px rgba(255, 215, 0, 0.15), inset 0 1px 0 rgba(255, 215, 0, 0.25); }
}

/* ========== END SLOT 2 GAME ========== */

/* ========== FRUIT GAME (Sunny Fruits 5x3) ========== */

.fr-dialog .big-dialog-inner {
	width: 440px;
	max-width: 97%;
	background: linear-gradient(180deg, #6b1a1a 0%, #3d0c0c 50%, #1a0505 100%);
	border: 2px solid #d4a017;
	box-shadow: 0 8px 50px rgba(180, 50, 0, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.3);
}

.fr-dialog .big-dialog-header { border-bottom: 1px solid rgba(255, 215, 0, 0.15); background: linear-gradient(180deg, rgba(255, 150, 0, 0.1) 0%, transparent 100%); position: relative; }
.fr-dialog .big-dialog-title { color: #ffd700; text-shadow: 0 0 10px rgba(255, 150, 0, 0.4); }
.fr-dialog .big-dialog-footer { border-top: 1px solid rgba(255, 215, 0, 0.1); background: rgba(0, 0, 0, 0.25); }

/* footer SPIN button */
.fr-dialog .big-dialog-button {
	background: linear-gradient(180deg, #ff6b00 0%, #cc5500 100%) !important;
	color: #fff !important;
	font-weight: bold;
	letter-spacing: 3px;
	font-size: 15px;
	border: 2px solid #ff8c00 !important;
	box-shadow: 0 3px 14px rgba(255, 107, 0, 0.4);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.fr-dialog .big-dialog-button:hover { opacity: 0.9; }
.fr-dialog .big-dialog-button.disabled { opacity: 0.35; pointer-events: none; }

/* X close button (header right) */
.fr-close-x {
	position: absolute;
	right: 10px;
	top: 50%;
	width: 26px;
	height: 26px;
	margin-top: -13px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.08);
	cursor: pointer;
	z-index: 10;

	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.fr-close-x:hover { color: #fff; background: rgba(255, 255, 255, 0.2); }

.fr-scene { padding: 12px 8px; text-align: center; }

/* --- machine frame (warm golden) --- */
.fr-machine {
	background: linear-gradient(180deg, #2a1a0a 0%, #1a1005 50%, #0f0a03 100%);
	border: 3px solid #d4a017;
	padding: 10px 6px 14px;
	position: relative;

	-webkit-border-radius: 14px;
	border-radius: 14px;

	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 200, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.3);
}

.fr-machine::before {
	content: '';
	position: absolute;
	top: 3px; left: 3px; right: 3px; bottom: 3px;
	border: 1px solid rgba(255, 200, 0, 0.08);
	pointer-events: none;

	-webkit-border-radius: 11px;
	border-radius: 11px;
}

.fr-machine.fr-win-state { border-color: #ff8c00; }
.fr-machine.fr-big-win-state { -webkit-animation: frMachineGlow 0.7s ease 4; animation: frMachineGlow 0.7s ease 4; }

/* header */
.fr-header {
	font-size: 14px;
	font-weight: bold;
	color: #ff6b00;
	letter-spacing: 1px;
	margin-bottom: 10px;
	text-shadow: 0 0 10px rgba(255, 107, 0, 0.4);
}

.fr-header span { color: #ffd700; }

/* board */
.fr-board {
	background: linear-gradient(180deg, #1a1040 0%, #0d0825 100%);
	border: 2px solid rgba(255, 200, 0, 0.15);
	padding: 6px 4px;

	-webkit-border-radius: 10px;
	border-radius: 10px;

	box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.6);
}

/* row */
.fr-row {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 4px;
	margin-bottom: 4px;
	position: relative;
	padding: 0 18px;
}

.fr-row:last-child { margin-bottom: 0; }

.fr-row.fr-row-win {
	-webkit-animation: frRowFlash 0.5s ease 4;
	animation: frRowFlash 0.5s ease 4;
}

.fr-row.fr-row-win::before {
	content: '';
	position: absolute;
	top: 50%; left: 18px; right: 18px;
	height: 2px;
	margin-top: -1px;
	background: #ff6b00;
	z-index: 5;
	box-shadow: 0 0 8px rgba(255, 107, 0, 0.8), 0 0 16px rgba(255, 107, 0, 0.4);

	-webkit-animation: frLineFlash 0.5s ease 4;
	animation: frLineFlash 0.5s ease 4;
}

/* line markers */
.fr-line-marker {
	position: absolute;
	width: 14px; height: 14px;
	font-size: 8px; font-weight: bold;
	color: #1a0505;
	background: linear-gradient(180deg, #ff8c00, #cc5500);
	display: -webkit-flex; display: flex;
	-webkit-align-items: center; align-items: center;
	-webkit-justify-content: center; justify-content: center;

	-webkit-border-radius: 3px;
	border-radius: 3px;
	z-index: 3;
}

.fr-line-marker-l { left: 0; }
.fr-line-marker-r { right: 0; }
.fr-row.fr-row-win .fr-line-marker { box-shadow: 0 0 6px rgba(255, 107, 0, 0.8); }

/* cell */
.fr-cell {
	width: 60px; height: 56px;
	overflow: hidden;
	background: linear-gradient(180deg, #1a1040 0%, #100830 100%);
	border: 1px solid rgba(255, 255, 255, 0.06);

	-webkit-border-radius: 6px;
	border-radius: 6px;

	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4);
}

.fr-cell.fr-spinning { -webkit-animation: frCellBlur 0.08s linear infinite; animation: frCellBlur 0.08s linear infinite; }

.fr-cell.fr-landing .fr-sym { -webkit-animation: frCellLand 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both; animation: frCellLand 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both; }

.fr-row.fr-row-win .fr-cell {
	border-color: rgba(255, 140, 0, 0.5);
	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4), 0 0 8px rgba(255, 107, 0, 0.15);
}

/* symbol */
.fr-sym {
	width: 100%; height: 100%;
	display: -webkit-flex; display: flex;
	-webkit-align-items: center; align-items: center;
	-webkit-justify-content: center; justify-content: center;
	font-size: 28px;
	-webkit-user-select: none; user-select: none;
}

.fr-sym-seven  { font-size: 30px; -webkit-filter: drop-shadow(0 0 6px rgba(255, 140, 0, 0.5)); filter: drop-shadow(0 0 6px rgba(255, 140, 0, 0.5)); }
.fr-sym-lemon  { font-size: 28px; }
.fr-sym-watermelon { font-size: 28px; }
.fr-sym-pear   { font-size: 28px; }
.fr-sym-orange { font-size: 28px; }
.fr-sym-pepper { font-size: 28px; }
.fr-sym-cherry { font-size: 28px; }
.fr-sym-plum   { font-size: 28px; }

/* result text */
.fr-result-text { margin-top: 10px; min-height: 22px; text-align: center; }

.fr-res-big {
	display: inline-block; font-size: 15px; font-weight: bold;
	color: #ffd700; text-shadow: 0 0 12px rgba(255, 215, 0, 0.5);
	padding: 4px 14px; background: rgba(255, 215, 0, 0.1);

	-webkit-border-radius: 12px; border-radius: 12px;
	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both; animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.fr-res-win {
	display: inline-block; font-size: 14px; font-weight: bold;
	color: #ff6b00; padding: 4px 14px; background: rgba(255, 107, 0, 0.1);

	-webkit-border-radius: 12px; border-radius: 12px;
	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both; animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.fr-res-special {
	display: inline-block; font-size: 13px; font-weight: bold;
	color: #2ecc71; padding: 4px 14px; background: rgba(46, 204, 113, 0.1);

	-webkit-border-radius: 12px; border-radius: 12px;
	-webkit-animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both; animation: slotResultPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* stats */
.fr-stats { margin-top: 10px; }

.fr-stats-card {
	background: rgba(255, 150, 0, 0.04); padding: 10px 18px;
	border-top: 2px solid rgba(255, 140, 0, 0.2); text-align: center;

	-webkit-border-radius: 10px; border-radius: 10px;
}

.fr-total-label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: rgba(255, 255, 255, 0.35); margin-bottom: 4px; }
.fr-total-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.fr-total-row .fr-coin-img { width: 20px; height: 20px; margin-right: 6px; -webkit-filter: drop-shadow(0 0 4px rgba(255, 200, 0, 0.4)); filter: drop-shadow(0 0 4px rgba(255, 200, 0, 0.4)); }
.fr-total-row .fr-total { font-size: 20px; font-weight: bold; color: #ffd700; text-shadow: 0 0 8px rgba(255, 215, 0, 0.3); }
.fr-last-win { text-align: center; margin-top: 4px; min-height: 18px; }
.fr-last-win span { display: inline-block; font-size: 12px; color: #34d058; background: rgba(52, 208, 88, 0.1); padding: 2px 8px; -webkit-border-radius: 8px; border-radius: 8px; -webkit-animation: doorPrizePop 0.3s ease both; animation: doorPrizePop 0.3s ease both; }

/* keyframes */
@-webkit-keyframes frCellBlur {
	0%   { -webkit-filter: blur(0); filter: blur(0); }
	50%  { -webkit-filter: blur(2px); filter: blur(2px); }
	100% { -webkit-filter: blur(0); filter: blur(0); }
}

@keyframes frCellBlur {
	0%   { -webkit-filter: blur(0); filter: blur(0); }
	50%  { -webkit-filter: blur(2px); filter: blur(2px); }
	100% { -webkit-filter: blur(0); filter: blur(0); }
}

@-webkit-keyframes frCellLand {
	0%   { -webkit-transform: translateY(-24px) scale(0.85); transform: translateY(-24px) scale(0.85); opacity: 0.4; }
	60%  { -webkit-transform: translateY(3px) scale(1.04); transform: translateY(3px) scale(1.04); opacity: 1; }
	100% { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes frCellLand {
	0%   { -webkit-transform: translateY(-24px) scale(0.85); transform: translateY(-24px) scale(0.85); opacity: 0.4; }
	60%  { -webkit-transform: translateY(3px) scale(1.04); transform: translateY(3px) scale(1.04); opacity: 1; }
	100% { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; }
}

@-webkit-keyframes frRowFlash {
	0%, 100% { background: transparent; }
	50% { background: rgba(255, 107, 0, 0.1); }
}

@keyframes frRowFlash {
	0%, 100% { background: transparent; }
	50% { background: rgba(255, 107, 0, 0.1); }
}

@-webkit-keyframes frLineFlash {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

@keyframes frLineFlash {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

@-webkit-keyframes frMachineGlow {
	0%, 100% { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 200, 0, 0.15); }
	50% { box-shadow: 0 0 30px rgba(255, 107, 0, 0.5), 0 0 60px rgba(255, 140, 0, 0.2), inset 0 1px 0 rgba(255, 200, 0, 0.3); }
}

@keyframes frMachineGlow {
	0%, 100% { box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 200, 0, 0.15); }
	50% { box-shadow: 0 0 30px rgba(255, 107, 0, 0.5), 0 0 60px rgba(255, 140, 0, 0.2), inset 0 1px 0 rgba(255, 200, 0, 0.3); }
}

/* ========== END FRUIT GAME ========== */