:root{
  /* 果冻气泡：底色用渐变，亮线与内阴影造出“胶质”手感；贴纸全部本地文件，不用外链 */
  /* 高光：左上大片反光 + 右下小球面反光，再压一层渐变底色（都在同一个 background 里叠） */
  --assistant-bubble-fill:radial-gradient(58% 42% at 20% 6%,rgba(255,255,255,.98),rgba(255,255,255,0) 62%),radial-gradient(26% 30% at 84% 90%,rgba(255,255,255,.62),rgba(255,255,255,0) 72%),linear-gradient(165deg,#fffdf9,#f6ede6 70%,#efe3da);
  --user-bubble-fill:radial-gradient(58% 42% at 20% 6%,rgba(255,255,255,.98),rgba(255,255,255,0) 62%),radial-gradient(26% 30% at 84% 90%,rgba(255,255,255,.70),rgba(255,255,255,0) 72%),linear-gradient(165deg,#ffe7f1,#ffcbdf 70%,#ffbfd7);
  --bubble-border:rgba(255,255,255,.78);
  --bubble-shadow:inset 0 3px 0 rgba(255,255,255,1),inset 0 -12px 18px rgba(255,255,255,.45),inset 0 1px 12px rgba(255,255,255,.55),0 10px 20px rgba(178,120,150,.20),0 2px 4px rgba(178,120,150,.12);
}
:is(#chat,#work) .message-bubble{border-radius:24px;border-width:1px;border-style:solid;position:relative}
:is(#chat,#work) .message-bubble::before,:is(#chat,#work) .message-bubble::after{
  content:'';position:absolute;background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:none;
}
/* 我这边（左侧）：右上角一片羽毛、左下角一颗小星星 */
:is(#chat,#work) .message-bubble::after{width:23px;height:23px;top:-9px;right:-9px;background-image:url('/skin-raven.svg');transform:rotate(12deg)}
:is(#chat,#work) .message-bubble::before{width:14px;height:14px;bottom:-4px;left:-5px;background-image:url('/skin-star.svg');transform:rotate(-8deg)}
/* 你那边（右侧）：右上角一只爪印、左下角一颗心 */
:is(#chat,#work) .message.user .message-bubble::after{width:18px;height:18px;top:-6px;right:-6px;background-image:url('/skin-paw.svg');transform:rotate(10deg)}
:is(#chat,#work) .message.user .message-bubble::before{width:15px;height:15px;bottom:-5px;left:-6px;background-image:url('/skin-heart.svg');transform:rotate(-6deg)}
/* 给贴纸留位，别压到字 */
:is(#chat,#work) .message-bubble{padding-right:6px}
:is(#chat,#work) .message.user .message-bubble{padding-right:8px}
/* 声音气泡别被贴纸压住 */
:is(#chat,#work) .message-bubble .voice-play{margin-right:2px}
@media(prefers-reduced-motion:no-preference){
  :is(#chat,#work) .message-bubble::before,:is(#chat,#work) .message-bubble::after{transition:transform .25s ease}
  :is(#chat,#work) .message-bubble:hover::after{transform:rotate(4deg) scale(1.06)}
}
/* 她自己关掉玻璃效果时，别把渐变又加回来 */
html[data-reduce-glass=true]{--assistant-bubble-fill:var(--bg);--user-bubble-fill:var(--accent-soft)}

/* Keep the shared formal bubble skin readable with either theme. */
:root{--bubble-dark-assistant:color-mix(in srgb,var(--bg) 90%,var(--ink));--bubble-dark-user:color-mix(in srgb,var(--bg) 82%,var(--accent));}
[data-theme=dark]{--assistant-bubble-fill:linear-gradient(165deg,var(--bubble-dark-assistant),var(--bg));--user-bubble-fill:linear-gradient(165deg,var(--bubble-dark-user),var(--bg));--bubble-border:var(--surface-border);--bubble-shadow:var(--composer-shadow);}
