
/*
//=====================================================================================
*/

.poker_page .field_box input:read-only
{
	color: var(--text_dim);
}

.poker_page .field_chip:disabled
{
	opacity: 0.45;
	cursor: default;
}

.poker_hand_box output
{
	overflow: hidden;
	color: var(--text);
	font: 600 15px var(--font_body);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.poker_hand_box.is_paying output
{
	color: #fde68a;
}

.poker_hand_icon
{
	flex: none;
	width: 17px;
	height: 17px;
	color: var(--violet_soft);
}

.poker_hand_box.is_paying .poker_hand_icon
{
	color: var(--gold);
}

.poker_chips
{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
}

.poker_chip
{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 52px;
	padding: 0;
	border-radius: 10px;
	color: var(--text_mute);
	font: 700 16px/1 var(--font_game);
	background: var(--surface);
	border: 1px solid var(--line);
	transition: background 0.2s, border-color 0.2s, color 0.2s, translate 0.12s var(--ease);
}

.poker_chip .chip_suit
{
	width: 13px;
	height: 13px;
}

.poker_chip.is_red
{
	color: #fda4af;
}

.poker_chip.is_dark
{
	color: #e4ddff;
}

.poker_chip .chip_held
{
	position: absolute;
	left: 50%;
	bottom: -7px;
	padding: 1px 5px;
	border-radius: 4px;
	color: #2b1606;
	font: 800 8.5px/1.25 var(--font_game);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffe9a6, #f5c451 60%, #d1921f);
	opacity: 0;
	transform: translateX(-50%) scale(0.7);
	transition: opacity 0.18s, transform 0.18s var(--ease);
}

.poker_chip:not(:disabled):hover
{
	color: #fff;
	border-color: rgba(167, 139, 250, 0.36);
	background: var(--surface_raise);
}

.poker_chip[aria-pressed="true"]
{
	border-color: rgba(245, 196, 81, 0.7);
	background: rgba(245, 196, 81, 0.1);
	translate: 0 -2px;
}

.poker_chip[aria-pressed="true"] .chip_held
{
	opacity: 1;
	transform: translateX(-50%) scale(1);
}

.poker_chip:disabled
{
	cursor: default;
}

.poker_chip.is_empty
{
	color: var(--text_mute);
	font-size: 14px;
	opacity: 0.6;
}

/*
//=====================================================================================
*/

.poker_stage
{
	gap: 12px;
}

.poker_sparks
{
	z-index: 7;
}

.poker_scene
{
	position: relative;
	flex: 1 1 0;
	min-height: 180px;
}

.poker_rig
{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 880px;
	height: 676px;
	transform: translate(-50%, -50%) scale(var(--poker_scale, 1));
}

.poker_floor
{
	position: absolute;
	left: 50px;
	right: 50px;
	top: 640px;
	height: 34px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(2, 1, 8, 0.7), rgba(2, 1, 8, 0));
}

/*
//=====================================================================================
*/

.poker_topper
{
	position: absolute;
	left: 110px;
	top: 52px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 448px;
	height: 92px;
	padding-bottom: 8px;
	border-radius: 34px 34px 8px 8px;
	background: radial-gradient(ellipse 70% 80% at 50% 0%, rgba(255, 255, 255, 0.08), transparent 70%), repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.02) 0 2px, transparent 2px 5px), linear-gradient(180deg, #2c1f5e 0%, #1d1438 70%, #170f30 100%);
	box-shadow: inset 0 0 0 1.5px rgba(245, 196, 81, 0.45), inset 0 0 0 9px #1d1438, inset 0 0 0 10px rgba(245, 196, 81, 0.18), inset 0 -14px 24px rgba(0, 0, 0, 0.35), 0 0 0 10px #0f0a22, 0 0 0 11px rgba(245, 196, 81, 0.12), 0 -10px 30px rgba(0, 0, 0, 0.35);
}

