/* Fade bubble surfaces only; message text stays fully opaque. */
html body #root .chat-container.has-character-wallpaper .message.assistant .message-bubble{background:color-mix(in srgb,var(--pane) 70%,transparent)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html body #root .chat-container.has-character-wallpaper .message.user .message-bubble{background:color-mix(in srgb,var(--pane2) 70%,transparent)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-rulan-appearance] body #root .chat-container.has-character-wallpaper .message.assistant .message-bubble{background:var(--ra-ai)!important}
html[data-rulan-appearance] body #root .chat-container.has-character-wallpaper .message.user .message-bubble{background:var(--ra-user)!important}

/* Voice and text share one translucent surface, never two stacked fills. */
html body #root .chat-container.has-character-wallpaper .message.assistant .message-content:has(.voice-strip){background:color-mix(in srgb,var(--pane) 70%,transparent)!important}
html[data-rulan-appearance] body #root .chat-container.has-character-wallpaper .message.assistant .message-content:has(.voice-strip){background:var(--ra-ai)!important}
html body #root .chat-container.has-character-wallpaper .message.assistant .message-content:has(.voice-strip)>.message-bubble{background:transparent!important}
