.aura-yumin-site-assistant {
	--aura-yumin-assistant-gap: 26px;
	/* 默认占可视高度 80%，外壳始终按 384:620 等比；窄屏由可用宽度反推高度。 */
	--aura-yumin-assistant-height: min(80dvh, calc(100dvh - var(--aura-yumin-assistant-gap) * 2), calc((100dvw - var(--aura-yumin-assistant-gap) * 2) * 620 / 384));
	--aura-yumin-assistant-width: calc(var(--aura-yumin-assistant-height) * 384 / 620);
	position: fixed;
	right: 26px;
	bottom: 26px;
	z-index: 95;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	font-family: YuminHomeHero, Inter, Arial, sans-serif;
	font-weight: 400;
	line-height: 1.7;
}
.aura-yumin-site-assistant *, .aura-yumin-site-assistant *::before, .aura-yumin-site-assistant *::after { box-sizing: border-box; }
.aura-yumin-site-assistant [hidden] { display: none !important; }
.aura-yumin-site-assistant button { font-family: inherit; cursor: pointer; }
.aura-yumin-site-assistant button:focus-visible { outline: 3px solid #006360; outline-offset: 4px; }
.aura-yumin-site-assistant__launcher {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: calc(100dvw - 32px);
	padding: 10px 20px 10px 12px;
	overflow: visible;
	color: #fff;
	cursor: pointer;
	background: linear-gradient(135deg, #00a99f 0%, #00928e 42%, #006360 100%);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 18px 38px rgba(0,99,96,.36), inset 0 1px 0 rgba(255,255,255,.22);
	transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s cubic-bezier(.22,.61,.36,1);
}
.aura-yumin-site-assistant__launcher::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; animation: aura-yumin-assistant-glow 3.2s ease-out infinite; }
.aura-yumin-site-assistant__launcher-icon, .aura-yumin-site-assistant__avatar { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.aura-yumin-site-assistant__launcher-icon svg { width: 23px; height: 23px; }
.aura-yumin-site-assistant__launcher-text { display: flex; flex-direction: column; text-align: left; line-height: 1.16; min-width: 0; overflow-wrap: anywhere; }
.aura-yumin-site-assistant__launcher-text strong { font-size: 15.2px; font-weight: 700; letter-spacing: -.01em; color: #fff; }
.aura-yumin-site-assistant__launcher-text small { margin-top: 3px; font-size: 11.2px; font-weight: 600; letter-spacing: .02em; color: rgba(255,255,255,.74); }
.aura-yumin-site-assistant__spark { position: absolute; top: 7px; right: 9px; width: 8px; height: 8px; border-radius: 50%; background: #ffc46b; box-shadow: 0 0 0 3px rgba(255,196,107,.28); animation: aura-yumin-assistant-blink 2.4s ease-in-out infinite; }
@keyframes aura-yumin-assistant-glow { 0% { box-shadow: 0 0 0 0 rgba(0,146,142,.42); } 72% { box-shadow: 0 0 0 16px rgba(0,146,142,0); } 100% { box-shadow: 0 0 0 0 rgba(0,146,142,0); } }
@keyframes aura-yumin-assistant-blink { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .6; } }
@keyframes aura-yumin-assistant-in { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
/* 邀请卡属于外壳，只打开既有 iframe；不包含模拟消息、输入框或问答后端。 */
.aura-yumin-site-assistant__teaser { position: relative; width: min(290px,calc(100dvw - 32px)); padding: 16px 18px 15px; border-radius: 16px; background: #fff; border: 1px solid #dce9e8; box-shadow: 0 18px 44px rgba(8,55,58,.1); animation: aura-yumin-assistant-in .38s cubic-bezier(.22,.61,.36,1) both; }
.aura-yumin-site-assistant__teaser::after { content: ""; position: absolute; right: 26px; bottom: -7px; width: 14px; height: 14px; background: #fff; border-right: 1px solid #dce9e8; border-bottom: 1px solid #dce9e8; transform: rotate(45deg); border-bottom-right-radius: 3px; }
.aura-yumin-site-assistant__teaser-head { display: flex; align-items: center; gap: 8px; padding-right: 10px; }
.aura-yumin-site-assistant__teaser-head strong { font-size: 14.72px; font-weight: 700; color: #0c2c2f; letter-spacing: -.01em; overflow-wrap: anywhere; }
.aura-yumin-site-assistant__teaser-icon { width: 26px; height: 26px; flex: none; display: grid; place-items: center; border-radius: 8px; color: #00928e; background: #f1f8f7; }
.aura-yumin-site-assistant__teaser-icon svg { width: 17px; height: 17px; }
.aura-yumin-site-assistant__badge { padding: 2px 7px; border-radius: 999px; background: rgba(0,146,142,.1); color: #006360; font-size: 9.92px; font-weight: 800; letter-spacing: .1em; }
.aura-yumin-site-assistant__teaser p { margin: 9px 0 0; font-size: 13.28px; line-height: 1.55; color: #5b7377; overflow-wrap: anywhere; }
.aura-yumin-site-assistant__teaser-cta { display: inline-flex; align-items: center; gap: 7px; margin-top: 11px; padding: 0; background: transparent; border: 0; color: #00928e; font-size: 12.8px; font-weight: 700; }
.aura-yumin-site-assistant__teaser-cta svg { width: 17px; height: 9px; transition: transform .3s cubic-bezier(.22,.61,.36,1); }
.aura-yumin-site-assistant__teaser-close { position: absolute; top: 8px; right: 9px; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #9bb0b2; line-height: 1; }
.aura-yumin-site-assistant__panel {
	position: fixed;
	right: var(--aura-yumin-assistant-gap);
	bottom: var(--aura-yumin-assistant-gap);
	z-index: 80;
	display: flex;
	width: var(--aura-yumin-assistant-width);
	height: var(--aura-yumin-assistant-height);
	/* 不设置独立的最小宽高，避免小视口中被 min-size 撑破固定比例。 */
	min-width: 0;
	min-height: 0;
	max-width: calc(100dvw - (var(--aura-yumin-assistant-gap) * 2));
	max-height: calc(100dvh - (var(--aura-yumin-assistant-gap) * 2));
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 0;
	border-radius: 20px;
	box-shadow: 0 30px 70px rgba(8,55,58,.26), 0 0 0 1px rgba(220,233,232,.9);
	isolation: isolate;
	flex-direction: column;
	transform-origin: bottom right;
	animation: aura-yumin-assistant-in .32s cubic-bezier(.22,.61,.36,1) both;
}
.aura-yumin-site-assistant__panel[hidden] {
	display: none;
}
/* Three 就绪时由同一时钟驱动窗口和贴边柔光，避免原 CSS 入场与矩阵动画叠加。 */
.aura-yumin-site-assistant__panel[data-motion="three"] { animation:none; transform-origin:center; }
.aura-yumin-site-assistant__panel[data-phase="closing"] { pointer-events:none; }
.aura-yumin-site-assistant__motion-light { position:absolute; inset:0; width:100%; height:100%; z-index:20; pointer-events:none; }
.aura-yumin-site-assistant__header {
	display: flex;
	min-height: 70px;
	flex: 0 0 auto;
	align-items: center;
	gap: 12px;
	padding: 15px 16px;
	cursor: grab;
	background: linear-gradient(135deg, #00a99f 0%, #00928e 46%, #006360 100%);
	color: #fff;
	touch-action: none;
	user-select: none;
}
.aura-yumin-site-assistant__panel.is-dragging .aura-yumin-site-assistant__header {
	cursor: grabbing;
}
.aura-yumin-site-assistant__title {
	margin: 0;
	overflow: hidden;
	font-size: 15.68px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: #fff;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.aura-yumin-site-assistant__avatar { width: 40px; height: 40px; }
.aura-yumin-site-assistant__avatar svg { width: 22px; height: 22px; }
.aura-yumin-site-assistant__identity { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.aura-yumin-site-assistant__status { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 11.36px; font-weight: 600; color: rgba(255,255,255,.78); overflow-wrap: anywhere; }
.aura-yumin-site-assistant__status i { flex: none; width: 6px; height: 6px; border-radius: 50%; background: #8cf0c8; box-shadow: 0 0 0 3px rgba(140,240,200,.24); }
.aura-yumin-site-assistant__note { flex: none; margin: 0; padding: 10px 16px 12px; background: #fff; color: #93a8aa; font-size: 10.72px; font-weight: 600; letter-spacing: .01em; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.aura-yumin-site-assistant__close {
	display: inline-flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	padding: 0;
	flex: none;
	margin-left: auto;
	color: #fff;
	cursor: pointer;
	background: rgba(255,255,255,.16);
	border: 0;
	border-radius: 50%;
}
.aura-yumin-site-assistant__close:hover,
.aura-yumin-site-assistant__close:focus-visible {
	background: rgba(255,255,255,.3);
}
.aura-yumin-site-assistant__close svg {
	width: 18px;
	height: 18px;
}
.aura-yumin-site-assistant__body {
	position: relative;
	display: flex;
	min-height: 0;
	flex: 1 1 auto;
}
/* 占位在服务端输出，点击即可出现；仅动画透明度与轻微缩放，避免重绘大面积光晕。 */
.aura-yumin-site-assistant__loading {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 28px;
	opacity: 1;
	background: #f5fbfa;
	transition: opacity 200ms ease;
	flex-direction: column;
}
.aura-yumin-site-assistant__loading[hidden],
.aura-yumin-site-assistant__loading [hidden] {
	display: none;
}
.aura-yumin-site-assistant__loading.is-leaving {
	pointer-events: none;
	opacity: 0;
}
.aura-yumin-site-assistant__loading-ring {
	position: relative;
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	border: 2px solid rgba(1, 178, 168, 0.42);
	border-radius: 50%;
}
.aura-yumin-site-assistant__loading-ring::before {
	position: absolute;
	inset: -12px;
	content: "";
	background: radial-gradient(circle, rgba(76, 229, 219, 0.18) 0%, rgba(1, 178, 168, 0.08) 48%, transparent 72%);
	border-radius: inherit;
}
.aura-yumin-site-assistant__loading:not([hidden]):not(.is-leaving) .aura-yumin-site-assistant__loading-ring {
	animation: aura-yumin-assistant-breathe 2.4s ease-in-out infinite;
}
@keyframes aura-yumin-assistant-breathe {
	0%,
	100% {
		opacity: 0.6;
		transform: scale(0.97);
	}
	50% {
		opacity: 1;
		transform: scale(1);
	}
}
.aura-yumin-site-assistant__loading-text,
.aura-yumin-site-assistant__loading-notice {
	max-width: 100%;
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #356560;
	text-align: center;
	overflow-wrap: anywhere;
}
.aura-yumin-site-assistant__loading-notice {
	font-size: 12px;
	color: #637874;
}
.aura-yumin-site-assistant__retry {
	padding: 6px 16px;
	font: inherit;
	font-size: 13px;
	color: #005955;
	cursor: pointer;
	background: #fff;
	border: 1px solid rgba(1, 178, 168, 0.32);
	border-radius: 8px;
}
.aura-yumin-site-assistant__retry:focus-visible {
	outline: 2px solid #01b2a8;
	outline-offset: 3px;
}
.aura-yumin-site-assistant__frame {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 0;
	flex: 1 1 auto;
	background: #fff;
}
.aura-yumin-site-assistant__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
	opacity: 1;
	transition: opacity 200ms ease;
}
.aura-yumin-site-assistant__body.is-loading iframe {
	opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
	.aura-yumin-site-assistant__loading .aura-yumin-site-assistant__loading-ring {
		animation: none !important;
	}
	.aura-yumin-site-assistant__loading,
	.aura-yumin-site-assistant__frame iframe {
		transition: none;
	}
}
.aura-yumin-site-assistant__interaction-overlay {
	position: absolute;
	z-index: 10;
	inset: 0;
	display: none;
	cursor: grabbing;
	background: transparent;
}
.aura-yumin-site-assistant__panel.is-dragging .aura-yumin-site-assistant__interaction-overlay,
.aura-yumin-site-assistant__panel.is-resizing .aura-yumin-site-assistant__interaction-overlay {
	display: block;
}
/* 保留透明角落手柄与缩放光标，不绘制箭头，避免干扰聊天内容和窗口圆角。 */
.aura-yumin-site-assistant__resize {
	position: absolute;
	z-index: 20;
	width: 32px;
	height: 32px;
	padding: 0;
	cursor: nwse-resize;
	background: transparent;
	border: 0;
	touch-action: none;
}
.aura-yumin-site-assistant__resize--top-left {
	top: -1px;
	left: -1px;
}
.aura-yumin-site-assistant__resize--bottom-right {
	right: -1px;
	bottom: -1px;
}
@media (hover:hover) {
 .aura-yumin-site-assistant__launcher:hover { transform: translateY(-3px); box-shadow: 0 24px 48px rgba(0,99,96,.44),inset 0 1px 0 rgba(255,255,255,.28); }
 .aura-yumin-site-assistant__teaser-cta:hover svg { transform: translateX(4px); }
 .aura-yumin-site-assistant__teaser-close:hover { color: #0c2c2f; background: #f1f8f7; }
}
@media (max-width:760px) {
 .aura-yumin-site-assistant { --aura-yumin-assistant-gap:16px; right:16px; bottom:16px; gap:10px; }
 .aura-yumin-site-assistant__launcher { padding:9px 17px 9px 10px; }
 .aura-yumin-site-assistant__launcher-icon { width:38px; height:38px; }
 .aura-yumin-site-assistant__launcher-icon svg { width:21px; height:21px; }
 .aura-yumin-site-assistant__launcher-text strong { font-size:14.4px; }
 .aura-yumin-site-assistant__launcher-text small { font-size:10.56px; }
 .aura-yumin-site-assistant__teaser { width:min(284px,calc(100dvw - 32px)); }
}
@media (max-width:400px) { .aura-yumin-site-assistant__launcher-text small { display:none; } }
/* 极矮的横向窗口仍保持外壳比例，只精简非必要装饰，确保关闭按钮可操作。 */
@media (max-height:400px) {
 .aura-yumin-site-assistant__header { min-height:48px; padding:8px; gap:8px; }
 .aura-yumin-site-assistant__avatar,.aura-yumin-site-assistant__status,.aura-yumin-site-assistant__note { display:none; }
 .aura-yumin-site-assistant__title { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
 .aura-yumin-site-assistant__launcher::after,.aura-yumin-site-assistant__spark,.aura-yumin-site-assistant__teaser,.aura-yumin-site-assistant__panel { animation:none; }
 .aura-yumin-site-assistant__launcher,.aura-yumin-site-assistant__teaser-cta svg { transition:none; transform:none !important; }
}