.poker_title
{
	padding-left: 0.42em;
	font: 700 33px/1 var(--font_game);
	letter-spacing: 0.42em;
	white-space: nowrap;
	background: linear-gradient(180deg, #fff3c4 0%, #f5c451 52%, #b7791f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 2px 0 rgba(10, 5, 25, 0.85));
}

.poker_subtitle
{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-left: 0.5em;
	color: rgba(245, 196, 81, 0.62);
	font: 700 10.5px/1 var(--font_game);
	letter-spacing: 0.5em;
	text-transform: uppercase;
	white-space: nowrap;
}

.topper_suit
{
	width: 11px;
	height: 11px;
	margin-right: 0.5em;
	color: rgba(245, 196, 81, 0.62);
}

.topper_suit.topper_red
{
	margin-right: 0;
	color: rgba(251, 113, 133, 0.75);
}

/*
//=====================================================================================
*/

.poker_cabinet
{
	position: absolute;
	left: 30px;
	top: 146px;
	z-index: 2;
	width: 820px;
	height: 508px;
	border-radius: 30px;
	background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(255, 255, 255, 0.06), transparent 70%), repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.018) 0 2px, transparent 2px 5px), linear-gradient(180deg, #281c52 0%, #1d1438 38%, #170f30 100%);
	box-shadow: inset 0 0 0 1.5px rgba(245, 196, 81, 0.42), inset 0 3px 0 1.5px rgba(255, 255, 255, 0.05), inset 0 -10px 30px rgba(0, 0, 0, 0.35), 0 0 0 12px #0f0a22, 0 0 0 13px rgba(245, 196, 81, 0.14), 0 44px 70px rgba(0, 0, 0, 0.6);
}

.poker_cabinet::before
{
	content: "";
	position: absolute;
	inset: 8px;
	border-radius: 23px;
	border: 1px solid rgba(245, 196, 81, 0.13);
	pointer-events: none;
}

.poker_cabinet::after
{
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(circle at 15px 15px, #f5d27a 0 2px, #8a5310 2.6px, transparent 3.2px), radial-gradient(circle at calc(100% - 15px) 15px, #f5d27a 0 2px, #8a5310 2.6px, transparent 3.2px), radial-gradient(circle at 15px calc(100% - 15px), #f5d27a 0 2px, #8a5310 2.6px, transparent 3.2px), radial-gradient(circle at calc(100% - 15px) calc(100% - 15px), #f5d27a 0 2px, #8a5310 2.6px, transparent 3.2px);
}

/*
//=====================================================================================
*/

.poker_glass
{
	position: absolute;
	left: 28px;
	top: 20px;
	width: 764px;
	height: 112px;
	overflow: hidden;
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(5, 3, 13, 0.82), rgba(12, 8, 30, 0.7));
	box-shadow: inset 0 3px 14px rgba(0, 0, 0, 0.7), inset 0 0 0 1.5px rgba(245, 196, 81, 0.38), 0 1px 0 rgba(255, 255, 255, 0.06);
}

.poker_glass::after
{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(112deg, rgba(255, 255, 255, 0.055) 0 18%, transparent 18.3% 74%, rgba(255, 255, 255, 0.03) 74.3% 80%, transparent 80.3%);
}

.poker_pays
{
	position: absolute;
	inset: 10px 16px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(5, minmax(0, 1fr));
	grid-auto-flow: column;
	gap: 1px 30px;
}

.poker_pays[hidden],
.poker_pays_wait[hidden]
{
	display: none;
}

.pay_row
{
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 0 10px;
	overflow: hidden;
	border-radius: 6px;
	color: rgba(245, 196, 81, 0.8);
	transition: background 0.3s, box-shadow 0.3s, color 0.3s;
}

