.floatMascot{
	--fm-blue:#1f379d;
	--fm-green:#008654;
	position:fixed;right:20px;bottom:88px;z-index:9990;
	display:flex;flex-direction:column;align-items:flex-end;gap:10px;
	pointer-events:none;
}
.floatMascot *{box-sizing:border-box;}

.floatMascot__panel{
	pointer-events:auto;
	display:flex;flex-direction:column;gap:8px;min-width:220px;
	padding:14px 14px 12px;
	background:#fff;border:1px solid #e4e9f2;border-radius:18px;
	box-shadow:0 12px 40px rgba(20,40,90,0.14);
	opacity:0;visibility:hidden;transform:translateY(12px) scale(0.96);
	transition:opacity 0.25s ease,transform 0.25s ease,visibility 0.25s;
}
.floatMascot.is-open .floatMascot__panel{
	opacity:1;visibility:visible;transform:translateY(0) scale(1);
}
.floatMascot__panelTitle{
	margin:0 0 4px;padding:0 4px;
	font-size:14px;font-weight:700;color:#1b2333;
}
.floatMascot__action{
	display:flex;align-items:center;gap:10px;
	padding:10px 12px;font-size:14px;font-weight:500;color:#333;text-decoration:none;
	background:#f8f9fb;border:1px solid #e4e9f2;border-radius:12px;
	transition:0.2s ease;
}
.floatMascot__action svg{width:20px;height:20px;flex-shrink:0;color:var(--fm-blue);}
.floatMascot__action:hover{
	color:var(--fm-blue);background:#eef1fb;border-color:#c5d0ee;
	transform:translateX(-2px);
}
.floatMascot__action--line svg{color:#06c755;}
.floatMascot__action--line:hover{background:#eefbf3;border-color:#b8e8c8;color:#058a42;}

.floatMascot__bubble{
	pointer-events:none;
	position:relative;max-width:240px;margin:0 8px 0 0;padding:12px 16px;
	font-size:13px;line-height:1.55;color:#1b2333;font-weight:500;
	background:#fff;border:1px solid #e4e9f2;border-radius:16px 16px 4px 16px;
	box-shadow:0 8px 24px rgba(20,40,90,0.1);
	opacity:0;transform:translateY(10px) scale(0.95);
	animation:floatBubbleIn 0.5s ease 0.8s forwards,floatBubbleFloat 4s ease-in-out 1.5s infinite;
}
.floatMascot__bubble::after{
	content:'';position:absolute;right:18px;bottom:-7px;width:12px;height:12px;
	background:#fff;border-right:1px solid #e4e9f2;border-bottom:1px solid #e4e9f2;
	transform:rotate(45deg);
}
.floatMascot.is-open .floatMascot__bubble,
.floatMascot.is-bubble-hidden .floatMascot__bubble{
	animation:none;opacity:0;visibility:hidden;transform:translateY(8px) scale(0.95);
}

.floatMascot__btn{
	pointer-events:auto;
	display:inline-flex;align-items:center;justify-content:center;
	width:56px;height:56px;min-width:56px;padding:0;margin:0;
	border:none;border-radius:50%;cursor:pointer;
	color:#fff;font-family:inherit;
	background:linear-gradient(135deg,var(--fm-blue) 0%,#2d4bb8 55%,var(--fm-green) 100%);
	box-shadow:0 8px 24px rgba(31,55,157,0.35);
	transition:transform 0.2s ease,box-shadow 0.2s ease;
	animation:floatMascotBob 3.2s ease-in-out infinite;
	-webkit-tap-highlight-color:transparent;
}
.floatMascot__btn:hover{
	animation-play-state:paused;
	transform:translateY(-2px) scale(1.03);
	box-shadow:0 12px 28px rgba(31,55,157,0.42);
}
.floatMascot.is-open .floatMascot__btn{
	animation:floatMascotBob 2s ease-in-out infinite;
	background:linear-gradient(135deg,#15287a 0%,var(--fm-blue) 55%,#047c5d 100%);
}
.floatMascot__btn:focus-visible{outline:2px solid var(--fm-blue);outline-offset:4px;}
.floatMascot__btnIcon{
	display:block;width:24px;height:24px;flex-shrink:0;
}

@keyframes floatMascotBob{
	0%,100%{transform:translateY(0);}
	50%{transform:translateY(-4px);}
}
@keyframes floatBubbleIn{
	to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes floatBubbleFloat{
	0%,100%{transform:translateY(0);}
	50%{transform:translateY(-4px);}
}

@media(max-width:768px){
	body.kbMenuOpen .floatMascot{
		visibility:hidden;
		pointer-events:none;
		opacity:0;
	}
}

@media(max-width:640px){
	.floatMascot{right:12px;bottom:96px;z-index:9900;}
	.floatMascot__bubble{max-width:200px;font-size:12px;padding:10px 14px;}
	.floatMascot__panel{min-width:200px;}
}

@media(prefers-reduced-motion:reduce){
	.floatMascot__btn,.floatMascot__bubble{animation:none !important;}
	.floatMascot__bubble{opacity:1;transform:none;}
	.floatMascot__panel{transition:none;}
}