.pay_name
{
	font: 700 12.5px/1 var(--font_game);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pay_dots
{
	flex: 1;
	min-width: 12px;
	height: 2px;
	margin-top: 6px;
	background: radial-gradient(circle, rgba(245, 196, 81, 0.38) 0 1px, transparent 1.4px) 0 0 / 5px 2px repeat-x;
}

.pay_value
{
	min-width: 44px;
	color: #f5c451;
	font: 700 15px/1 var(--font_game);
	letter-spacing: 0.04em;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.pay_row.is_info
{
	color: rgba(196, 181, 253, 0.55);
}

.pay_row.is_info .pay_value
{
	color: rgba(196, 181, 253, 0.75);
	font-size: 13px;
}

.pay_row.is_info .pay_dots
{
	background-image: radial-gradient(circle, rgba(196, 181, 253, 0.25) 0 1px, transparent 1.4px);
}

.pay_row.is_live
{
	color: #ffe8a8;
	background: rgba(245, 196, 81, 0.07);
	box-shadow: inset 0 0 0 1.5px rgba(245, 196, 81, 0.7);
}

.pay_row.is_won
{
	color: #fff4d2;
	background: linear-gradient(180deg, rgba(245, 196, 81, 0.2), rgba(245, 196, 81, 0.1));
	box-shadow: inset 0 0 0 2px #f5c451;
}

.pay_row.is_won .pay_value
{
	color: #fff4d2;
}

.pay_row::after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -40%;
	width: 34%;
	opacity: 0;
	pointer-events: none;
	transform: skewX(-22deg);
	background: linear-gradient(90deg, rgba(255, 246, 214, 0), rgba(255, 246, 214, 0.5) 50%, rgba(255, 246, 214, 0));
}

.pay_row.is_won::after
{
	opacity: 1;
}

.poker_pays_wait
{
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	margin: 0;
	color: rgba(245, 196, 81, 0.5);
	font: 700 12px/1 var(--font_game);
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

/*
//=====================================================================================
*/

.poker_bezel
{
	position: absolute;
	left: 28px;
	top: 144px;
	width: 764px;
	height: 248px;
	padding: 12px;
	border-radius: 22px;
	background: linear-gradient(180deg, #150e30 0%, #0c0820 100%);
	box-shadow: inset 0 0 0 1.5px rgba(245, 196, 81, 0.42), inset 0 2px 0 1.5px rgba(255, 255, 255, 0.05), inset 0 -3px 8px rgba(0, 0, 0, 0.5), 0 2px 0 rgba(255, 255, 255, 0.04), 0 -2px 0 rgba(0, 0, 0, 0.45);
}

.poker_screen
{
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 13px;
	background: radial-gradient(ellipse 55% 75% at 50% 45%, rgba(255, 255, 255, 0.07), transparent 70%), repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.024) 0 2px, transparent 2px 5px), radial-gradient(ellipse at 50% 40%, #3b2a98 0%, #251968 50%, #140d3a 100%);
	box-shadow: inset 0 0 0 1px rgba(245, 196, 81, 0.28), inset 0 0 46px rgba(0, 0, 0, 0.6), inset 0 3px 10px rgba(0, 0, 0, 0.5);
}

.poker_sheen
{
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	border-radius: inherit;
	background: linear-gradient(163deg, rgba(255, 255, 255, 0.075) 0%, rgba(255, 255, 255, 0.02) 30%, rgba(255, 255, 255, 0) 31%), radial-gradient(ellipse 130% 50% at 50% -18%, rgba(255, 255, 255, 0.07), transparent 62%);
}

.poker_status
{
	position: absolute;
	left: 18px;
	right: 18px;
	top: 8px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(245, 196, 81, 0.72);
	font: 700 12px/1 var(--font_game);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	white-space: nowrap;
}

.status_bet
{
	position: absolute;
	left: 0;
	display: inline-flex;
	align-items: center;
}

.status_bet .money
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 4px;
	color: #fde68a;
	letter-spacing: 0.06em;
}

.status_bet .coin
{
	width: 13px;
	height: 13px;
}

.status_hint
{
	color: #fff4d6;
	letter-spacing: 0.22em;
}

.status_hint.is_paying
{
	color: #fde68a;
}

.status_hint.is_flat
{
	color: rgba(220, 212, 255, 0.6);
}

/*
//=====================================================================================
*/

.poker_cards
{
	position: absolute;
	left: 35px;
	top: 32px;
	z-index: 2;
	display: flex;
	gap: 20px;
	width: 670px;
	height: 166px;
}

.poker_slot
{
	position: relative;
	flex: none;
	width: 118px;
	height: 166px;
	padding: 0;
	border: 0;
	background: none;
	perspective: 760px;
	cursor: default;
	-webkit-tap-highlight-color: transparent;
}

.poker_slot:focus-visible
{
	outline: none;
}

.poker_slot:focus-visible .card_face
{
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.poker_slot.is_gone
{
	opacity: 0;
}

.card_lift
{
	position: absolute;
	inset: 0;
	transition: translate 0.22s var(--ease);
}

.card_flip
{
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
}

.poker_slot.is_down .card_flip
{
	transform: rotateY(180deg);
}

.card_face,
.card_back
{
	position: absolute;
	inset: 0;
	border-radius: 9px;
	backface-visibility: hidden;
	box-shadow: 0 7px 12px rgba(0, 0, 0, 0.42), 0 1px 2px rgba(0, 0, 0, 0.4);
	transition: box-shadow 0.25s, filter 0.3s;
}

.card_back
{
	transform: rotateY(180deg);
}

.card_svg
{
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.card_svg.is_red
{
	color: #cf1f4c;
}

.card_svg.is_dark
{
	color: #261b57;
}

.card_rank
{
	fill: currentColor;
	font: 800 21px/1 var(--font_game);
	letter-spacing: -0.02em;
}

.card_rank.is_ten
{
	font-size: 17.5px;
	letter-spacing: -0.1em;
}

.poker_cards.is_live .poker_slot
{
	cursor: pointer;
}

.poker_cards.is_live .poker_slot:hover .card_lift
{
	translate: 0 -3px;
}

.poker_slot.is_held .card_lift,
.poker_cards.is_live .poker_slot.is_held:hover .card_lift
{
	translate: 0 -8px;
}

.poker_slot.is_held .card_face
{
	box-shadow: 0 0 0 2.5px #f5c451, 0 0 0 4px rgba(42, 22, 4, 0.55), 0 12px 16px rgba(0, 0, 0, 0.5);
}

.poker_slot.is_winner .card_face
{
	box-shadow: 0 0 0 2.5px #fde68a, 0 0 0 4.5px rgba(184, 120, 20, 0.85), 0 12px 18px rgba(0, 0, 0, 0.5);
}

.poker_slot.is_dim .card_face
{
	filter: brightness(0.62) saturate(0.7);
}

.card_tag
{
	position: absolute;
	left: 50%;
	bottom: -22px;
	padding: 3px 10px 2px;
	border-radius: 5px;
	color: #2b1606;
	font: 800 11px/1.15 var(--font_game);
	letter-spacing: 0.26em;
	text-indent: 0.26em;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffeeb4 0%, #f5c451 55%, #c98a22 100%);
	box-shadow: 0 2px 0 #7a4b0c, 0 4px 6px rgba(0, 0, 0, 0.45);
	opacity: 0;
	transform: translateX(-50%) scale(0.6);
	transition: opacity 0.18s, transform 0.22s var(--ease);
}

.poker_slot.is_held .card_tag
{
	opacity: 1;
	transform: translateX(-50%) scale(1);
}

/*
//=====================================================================================
*/

.poker_holds
{
	position: absolute;
	left: 75px;
	top: 402px;
	display: flex;
	gap: 20px;
	width: 670px;
	height: 46px;
}

.poker_hold,
.poker_key
{
	position: relative;
	flex: none;
	height: 46px;
	padding: 3px 7px 9px;
	border: 0;
	background: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.poker_hold
{
	width: 118px;
}

.poker_hold::before,
.poker_key::before
{
	content: "";
	position: absolute;
	left: 3px;
	right: 3px;
	top: 6px;
	bottom: 0;
	border-radius: 13px;
	background: linear-gradient(180deg, #06040e, #0d0920);
	box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.85), inset 0 0 0 1px rgba(245, 196, 81, 0.22), 0 1px 0 rgba(255, 255, 255, 0.07);
}

.hold_cap,
.key_cap
{
	position: relative;
	display: grid;
	place-items: center;
	height: 32px;
	border-radius: 10px;
	font: 800 13px/1 var(--font_game);
	letter-spacing: 0.24em;
	text-indent: 0.24em;
	text-transform: uppercase;
	transition: translate 0.08s, box-shadow 0.08s, background 0.2s, color 0.2s, filter 0.2s;
}

.hold_cap
{
	color: #2a1b5e;
	background: linear-gradient(180deg, #faf7ff 0%, #ddd3fd 46%, #ab98ef 100%);
	box-shadow: 0 6px 0 #5b45b8, 0 7px 0 #24164f, 0 9px 10px rgba(0, 0, 0, 0.5), inset 0 1px 0 #fff, inset 0 -2px 0 rgba(42, 27, 94, 0.22);
}

.poker_hold[aria-pressed="true"] .hold_cap
{
	color: #3b2104;
	translate: 0 3px;
	background: linear-gradient(180deg, #fff6d0 0%, #f5c451 52%, #d18f1d 100%);
	box-shadow: 0 3px 0 #9a5c0c, 0 4px 0 #4a2a05, 0 5px 7px rgba(0, 0, 0, 0.45), inset 0 1px 0 #fffbe6, inset 0 -2px 0 rgba(122, 75, 12, 0.3);
}

.poker_hold:not(:disabled):active .hold_cap,
.poker_hold.is_pressed .hold_cap,
.poker_key:not(:disabled):active .key_cap,
.poker_key.is_pressed .key_cap
{
	translate: 0 5px;
	box-shadow: 0 1px 0 #5b45b8, 0 2px 0 #24164f, 0 3px 4px rgba(0, 0, 0, 0.45), inset 0 1px 0 #fff, inset 0 -2px 0 rgba(42, 27, 94, 0.22);
}

.poker_hold:disabled,
.poker_key:disabled
{
	cursor: default;
}

.poker_hold:disabled .hold_cap
{
	filter: saturate(0.6) brightness(0.72);
}

.poker_hold:disabled[aria-pressed="true"] .hold_cap
{
	filter: saturate(0.8) brightness(0.85);
}

.poker_row
{
	position: absolute;
	left: 28px;
	right: 28px;
	top: 456px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
	gap: 22px;
	align-items: center;
	height: 46px;
}

.poker_key
{
	width: 220px;
}

.key_cap
{
	height: 32px;
	color: #fff;
	font-size: 15px;
	letter-spacing: 0.34em;
	text-indent: 0.34em;
	background: linear-gradient(180deg, #ff92b4 0%, #f43f6e 46%, #c81e4f 100%);
	box-shadow: 0 6px 0 #8f1238, 0 7px 0 #4c0519, 0 9px 12px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.65), inset 0 -2px 0 rgba(76, 5, 25, 0.3);
	text-shadow: 0 1px 0 rgba(76, 5, 25, 0.65);
}

.poker_key:not(:disabled):active .key_cap,
.poker_key.is_pressed .key_cap
{
	box-shadow: 0 1px 0 #8f1238, 0 2px 0 #4c0519, 0 3px 5px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.65), inset 0 -2px 0 rgba(76, 5, 25, 0.3);
}

.poker_key.is_draw .key_cap
{
	color: #3b2104;
	background: linear-gradient(180deg, #fff6d0 0%, #f5c451 52%, #d18f1d 100%);
	box-shadow: 0 6px 0 #9a5c0c, 0 7px 0 #4a2a05, 0 9px 12px rgba(0, 0, 0, 0.5), inset 0 1px 0 #fffbe6, inset 0 -2px 0 rgba(122, 75, 12, 0.3);
	text-shadow: 0 1px 0 rgba(255, 246, 214, 0.6);
}

.poker_key.is_draw:not(:disabled):active .key_cap,
.poker_key.is_draw.is_pressed .key_cap
{
	box-shadow: 0 1px 0 #9a5c0c, 0 2px 0 #4a2a05, 0 3px 5px rgba(0, 0, 0, 0.45), inset 0 1px 0 #fffbe6;
}

.poker_key:disabled .key_cap
{
	filter: saturate(0.4) brightness(0.65);
}

/*
//=====================================================================================
*/

.poker_meter
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	height: 40px;
	padding: 0 12px 0 14px;
	border-radius: 10px;
	background: linear-gradient(180deg, #040209, #0b0717);
	box-shadow: inset 0 2px 9px rgba(0, 0, 0, 0.95), inset 0 0 0 1.5px rgba(245, 196, 81, 0.34), 0 1px 0 rgba(255, 255, 255, 0.06);
}

.meter_label
{
	color: rgba(245, 196, 81, 0.78);
	font: 700 10px/1 var(--font_game);
	letter-spacing: 0.26em;
	text-transform: uppercase;
}

.meter_read
{
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.meter_read .coin
{
	flex: none;
	width: 15px;
	height: 15px;
}

.meter_led
{
	display: block;
	height: 21px;
	min-width: 0;
}

.led
{
	display: block;
	height: 100%;
	max-width: 100%;
}

.led_seg,
.led_mark
{
	fill: rgba(255, 170, 60, 0.075);
}

.led_seg.is_on,
.led_mark.is_on
{
	fill: #ffb547;
}

.meter_led.is_counting .led_seg.is_on,
.meter_led.is_counting .led_mark.is_on
{
	fill: #ffd98a;
}

/*
//=====================================================================================
*/

.poker_dog_box
{
	position: absolute;
	left: 614px;
	top: -2px;
	z-index: 3;
	width: 220px;
	height: 200px;
}

.poker_dog
{
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.poker_dog .dog_rig,
.poker_dog .dog_body,
.poker_dog .dog_shadow
{
	transform-origin: 110px 138px;
}

.poker_dog .dog_head
{
	transform-origin: 110px 118px;
	rotate: var(--look_turn, 0deg);
	transition: rotate 0.35s var(--ease);
}

.poker_dog .dog_face
{
	translate: var(--look_x, 0px) var(--look_y, 0px);
	transition: translate 0.35s var(--ease);
}

.poker_dog .dog_hat
{
	transform-origin: 110px 24px;
	translate: calc(var(--look_x, 0px) * 0.4) 0;
	transition: translate 0.35s var(--ease), transform 0.4s var(--ease);
}

.poker_dog .dog_ear_left
{
	transform-origin: 66px 46px;
}

.poker_dog .dog_ear_right
{
	transform-origin: 154px 46px;
}

.poker_dog .dog_pick
{
	transform-origin: 127px 101px;
	transition: transform 0.35s var(--ease), opacity 0.3s;
}

.poker_dog .dog_brow_left
{
	transform-origin: 87px 51px;
	transition: transform 0.3s var(--ease);
}

.poker_dog .dog_brow_right
{
	transform-origin: 133px 51px;
	transition: transform 0.3s var(--ease);
}

.poker_dog .dog_glasses
{
	transform-origin: 110px 66px;
	transition: transform 0.4s var(--ease);
}

.poker_dog .dog_eyes
{
	opacity: 0;
	transform-origin: 110px 64px;
	transition: opacity 0.25s;
}

.poker_dog .dog_leg_left
{
	transform-origin: 92px 108px;
	transition: transform 0.35s var(--ease);
}

.poker_dog .dog_leg_right
{
	transform-origin: 128px 108px;
	transition: transform 0.35s var(--ease);
}

.poker_dog .dog_tail
{
	transform-origin: 166px 124px;
}

.poker_dog .dog_mouth
{
	transform-origin: 110px 102px;
	transition: opacity 0.18s;
}

.poker_dog .dog_mouth_o,
.poker_dog .dog_mouth_yawn,
.poker_dog .dog_mouth_grin
{
	opacity: 0;
}

.poker_dog.is_eyebrow .dog_brow_right
{
	transform: translateY(-7px) rotate(12deg);
}

.poker_dog.is_eyebrow .dog_pick
{
	transform: rotate(-16deg);
}

.poker_dog.is_shock .dog_glasses
{
	transform: translateY(14px) rotate(-3deg);
}

.poker_dog.is_shock .dog_eyes
{
	opacity: 1;
}

.poker_dog.is_shock .dog_brow_left
{
	transform: translateY(-10px) rotate(-6deg);
}

.poker_dog.is_shock .dog_brow_right
{
	transform: translateY(-10px) rotate(6deg);
}

.poker_dog.is_shock .dog_mouth_flat,
.poker_dog.is_yawn .dog_mouth_flat,
.poker_dog.is_party .dog_mouth_flat
{
	opacity: 0;
}

.poker_dog.is_shock .dog_mouth_o,
.poker_dog.is_yawn .dog_mouth_yawn,
.poker_dog.is_party .dog_mouth_grin
{
	opacity: 1;
}

.poker_dog.is_shock .dog_pick
{
	opacity: 0;
	transform: translate(6px, 60px) rotate(80deg);
}

.poker_dog.is_party .dog_leg_left
{
	transform: translateY(-4px);
}

.poker_dog.is_party .dog_leg_right
{
	transform: translateY(-4px);
}

.poker_dog.is_party .dog_pick
{
	opacity: 0;
}

.poker_dog.is_yawn .dog_head
{
	transform: rotate(-5deg) translateY(-2px);
}

.poker_dog.is_yawn .dog_glasses
{
	transform: translateY(-3px) rotate(3deg);
}

.poker_dog.is_yawn .dog_pick
{
	transform: translate(4px, 6px) rotate(22deg);
}

@media (prefers-reduced-motion: no-preference)
{
	.poker_dog .dog_body
	{
		animation: dog_breathe 3.6s ease-in-out infinite;
	}

	.poker_dog .dog_head
	{
		animation: dog_bob 3.6s ease-in-out infinite;
	}

	.poker_dog .dog_ear_right
	{
		animation: dog_flick 6.8s ease-in-out infinite;
	}

	.poker_dog .dog_ear_left
	{
		animation: dog_flick_left 9.4s ease-in-out 2.4s infinite;
	}

	.poker_dog .dog_pick
	{
		animation: dog_chew 2.4s ease-in-out infinite;
	}

	.poker_dog .dog_glint
	{
		animation: dog_glint 7.5s ease-in-out 1s infinite;
	}

	.poker_dog .dog_tail
	{
		animation: dog_wag 2.8s ease-in-out infinite;
	}

	.poker_dog.is_nod .dog_head
	{
		animation: dog_nod 0.7s var(--ease_soft), dog_bob 3.6s ease-in-out infinite;
	}

	.poker_dog.is_eyebrow .dog_head
	{
		animation: dog_tilt 2.2s var(--ease) both, dog_bob 3.6s ease-in-out infinite;
	}

	.poker_dog.is_shock .dog_rig
	{
		animation: dog_jolt 0.5s var(--ease) both;
	}

	.poker_dog.is_shock .dog_eyes
	{
		animation: dog_pop 0.45s var(--ease) both;
	}

	.poker_dog.is_shock .dog_ear_left,
	.poker_dog.is_shock .dog_ear_right
	{
		animation: dog_perk 0.5s var(--ease) both;
	}

	.poker_dog.is_party .dog_rig
	{
		animation: dog_jump 0.5s ease-in-out 6;
	}

	.poker_dog.is_party .dog_hat
	{
		animation: dog_toss 1.7s cubic-bezier(0.3, 0.1, 0.3, 1) both;
	}

	.poker_dog.is_party .dog_leg_left
	{
		animation: dog_drum 0.3s ease-in-out 10;
	}

	.poker_dog.is_party .dog_leg_right
	{
		animation: dog_drum 0.3s ease-in-out 0.15s 10;
	}

	.poker_dog.is_party .dog_tail
	{
		animation: dog_wag_fast 0.22s ease-in-out infinite alternate;
	}

	.poker_dog.is_yawn .dog_mouth_yawn
	{
		animation: dog_yawn 2.4s ease-in-out both;
	}

	.poker_dog.is_yawn .dog_head
	{
		animation: dog_stretch 2.4s ease-in-out both;
	}

	.pay_row.is_won::after
	{
		animation: pay_shine 2.1s ease-in-out infinite;
	}
}

@keyframes dog_breathe
{
	0%,
	100%
	{
		scale: 1 1;
	}

	50%
	{
		scale: 1.012 1.03;
	}
}

@keyframes dog_bob
{
	0%,
	100%
	{
		translate: 0 0;
	}

	50%
	{
		translate: 0 1.6px;
	}
}

@keyframes dog_flick
{
	0%,
	86%,
	100%
	{
		rotate: 0deg;
	}

	89%
	{
		rotate: 16deg;
	}

	92%
	{
		rotate: -5deg;
	}

	95%
	{
		rotate: 7deg;
	}
}

@keyframes dog_flick_left
{
	0%,
	90%,
	100%
	{
		rotate: 0deg;
	}

	93%
	{
		rotate: -16deg;
	}

	96%
	{
		rotate: 5deg;
	}
}

@keyframes dog_chew
{
	0%,
	100%
	{
		rotate: 0deg;
		translate: 0 0;
	}

	25%
	{
		rotate: -7deg;
		translate: 0 0.8px;
	}

	50%
	{
		rotate: 3deg;
		translate: 0 0;
	}

	75%
	{
		rotate: -4deg;
		translate: 0 0.6px;
	}
}

@keyframes dog_glint
{
	0%,
	70%
	{
		translate: -30px 0;
	}

	88%,
	100%
	{
		translate: 120px 0;
	}
}

@keyframes dog_wag
{
	0%,
	100%
	{
		rotate: 0deg;
	}

	50%
	{
		rotate: 8deg;
	}
}

@keyframes dog_wag_fast
{
	from
	{
		rotate: -14deg;
	}

	to
	{
		rotate: 18deg;
	}
}

@keyframes dog_nod
{
	0%,
	100%
	{
		transform: rotate(0deg) translateY(0);
	}

	45%
	{
		transform: rotate(1.5deg) translateY(5px);
	}
}

@keyframes dog_tilt
{
	0%,
	100%
	{
		transform: rotate(0deg);
	}

	15%,
	80%
	{
		transform: rotate(3deg);
	}
}

@keyframes dog_jolt
{
	0%
	{
		transform: translateY(0) scale(1, 1);
	}

	30%
	{
		transform: translateY(-9px) scale(0.97, 1.04);
	}

	65%
	{
		transform: translateY(1px) scale(1.02, 0.98);
	}

	100%
	{
		transform: translateY(0) scale(1, 1);
	}
}

@keyframes dog_pop
{
	from
	{
		opacity: 0;
		scale: 0.4;
	}

	to
	{
		opacity: 1;
		scale: 1;
	}
}

@keyframes dog_perk
{
	0%
	{
		scale: 1;
	}

	50%
	{
		scale: 1.12;
	}

	100%
	{
		scale: 1.04;
	}
}

@keyframes dog_jump
{
	0%,
	100%
	{
		transform: translateY(0) scale(1, 1);
	}

	15%
	{
		transform: translateY(2px) scale(1.03, 0.96);
	}

	50%
	{
		transform: translateY(-12px) scale(0.98, 1.03);
	}
}

@keyframes dog_toss
{
	0%
	{
		transform: translate(0, 0) rotate(0deg);
	}

	40%
	{
		transform: translate(-44px, -58px) rotate(-260deg);
	}

	55%
	{
		transform: translate(-50px, -64px) rotate(-340deg);
	}

	86%
	{
		transform: translate(0, 4px) rotate(-720deg);
	}

	93%
	{
		transform: translate(0, -3px) rotate(-718deg);
	}

	100%
	{
		transform: translate(0, 0) rotate(-720deg);
	}
}

@keyframes dog_drum
{
	0%,
	100%
	{
		transform: translateY(-4px);
	}

	50%
	{
		transform: translateY(-15px);
	}
}

@keyframes dog_yawn
{
	0%
	{
		scale: 0.3 0.15;
	}

	30%,
	62%
	{
		scale: 1 1;
	}

	85%,
	100%
	{
		scale: 0.4 0.2;
	}
}

@keyframes dog_stretch
{
	0%,
	100%
	{
		transform: rotate(0deg) translateY(0);
	}

	30%,
	62%
	{
		transform: rotate(-6deg) translateY(-4px);
	}
}

@keyframes pay_shine
{
	0%
	{
		left: -40%;
	}

	55%,
	100%
	{
		left: 115%;
	}
}

/*
//=====================================================================================
*/

.poker_pill
{
	color: color-mix(in srgb, rgb(var(--pill)) 45%, #fff);
	background: rgba(var(--pill), 0.24);
	box-shadow: inset 0 0 0 1px rgba(var(--pill), 0.4);
}

.poker_pill.is_flat
{
	color: var(--text_mute);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: none;
}

/*
//=====================================================================================
*/

@media (max-height: 760px) and (min-width: 1101px)
{
	.poker_stage
	{
		gap: 8px;
	}

	.poker_page .game_controls .field
	{
		margin-bottom: 10px;
	}

	.poker_page .game_controls .field_box
	{
		height: 44px;
	}

	.poker_chip
	{
		height: 44px;
	}

	.poker_page .session_chart
	{
		margin: 6px 0 8px;
	}
}

@media (max-height: 700px) and (min-width: 1101px)
{
	.poker_chip
	{
		height: 40px;
		flex-direction: row;
	}
}

@media (max-width: 1100px)
{
	.poker_scene
	{
		flex: none;
		height: calc((100vw - 48px) * 0.77);
		max-height: 660px;
	}
}

/*
//=====================================================================================
*/
