/*
 * 客户页主题（2026-11-08 重做，共 15 种）。
 * 经典主题继续使用 site.css 的原始样式；其余主题由服务端同时输出
 * customer-theme-custom 与 customer-theme-{name} 两个 class。
 * 每个主题 = 一组变量 + 少量“招牌”细节（纹理、边框、标题、装饰）。
 */

/* ------------------------------------------------------------------ 公共默认值 */
body.customer-theme-custom {
    --theme-font: "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif;
    --theme-title-font: var(--theme-font);
    --theme-title-color: var(--theme-header-text);
    --theme-header-pattern: none;
    --theme-bubble-radius: 18px;
    --theme-bubble-tail: 6px;
    --theme-bubble-shadow: 0 6px 16px rgba(15, 23, 42, .08);
    --theme-user-border: transparent;
    --theme-admin-border: var(--theme-link-border);
    --theme-control-radius: 14px;
    --theme-control-border: transparent;
    --theme-control-shadow: none;
    --theme-meta: rgba(15, 23, 42, .5);
    --theme-user-meta: rgba(255, 255, 255, .78);
    --theme-avatar-ring: rgba(255, 255, 255, .9);
    --theme-shell-shadow: 0 22px 64px var(--theme-shadow);
    --theme-shell-border: 2px solid var(--theme-border);
    font-family: var(--theme-font);
}

/* ------------------------------------------------------------------ 公共规则（所有非经典主题） */
body.customer-theme-custom { background: var(--theme-page); background-attachment: fixed; }

body.customer-theme-custom .chat-shell {
    border: var(--theme-shell-border);
    border-radius: var(--theme-radius);
    background: var(--theme-shell);
    box-shadow: var(--theme-shell-shadow);
}

body.customer-theme-custom .chat-header {
    position: relative;
    background: var(--theme-header-pattern), var(--theme-header);
    color: var(--theme-header-text);
    border-bottom: 1px solid var(--theme-border);
}

body.customer-theme-custom .chat-title {
    font-family: var(--theme-title-font);
    color: var(--theme-title-color);
    letter-spacing: 1px;
    text-shadow: 0 2px 8px var(--theme-shadow);
}

body.customer-theme-custom .chat-subtitle { color: var(--theme-header-text); opacity: .85; }
body.customer-theme-custom .chat-audio-hint {
    border-color: var(--theme-link-border);
    background: var(--theme-muted);
    color: var(--theme-muted-text);
}
body.customer-theme-custom .chat-main { background: var(--theme-message); }
body.customer-theme-custom .message-list {
    background: var(--theme-message);
    background-size: var(--theme-message-size);
}

body.customer-theme-custom .quick-link-list {
    background: var(--theme-side);
    border-color: var(--theme-side-border);
}

body.customer-theme-custom .quick-link-list button,
body.customer-theme-custom .quick-link-list a {
    background: var(--theme-link-bg);
    color: var(--theme-link-text);
    border: 1px solid var(--theme-link-border);
    border-radius: var(--theme-control-radius);
    box-shadow: var(--theme-control-shadow);
}

body.customer-theme-custom .history-toggle-button,
body.customer-theme-custom .message-shortcut-button {
    background: var(--theme-link-bg);
    color: var(--theme-link-text);
    border-color: var(--theme-link-border);
}

body.customer-theme-custom .message-shortcut-button.history-button {
    background: var(--theme-button);
    color: var(--theme-user-text);
}

body.customer-theme-custom .message-avatar {
    box-shadow: 0 0 0 2px var(--theme-avatar-ring), 0 4px 10px var(--theme-shadow);
}

body.customer-theme-custom .message-bubble {
    border-radius: var(--theme-bubble-radius);
    box-shadow: var(--theme-bubble-shadow);
}

body.customer-theme-custom .message-row.user .message-bubble {
    background: var(--theme-user);
    color: var(--theme-user-text);
    border: 1px solid var(--theme-user-border);
    border-bottom-right-radius: var(--theme-bubble-tail);
}

body.customer-theme-custom .message-row.admin .message-bubble,
body.customer-theme-custom .message-row.system .message-bubble {
    background: var(--theme-admin);
    color: var(--theme-admin-text);
    border: 1px solid var(--theme-admin-border);
    border-bottom-left-radius: var(--theme-bubble-tail);
}

body.customer-theme-custom .meta-row { color: var(--theme-meta); }
body.customer-theme-custom .message-row.user .meta-row { color: var(--theme-user-meta); }

body.customer-theme-custom .chat-footer {
    background: var(--theme-footer);
    border-color: var(--theme-side-border);
}

body.customer-theme-custom .chat-footer textarea {
    background: var(--theme-textarea);
    color: var(--theme-admin-text);
    border-color: var(--theme-link-border);
    border-radius: var(--theme-control-radius);
}
body.customer-theme-custom.customer-theme-cute .chat-footer textarea,
body.customer-theme-custom.customer-theme-warm .chat-footer textarea,
body.customer-theme-custom.customer-theme-ocean .chat-footer textarea,
body.customer-theme-custom.customer-theme-starry .chat-footer textarea { border-radius: 18px; }

body.customer-theme-custom .chat-footer button,
body.customer-theme-custom .chat-actions .upload-button {
    background: var(--theme-button);
    color: var(--theme-user-text);
    border: 1px solid var(--theme-control-border);
    border-radius: var(--theme-control-radius);
    box-shadow: var(--theme-control-shadow);
}

body.customer-theme-custom #muteButton,
body.customer-theme-custom #desktopChatButton {
    background: var(--theme-muted);
    color: var(--theme-muted-text);
}

body.customer-theme-custom #muteButton.is-muted {
    background: var(--theme-button);
    color: var(--theme-user-text);
}

body.customer-theme-custom .emoji-panel {
    background: var(--theme-link-bg);
    border-color: var(--theme-link-border);
}

body.customer-theme-custom .emoji-panel button { background: var(--theme-muted); }
body.customer-theme-custom .profile-overlay { background: var(--theme-overlay); }

body.customer-theme-custom .profile-dialog {
    background: var(--theme-dialog);
    border: 1px solid var(--theme-border);
    box-shadow: 0 20px 60px var(--theme-shadow);
}

body.customer-theme-custom .profile-title { color: var(--theme-admin-text); font-family: var(--theme-title-font); }
body.customer-theme-custom .profile-subtitle { color: var(--theme-admin-text); opacity: .78; }
body.customer-theme-custom .profile-field span { color: var(--theme-link-text); }

body.customer-theme-custom .profile-field input {
    background: var(--theme-textarea);
    color: var(--theme-admin-text);
    border-color: var(--theme-link-border);
}

body.customer-theme-custom .profile-field input:focus,
body.customer-theme-custom .chat-footer textarea:focus {
    border-color: var(--theme-focus);
    box-shadow: 0 0 0 4px var(--theme-shadow);
    outline: none;
}

body.customer-theme-custom .profile-actions button {
    background: var(--theme-button);
    color: var(--theme-user-text);
    border-radius: var(--theme-control-radius);
}

@media (max-width: 860px) {
    body.customer-theme-custom .chat-shell {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }
    body.customer-theme-cartoon .chat-shell { box-shadow: none; }
}

/* ------------------------------------------------------------------ 卡通：漫画波普 */
body.customer-theme-cartoon {
    --theme-font: "YouYuan", "Microsoft YaHei", "PingFang SC", sans-serif;
    --theme-page: radial-gradient(#f59e0b 1.3px, transparent 1.8px) 0 0 / 14px 14px, #ffd93d;
    --theme-shell: #fffdf5;
    --theme-shell-border: 3px solid #1f2937;
    --theme-shell-shadow: 10px 10px 0 #1f2937;
    --theme-header: #4cc9f0;
    --theme-header-pattern: radial-gradient(rgba(255, 255, 255, .45) 2px, transparent 2.6px) 0 0 / 16px 16px;
    --theme-header-text: #ffffff;
    --theme-border: #1f2937;
    --theme-message: linear-gradient(rgba(76, 201, 240, .08) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, rgba(76, 201, 240, .08) 1px, transparent 1px) 0 0 / 24px 24px, #fffdf5;
    --theme-message-size: auto;
    --theme-side: #e0f7ff;
    --theme-side-border: #1f2937;
    --theme-link-bg: #ffffff;
    --theme-link-text: #1f2937;
    --theme-link-border: #1f2937;
    --theme-user: #ff6b9d;
    --theme-user-text: #ffffff;
    --theme-user-border: #1f2937;
    --theme-admin: #ffffff;
    --theme-admin-text: #1f2937;
    --theme-admin-border: #1f2937;
    --theme-bubble-radius: 16px;
    --theme-bubble-tail: 4px;
    --theme-bubble-shadow: 3px 3px 0 #1f2937;
    --theme-footer: #fffdf5;
    --theme-textarea: #ffffff;
    --theme-button: #4361ee;
    --theme-control-border: #1f2937;
    --theme-control-shadow: 3px 3px 0 #1f2937;
    --theme-control-radius: 12px;
    --theme-muted: #ffd93d;
    --theme-muted-text: #1f2937;
    --theme-overlay: rgba(31, 41, 55, .45);
    --theme-dialog: #fffdf5;
    --theme-focus: #4361ee;
    --theme-shadow: rgba(31, 41, 55, .25);
    --theme-radius: 18px;
    --theme-meta: rgba(31, 41, 55, .55);
    --theme-avatar-ring: #1f2937;
}
body.customer-theme-cartoon .chat-header { border-bottom-width: 3px; }
body.customer-theme-cartoon .chat-title {
    font-size: 24px;
    font-weight: 900;
    text-shadow: 2px 0 0 #1f2937, -2px 0 0 #1f2937, 0 2px 0 #1f2937, 0 -2px 0 #1f2937, 3px 3px 0 #1f2937;
}
body.customer-theme-cartoon .chat-subtitle { color: #1f2937; font-weight: 700; }
body.customer-theme-cartoon .message-bubble { border-width: 2.5px; }
body.customer-theme-cartoon .chat-footer button:active,
body.customer-theme-cartoon .chat-actions .upload-button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #1f2937; }

/* ------------------------------------------------------------------ 可爱：粉紫甜心 */
body.customer-theme-cute {
    --theme-font: "YouYuan", "Microsoft YaHei", "PingFang SC", sans-serif;
    --theme-page: radial-gradient(#ffc2d9 3px, transparent 3.6px) 0 0 / 26px 26px, radial-gradient(#e2c8ff 2px, transparent 2.6px) 13px 13px / 26px 26px, linear-gradient(145deg, #ffe4ef, #f3e6ff 55%, #e3efff);
    --theme-shell: #fffafc;
    --theme-shell-border: 3px solid #ffb3cf;
    --theme-header: linear-gradient(120deg, #ff9ec4, #c8a2ff);
    --theme-header-pattern: radial-gradient(circle at 12% 30%, rgba(255, 255, 255, .5) 0 6px, transparent 7px), radial-gradient(circle at 86% 70%, rgba(255, 255, 255, .45) 0 9px, transparent 10px);
    --theme-header-text: #ffffff;
    --theme-border: #ffb3cf;
    --theme-message: radial-gradient(circle at 10% 15%, rgba(255, 182, 213, .25) 0 30px, transparent 31px), radial-gradient(circle at 90% 70%, rgba(200, 162, 255, .18) 0 46px, transparent 47px), #fff5fa;
    --theme-message-size: auto;
    --theme-side: #fff0f6;
    --theme-side-border: #ffd1e3;
    --theme-link-bg: #ffffff;
    --theme-link-text: #c2447a;
    --theme-link-border: #ffc6dc;
    --theme-user: linear-gradient(135deg, #ff8fb8, #c38bff);
    --theme-user-text: #ffffff;
    --theme-admin: #ffffff;
    --theme-admin-text: #6b3b5a;
    --theme-admin-border: #ffd1e3;
    --theme-bubble-radius: 22px;
    --theme-bubble-tail: 10px;
    --theme-bubble-shadow: 0 6px 16px rgba(255, 143, 184, .22);
    --theme-footer: #fffafc;
    --theme-textarea: #ffffff;
    --theme-button: linear-gradient(135deg, #ff8fb8, #b98cff);
    --theme-control-radius: 999px;
    --theme-muted: #ffe3ef;
    --theme-muted-text: #c2447a;
    --theme-overlay: rgba(194, 68, 122, .22);
    --theme-dialog: #fffafc;
    --theme-focus: #ff8fb8;
    --theme-shadow: rgba(255, 143, 184, .3);
    --theme-radius: 28px;
    --theme-meta: rgba(107, 59, 90, .5);
    --theme-avatar-ring: #ffb3cf;
}
body.customer-theme-cute .chat-header { padding-bottom: 24px; }
body.customer-theme-cute .chat-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 12px;
    background: radial-gradient(circle at 12px 12px, #fffafc 11px, transparent 12px) 0 0 / 24px 12px repeat-x;
    pointer-events: none;
}
body.customer-theme-cute .chat-title::after { content: " \2661"; font-size: .85em; }
body.customer-theme-cute .chat-title { text-shadow: 0 2px 10px rgba(255, 105, 160, .45); }

/* ------------------------------------------------------------------ 传奇：烈焰鎏金 */
body.customer-theme-legend {
    --theme-title-font: "STKaiti", "KaiTi", "Microsoft YaHei", serif;
    --theme-page: radial-gradient(ellipse at 50% 0, #5a1a0a 0%, #1a0b05 55%, #050302 100%);
    --theme-shell: #120c08;
    --theme-shell-border: 2px solid #b8862f;
    --theme-shell-shadow: inset 0 0 0 4px #120c08, inset 0 0 0 5px #6e4b1c, 0 0 46px rgba(255, 110, 30, .28), 0 24px 70px rgba(0, 0, 0, .7);
    --theme-header: radial-gradient(ellipse at 50% 130%, rgba(255, 90, 20, .45), transparent 60%), linear-gradient(180deg, #2a1208, #120805);
    --theme-header-text: #f7d583;
    --theme-border: #b8862f;
    --theme-message: repeating-linear-gradient(45deg, rgba(255, 255, 255, .014) 0 2px, transparent 2px 7px), radial-gradient(ellipse at 50% 0, rgba(147, 78, 27, .25), transparent 45%), linear-gradient(180deg, #1b120c, #0f0a07);
    --theme-message-size: auto;
    --theme-side: #160e09;
    --theme-side-border: #6e4b1c;
    --theme-link-bg: #24170e;
    --theme-link-text: #f1d18a;
    --theme-link-border: #7a5626;
    --theme-user: linear-gradient(135deg, #a3201a, #5c0c08);
    --theme-user-text: #ffe9b0;
    --theme-user-border: #d4a24c;
    --theme-admin: linear-gradient(180deg, #f4e2b8, #e3c88f);
    --theme-admin-text: #3a2210;
    --theme-admin-border: #8a5a22;
    --theme-bubble-radius: 6px;
    --theme-bubble-tail: 2px;
    --theme-bubble-shadow: 0 4px 14px rgba(0, 0, 0, .55);
    --theme-footer: #140d09;
    --theme-textarea: #f4e6c8;
    --theme-button: linear-gradient(180deg, #d9a23a, #8a5716);
    --theme-control-border: #f0c868;
    --theme-control-radius: 3px;
    --theme-muted: #2b1d12;
    --theme-muted-text: #e8c27a;
    --theme-overlay: rgba(10, 4, 2, .75);
    --theme-dialog: #f4e2b8;
    --theme-focus: #e8b04a;
    --theme-shadow: rgba(0, 0, 0, .6);
    --theme-radius: 4px;
    --theme-meta: rgba(58, 34, 16, .6);
    --theme-user-meta: rgba(255, 233, 176, .7);
    --theme-avatar-ring: #d4a24c;
}
body.customer-theme-legend .chat-header { border-top: 1px solid #6e4b1c; }
body.customer-theme-legend .chat-header::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #f7d583 30%, #fff3c4 50%, #f7d583 70%, transparent);
    pointer-events: none;
}
body.customer-theme-legend .chat-title {
    font-size: 26px;
    letter-spacing: 6px;
    background: linear-gradient(180deg, #fff3c4, #e8b04a 55%, #9a6420);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .8));
}
body.customer-theme-legend .chat-footer button,
body.customer-theme-legend .chat-actions .upload-button { color: #1a0d04; font-weight: 700; }
body.customer-theme-legend #muteButton,
body.customer-theme-legend #desktopChatButton { border: 1px solid #6e4b1c; }

/* ------------------------------------------------------------------ 传世：翠玉青铜 */
body.customer-theme-world-legend {
    --theme-title-font: "STKaiti", "KaiTi", "Microsoft YaHei", serif;
    --theme-page: radial-gradient(circle at 50% 0, #2f6b5f, #0f2e2a 55%, #061513);
    --theme-shell: #f3efe2;
    --theme-shell-border: 2px solid #b08d4a;
    --theme-shell-shadow: inset 0 0 0 5px #f3efe2, inset 0 0 0 6px rgba(176, 141, 74, .45), 0 24px 70px rgba(3, 20, 18, .6);
    --theme-header: linear-gradient(135deg, #0f3b35, #1f6a5c 60%, #0f3b35);
    --theme-header-pattern: repeating-linear-gradient(90deg, rgba(212, 180, 110, .16) 0 2px, transparent 2px 16px), repeating-linear-gradient(0deg, rgba(212, 180, 110, .1) 0 2px, transparent 2px 16px);
    --theme-header-text: #f2dca0;
    --theme-border: #b08d4a;
    --theme-message: radial-gradient(circle at 18% 12%, rgba(31, 106, 92, .1), transparent 32%), radial-gradient(circle at 85% 80%, rgba(176, 141, 74, .12), transparent 35%), #efe9d8;
    --theme-message-size: auto;
    --theme-side: #e8e2cf;
    --theme-side-border: #c9b27c;
    --theme-link-bg: #fffaf0;
    --theme-link-text: #1f5a4f;
    --theme-link-border: #c9b27c;
    --theme-user: linear-gradient(135deg, #1f7a68, #12544a);
    --theme-user-text: #fdf6dc;
    --theme-user-border: #c9a560;
    --theme-admin: #fffaf0;
    --theme-admin-text: #23423b;
    --theme-admin-border: #c9b27c;
    --theme-bubble-radius: 14px;
    --theme-bubble-tail: 3px;
    --theme-bubble-shadow: 0 4px 12px rgba(15, 59, 53, .14);
    --theme-footer: #f3efe2;
    --theme-textarea: #fffdf6;
    --theme-button: linear-gradient(180deg, #2a8a75, #155a4c);
    --theme-control-border: #c9a560;
    --theme-control-radius: 6px;
    --theme-muted: #e6dcc0;
    --theme-muted-text: #5a4a2a;
    --theme-overlay: rgba(6, 30, 27, .55);
    --theme-dialog: #fffaf0;
    --theme-focus: #1f7a68;
    --theme-shadow: rgba(6, 30, 27, .3);
    --theme-radius: 10px;
    --theme-meta: rgba(35, 66, 59, .55);
    --theme-avatar-ring: #c9a560;
}
body.customer-theme-world-legend .chat-header { border-bottom: 3px double #c9a560; }
body.customer-theme-world-legend .chat-title { font-size: 25px; letter-spacing: 4px; }
body.customer-theme-world-legend .chat-title::before,
body.customer-theme-world-legend .chat-title::after { content: "\25C6"; font-size: 11px; color: #c9a560; vertical-align: middle; margin: 0 8px; }
body.customer-theme-world-legend .quick-link-list a,
body.customer-theme-world-legend .quick-link-list button { border-left: 4px solid #1f7a68; }

/* ------------------------------------------------------------------ 霸气：黑金斜切 */
body.customer-theme-domineering {
    --theme-font: "Microsoft YaHei", "PingFang SC", sans-serif;
    --theme-title-font: "Impact", "Microsoft YaHei", sans-serif;
    --theme-page: repeating-linear-gradient(135deg, #0d0d0d 0 18px, #141414 18px 36px);
    --theme-shell: #111111;
    --theme-shell-border: 2px solid #f5c518;
    --theme-shell-shadow: 0 0 0 1px #000, 0 30px 80px rgba(0, 0, 0, .85);
    --theme-header: linear-gradient(100deg, #000000 0 58%, #f5c518 58% 59.5%, #1a1a1a 59.5% 61%, #f5c518 61% 61.8%, #1a1a1a 61.8%);
    --theme-header-text: #f5c518;
    --theme-border: #f5c518;
    --theme-message: repeating-linear-gradient(135deg, rgba(245, 197, 24, .025) 0 2px, transparent 2px 18px), #161616;
    --theme-message-size: auto;
    --theme-side: #0d0d0d;
    --theme-side-border: #f5c518;
    --theme-link-bg: #1b1b1b;
    --theme-link-text: #f5c518;
    --theme-link-border: #3a3a3a;
    --theme-user: linear-gradient(135deg, #f5c518, #d49a00);
    --theme-user-text: #111111;
    --theme-admin: #232323;
    --theme-admin-text: #f2f2f2;
    --theme-admin-border: #3a3a3a;
    --theme-bubble-radius: 0;
    --theme-bubble-tail: 0;
    --theme-bubble-shadow: 0 6px 16px rgba(0, 0, 0, .5);
    --theme-footer: #0f0f0f;
    --theme-textarea: #1b1b1b;
    --theme-button: #f5c518;
    --theme-control-radius: 0;
    --theme-muted: #262626;
    --theme-muted-text: #f5c518;
    --theme-overlay: rgba(0, 0, 0, .78);
    --theme-dialog: #161616;
    --theme-focus: #f5c518;
    --theme-shadow: rgba(245, 197, 24, .18);
    --theme-radius: 0;
    --theme-meta: rgba(242, 242, 242, .45);
    --theme-user-meta: rgba(17, 17, 17, .62);
    --theme-avatar-ring: #f5c518;
}
body.customer-theme-domineering .chat-title {
    display: inline-block;
    font-size: 27px;
    font-weight: 900;
    font-style: italic;
    letter-spacing: 3px;
    transform: skewX(-8deg);
    text-shadow: 3px 3px 0 #000;
}
body.customer-theme-domineering .message-row.admin .message-bubble,
body.customer-theme-domineering .message-row.system .message-bubble { border-left: 4px solid #f5c518; }
body.customer-theme-domineering .message-row.user .message-bubble { font-weight: 600; clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%, 0 10px); }
body.customer-theme-domineering .message-row.admin .message-bubble { clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
body.customer-theme-domineering .chat-footer button,
body.customer-theme-domineering .chat-actions .upload-button {
    color: #111111;
    font-weight: 800;
    clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
body.customer-theme-domineering #muteButton,
body.customer-theme-domineering #desktopChatButton { color: #f5c518; }
body.customer-theme-domineering .chat-footer textarea { border: 1px solid #f5c518; color: #f2f2f2; }
body.customer-theme-domineering .quick-link-list a,
body.customer-theme-domineering .quick-link-list button { border-left: 3px solid #f5c518; }
body.customer-theme-domineering .profile-title,
body.customer-theme-domineering .profile-subtitle { color: #f2f2f2; }
body.customer-theme-domineering .profile-actions button { color: #111111; font-weight: 800; }

/* ------------------------------------------------------------------ 温馨：暖阳小屋 */
body.customer-theme-warm {
    --theme-font: "YouYuan", "Microsoft YaHei", "PingFang SC", sans-serif;
    --theme-page: radial-gradient(circle at 85% 10%, rgba(255, 240, 200, .9), transparent 30%), linear-gradient(160deg, #fde2c8, #f9c9a9 50%, #f3b29a);
    --theme-shell: #fffaf3;
    --theme-shell-border: 2px solid #f3cfae;
    --theme-header: radial-gradient(circle at 92% 0, rgba(255, 240, 200, .7), transparent 38%), linear-gradient(135deg, #f6a86b, #e97f5e);
    --theme-header-text: #ffffff;
    --theme-border: #f3cfae;
    --theme-message: repeating-linear-gradient(180deg, transparent 0 31px, rgba(233, 127, 94, .08) 31px 32px), #fff6ec;
    --theme-message-size: auto;
    --theme-side: #fff1e3;
    --theme-side-border: #f6d5b8;
    --theme-link-bg: #ffffff;
    --theme-link-text: #a24b2a;
    --theme-link-border: #f6c9a2;
    --theme-user: linear-gradient(135deg, #f08a5d, #e5635a);
    --theme-user-text: #ffffff;
    --theme-admin: #ffffff;
    --theme-admin-text: #5a3826;
    --theme-admin-border: #f6d5b8;
    --theme-bubble-radius: 20px;
    --theme-bubble-tail: 6px;
    --theme-bubble-shadow: 0 6px 16px rgba(196, 110, 60, .14);
    --theme-footer: #fffaf3;
    --theme-textarea: #ffffff;
    --theme-button: linear-gradient(135deg, #f08a5d, #e26a50);
    --theme-control-radius: 999px;
    --theme-muted: #fde7d3;
    --theme-muted-text: #a24b2a;
    --theme-overlay: rgba(162, 75, 42, .25);
    --theme-dialog: #fffaf3;
    --theme-focus: #f08a5d;
    --theme-shadow: rgba(196, 110, 60, .25);
    --theme-radius: 26px;
    --theme-meta: rgba(90, 56, 38, .5);
    --theme-avatar-ring: #f6c9a2;
}
body.customer-theme-warm .chat-title::before { content: "\2600"; margin-right: 8px; color: #fff3c4; }
body.customer-theme-warm .chat-title { text-shadow: 0 2px 8px rgba(162, 75, 42, .35); }

/* ------------------------------------------------------------------ 科技：霓虹 HUD */
body.customer-theme-technology {
    --theme-title-font: "Consolas", "Microsoft YaHei", monospace;
    --theme-page: linear-gradient(rgba(34, 211, 238, .07) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, rgba(34, 211, 238, .07) 1px, transparent 1px) 0 0 / 28px 28px, radial-gradient(ellipse at top, #0b2a4a, #050b18 70%);
    --theme-shell: rgba(6, 16, 32, .94);
    --theme-shell-border: 1px solid rgba(34, 211, 238, .6);
    --theme-shell-shadow: 0 0 0 1px rgba(34, 211, 238, .15), 0 0 42px rgba(34, 211, 238, .25), inset 0 0 30px rgba(34, 211, 238, .06);
    --theme-header: linear-gradient(90deg, #071a33, #0b2d52 50%, #071a33);
    --theme-header-pattern: repeating-linear-gradient(0deg, rgba(34, 211, 238, .06) 0 1px, transparent 1px 3px);
    --theme-header-text: #a5f3fc;
    --theme-title-color: #67e8f9;
    --theme-border: rgba(34, 211, 238, .6);
    --theme-message: linear-gradient(rgba(34, 211, 238, .05) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, rgba(34, 211, 238, .05) 1px, transparent 1px) 0 0 / 24px 24px, #071224;
    --theme-message-size: auto;
    --theme-side: rgba(5, 14, 28, .9);
    --theme-side-border: rgba(34, 211, 238, .35);
    --theme-link-bg: rgba(14, 40, 68, .85);
    --theme-link-text: #a5f3fc;
    --theme-link-border: rgba(34, 211, 238, .45);
    --theme-user: linear-gradient(135deg, #06b6d4, #3b82f6);
    --theme-user-text: #ffffff;
    --theme-user-border: #67e8f9;
    --theme-admin: rgba(14, 40, 68, .92);
    --theme-admin-text: #d8f6ff;
    --theme-admin-border: rgba(34, 211, 238, .55);
    --theme-bubble-radius: 4px;
    --theme-bubble-tail: 0;
    --theme-bubble-shadow: 0 0 14px rgba(34, 211, 238, .22);
    --theme-footer: #061024;
    --theme-textarea: rgba(8, 24, 44, .95);
    --theme-button: linear-gradient(135deg, #0891b2, #2563eb);
    --theme-control-border: rgba(103, 232, 249, .7);
    --theme-control-radius: 3px;
    --theme-muted: rgba(34, 211, 238, .1);
    --theme-muted-text: #67e8f9;
    --theme-overlay: rgba(2, 8, 20, .75);
    --theme-dialog: #0a1b33;
    --theme-focus: #22d3ee;
    --theme-shadow: rgba(34, 211, 238, .25);
    --theme-radius: 2px;
    --theme-meta: rgba(165, 243, 252, .55);
    --theme-user-meta: rgba(255, 255, 255, .75);
    --theme-avatar-ring: #22d3ee;
}
body.customer-theme-technology .chat-shell::before {
    content: "";
    position: absolute;
    inset: 4px;
    z-index: 30;
    pointer-events: none;
    background:
        linear-gradient(#22d3ee, #22d3ee) left top / 20px 2px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) left top / 2px 20px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) right top / 20px 2px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) right top / 2px 20px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) left bottom / 20px 2px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) left bottom / 2px 20px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) right bottom / 20px 2px no-repeat,
        linear-gradient(#22d3ee, #22d3ee) right bottom / 2px 20px no-repeat;
}
body.customer-theme-technology .chat-header { box-shadow: 0 1px 14px rgba(34, 211, 238, .45); }
body.customer-theme-technology .chat-title { letter-spacing: 3px; text-shadow: 0 0 10px rgba(34, 211, 238, .9); }
body.customer-theme-technology .chat-title::before { content: "> "; color: #22d3ee; }
body.customer-theme-technology .meta-row { font-family: "Consolas", monospace; }
body.customer-theme-technology .chat-footer textarea { color: #e0f7ff; }
body.customer-theme-technology .profile-title,
body.customer-theme-technology .profile-subtitle { color: #d8f6ff; }

/* ------------------------------------------------------------------ 星空：银河玻璃 */
body.customer-theme-starry {
    --theme-page:
        radial-gradient(1.5px 1.5px at 20px 30px, #ffffff, transparent) 0 0 / 120px 120px,
        radial-gradient(1px 1px at 70px 80px, #e9d5ff, transparent) 0 0 / 120px 120px,
        radial-gradient(1px 1px at 100px 20px, #bfdbfe, transparent) 0 0 / 120px 120px,
        radial-gradient(2px 2px at 50px 110px, rgba(255, 255, 255, .8), transparent) 0 0 / 160px 160px,
        radial-gradient(circle at 20% 20%, rgba(168, 85, 247, .38), transparent 42%),
        radial-gradient(circle at 80% 75%, rgba(59, 130, 246, .32), transparent 45%),
        #0b0820;
    --theme-shell: rgba(20, 14, 48, .72);
    --theme-shell-border: 1px solid rgba(196, 181, 253, .35);
    --theme-shell-shadow: 0 0 60px rgba(168, 85, 247, .3), 0 24px 70px rgba(0, 0, 0, .6);
    --theme-header: linear-gradient(135deg, rgba(76, 29, 149, .88), rgba(30, 27, 75, .88));
    --theme-header-pattern: radial-gradient(1px 1px at 12px 10px, #ffffff, transparent) 0 0 / 60px 40px, radial-gradient(1.5px 1.5px at 40px 28px, #f5d0fe, transparent) 0 0 / 60px 40px;
    --theme-header-text: #ede9fe;
    --theme-border: rgba(196, 181, 253, .35);
    --theme-message:
        radial-gradient(1px 1px at 30px 40px, rgba(255, 255, 255, .7), transparent) 0 0 / 140px 140px,
        radial-gradient(1px 1px at 100px 90px, rgba(233, 213, 255, .6), transparent) 0 0 / 140px 140px,
        rgba(15, 10, 40, .55);
    --theme-message-size: auto;
    --theme-side: rgba(15, 10, 40, .55);
    --theme-side-border: rgba(196, 181, 253, .22);
    --theme-link-bg: rgba(255, 255, 255, .08);
    --theme-link-text: #e9d5ff;
    --theme-link-border: rgba(196, 181, 253, .28);
    --theme-user: linear-gradient(135deg, #a855f7, #ec4899);
    --theme-user-text: #ffffff;
    --theme-admin: rgba(255, 255, 255, .1);
    --theme-admin-text: #ede9fe;
    --theme-admin-border: rgba(196, 181, 253, .3);
    --theme-bubble-radius: 18px;
    --theme-bubble-tail: 6px;
    --theme-bubble-shadow: 0 0 18px rgba(168, 85, 247, .25);
    --theme-footer: rgba(15, 10, 40, .82);
    --theme-textarea: rgba(255, 255, 255, .08);
    --theme-button: linear-gradient(135deg, #7c3aed, #db2777);
    --theme-control-radius: 999px;
    --theme-muted: rgba(255, 255, 255, .1);
    --theme-muted-text: #ddd6fe;
    --theme-overlay: rgba(5, 3, 20, .7);
    --theme-dialog: #1e1640;
    --theme-focus: #c084fc;
    --theme-shadow: rgba(168, 85, 247, .3);
    --theme-radius: 22px;
    --theme-meta: rgba(237, 233, 254, .55);
    --theme-avatar-ring: rgba(216, 180, 254, .8);
}
body.customer-theme-starry .chat-shell,
body.customer-theme-starry .message-row.admin .message-bubble { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body.customer-theme-starry .chat-title {
    background: linear-gradient(90deg, #f0abfc, #c4b5fd, #93c5fd);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
    filter: drop-shadow(0 0 8px rgba(192, 132, 252, .6));
}
body.customer-theme-starry .chat-title::after { content: " \2726"; color: #fde68a; -webkit-text-fill-color: #fde68a; }
body.customer-theme-starry .chat-footer textarea { color: #f5f3ff; }
body.customer-theme-starry .profile-title,
body.customer-theme-starry .profile-subtitle { color: #ede9fe; }

/* ------------------------------------------------------------------ 国风：水墨朱砂 */
body.customer-theme-chinese {
    --theme-title-font: "STKaiti", "KaiTi", "Microsoft YaHei", serif;
    --theme-page: radial-gradient(ellipse 60% 26% at 18% 100%, rgba(40, 40, 40, .28), transparent 70%), radial-gradient(ellipse 50% 22% at 78% 100%, rgba(40, 40, 40, .2), transparent 70%), radial-gradient(ellipse 40% 18% at 50% 100%, rgba(40, 40, 40, .12), transparent 70%), linear-gradient(180deg, #f3ecdc, #e6dcc4);
    --theme-shell: #faf6ec;
    --theme-shell-border: 1px solid #8b1e1e;
    --theme-shell-shadow: inset 0 0 0 6px #faf6ec, inset 0 0 0 7px rgba(139, 30, 30, .35), 0 22px 60px rgba(60, 40, 20, .25);
    --theme-header: #9e1b1b;
    --theme-header-pattern: radial-gradient(circle at 0 100%, transparent 9px, rgba(255, 220, 180, .14) 10px 11px, transparent 12px) 0 0 / 22px 22px, radial-gradient(circle at 100% 100%, transparent 9px, rgba(255, 220, 180, .14) 10px 11px, transparent 12px) 11px 0 / 22px 22px;
    --theme-header-text: #fff3d6;
    --theme-border: #8b1e1e;
    --theme-message: radial-gradient(ellipse at 100% 100%, rgba(0, 0, 0, .08), transparent 45%), radial-gradient(ellipse at 0 0, rgba(139, 30, 30, .05), transparent 40%), #f7f1e3;
    --theme-message-size: auto;
    --theme-side: #f1e9d6;
    --theme-side-border: #c9b48a;
    --theme-link-bg: #fffdf6;
    --theme-link-text: #8b1e1e;
    --theme-link-border: #c9b48a;
    --theme-user: linear-gradient(135deg, #b22222, #8b1e1e);
    --theme-user-text: #fff5e0;
    --theme-user-border: #6d1414;
    --theme-admin: #fffdf6;
    --theme-admin-text: #2b2b2b;
    --theme-admin-border: #c9b48a;
    --theme-bubble-radius: 3px;
    --theme-bubble-tail: 3px;
    --theme-bubble-shadow: 2px 3px 0 rgba(43, 43, 43, .08);
    --theme-footer: #f7f1e3;
    --theme-textarea: #fffdf6;
    --theme-button: #a61c1c;
    --theme-control-border: #6d1414;
    --theme-control-radius: 2px;
    --theme-muted: #e9dfc8;
    --theme-muted-text: #6b4a2a;
    --theme-overlay: rgba(43, 30, 20, .45);
    --theme-dialog: #faf6ec;
    --theme-focus: #a61c1c;
    --theme-shadow: rgba(60, 40, 20, .25);
    --theme-radius: 2px;
    --theme-meta: rgba(43, 43, 43, .5);
    --theme-user-meta: rgba(255, 245, 224, .75);
    --theme-avatar-ring: #c9b48a;
}
body.customer-theme-chinese .chat-title { font-size: 26px; letter-spacing: 8px; text-shadow: none; }
body.customer-theme-chinese .chat-title::after {
    content: "\5BA2";
    display: inline-block;
    margin-left: 6px;
    padding: 0 3px;
    border: 2px solid #f5d7a1;
    border-radius: 3px;
    color: #f5d7a1;
    font-size: 13px;
    letter-spacing: 0;
    line-height: 1.3;
    vertical-align: middle;
}
body.customer-theme-chinese .chat-footer button,
body.customer-theme-chinese .chat-actions .upload-button,
body.customer-theme-chinese .quick-link-list a,
body.customer-theme-chinese .quick-link-list button { font-family: "STKaiti", "KaiTi", "Microsoft YaHei", serif; font-size: 16px; }
body.customer-theme-chinese #muteButton,
body.customer-theme-chinese #desktopChatButton { border: 1px solid #c9b48a; }

/* ------------------------------------------------------------------ 海洋：碧波 */
body.customer-theme-ocean {
    --theme-page: linear-gradient(180deg, #7dd3fc, #0ea5e9 45%, #075985);
    --theme-shell: #f0fbff;
    --theme-shell-border: 2px solid #7dd3fc;
    --theme-header: linear-gradient(135deg, #0284c7, #06b6d4);
    --theme-header-text: #ffffff;
    --theme-border: #7dd3fc;
    --theme-message: radial-gradient(circle at 15% 85%, rgba(255, 255, 255, .8) 0 5px, transparent 6px) 0 0 / 140px 140px, radial-gradient(circle at 70% 40%, rgba(255, 255, 255, .6) 0 3px, transparent 4px) 0 0 / 110px 110px, linear-gradient(180deg, #e0f6ff, #c9eefc);
    --theme-message-size: auto;
    --theme-side: #e6f7ff;
    --theme-side-border: #bae6fd;
    --theme-link-bg: #ffffff;
    --theme-link-text: #0369a1;
    --theme-link-border: #bae6fd;
    --theme-user: linear-gradient(135deg, #0ea5e9, #0369a1);
    --theme-user-text: #ffffff;
    --theme-admin: #ffffff;
    --theme-admin-text: #0c4a6e;
    --theme-admin-border: #bae6fd;
    --theme-bubble-radius: 22px;
    --theme-bubble-tail: 6px;
    --theme-bubble-shadow: 0 6px 16px rgba(3, 105, 161, .14);
    --theme-footer: #f0fbff;
    --theme-textarea: #ffffff;
    --theme-button: linear-gradient(135deg, #06b6d4, #0284c7);
    --theme-control-radius: 999px;
    --theme-muted: #e0f2fe;
    --theme-muted-text: #075985;
    --theme-overlay: rgba(7, 89, 133, .3);
    --theme-dialog: #f0fbff;
    --theme-focus: #0ea5e9;
    --theme-shadow: rgba(3, 105, 161, .28);
    --theme-radius: 24px;
    --theme-meta: rgba(12, 74, 110, .5);
    --theme-avatar-ring: #7dd3fc;
}
body.customer-theme-ocean .chat-header { padding-bottom: 26px; }
body.customer-theme-ocean .chat-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14' viewBox='0 0 80 14'%3E%3Cpath d='M0 8 Q10 0 20 8 T40 8 T60 8 T80 8 V14 H0Z' fill='%23e0f6ff'/%3E%3C/svg%3E") repeat-x 0 100% / 80px 14px;
    pointer-events: none;
}
body.customer-theme-ocean .chat-title::before { content: "\2248 "; opacity: .8; }

/* ------------------------------------------------------------------ 森林：林间木屋 */
body.customer-theme-forest {
    --theme-page: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cpath d='M20 30 Q30 12 42 22 Q32 34 20 30Z' fill='%23ffffff' fill-opacity='.05'/%3E%3Cpath d='M60 70 Q72 52 82 64 Q70 76 60 70Z' fill='%23ffffff' fill-opacity='.04'/%3E%3C/svg%3E") 0 0 / 90px 90px, linear-gradient(160deg, #1f3d2b, #2f5d3a 50%, #14281c);
    --theme-shell: #f4f1e6;
    --theme-shell-border: 2px solid #6b8f4e;
    --theme-header: linear-gradient(135deg, #2d5a35, #3f7a43);
    --theme-header-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='50' viewBox='0 0 70 50'%3E%3Cpath d='M10 30 Q18 14 30 22 Q22 34 10 30Z' fill='%23ffffff' fill-opacity='.08'/%3E%3Cpath d='M44 18 Q50 6 60 12 Q54 22 44 18Z' fill='%23ffffff' fill-opacity='.06'/%3E%3C/svg%3E") 0 0 / 70px 50px;
    --theme-header-text: #f3f7e8;
    --theme-border: #6b8f4e;
    --theme-message: radial-gradient(circle at 92% 8%, rgba(107, 143, 78, .14), transparent 30%), radial-gradient(circle at 6% 94%, rgba(138, 90, 51, .1), transparent 28%), #eef1e2;
    --theme-message-size: auto;
    --theme-side: #e7ebd6;
    --theme-side-border: #c9d4a8;
    --theme-link-bg: #fffef6;
    --theme-link-text: #3d6b2a;
    --theme-link-border: #c9d4a8;
    --theme-user: linear-gradient(135deg, #5b8c3a, #3d6b2a);
    --theme-user-text: #ffffff;
    --theme-admin: #fffef6;
    --theme-admin-text: #2f3b25;
    --theme-admin-border: #c9d4a8;
    --theme-bubble-radius: 16px;
    --theme-bubble-tail: 4px;
    --theme-bubble-shadow: 0 5px 14px rgba(47, 59, 37, .12);
    --theme-footer: #f4f1e6;
    --theme-textarea: #fffef6;
    --theme-button: linear-gradient(180deg, #9c6a3e, #7a4b26);
    --theme-control-border: #5e3a1d;
    --theme-control-radius: 10px;
    --theme-muted: #e2e8c8;
    --theme-muted-text: #3d5a2a;
    --theme-overlay: rgba(20, 40, 28, .5);
    --theme-dialog: #f4f1e6;
    --theme-focus: #5b8c3a;
    --theme-shadow: rgba(20, 40, 28, .3);
    --theme-radius: 14px;
    --theme-meta: rgba(47, 59, 37, .5);
    --theme-avatar-ring: #9cb87a;
}
body.customer-theme-forest .chat-header { border-bottom: 4px solid #8a5a33; }
body.customer-theme-forest .chat-title::before { content: "\2618 "; color: #b5d98a; }
body.customer-theme-forest .chat-footer button,
body.customer-theme-forest .chat-actions .upload-button { color: #fff6e6; }

/* ------------------------------------------------------------------ 极简：黑白留白 */
body.customer-theme-minimal {
    --theme-font: "Microsoft YaHei", "Segoe UI", "PingFang SC", sans-serif;
    --theme-page: #f5f5f4;
    --theme-shell: #ffffff;
    --theme-shell-border: 1px solid #e5e5e5;
    --theme-shell-shadow: none;
    --theme-header: #ffffff;
    --theme-header-text: #171717;
    --theme-border: #e5e5e5;
    --theme-message: #ffffff;
    --theme-message-size: auto;
    --theme-side: #fafafa;
    --theme-side-border: #eeeeee;
    --theme-link-bg: #ffffff;
    --theme-link-text: #171717;
    --theme-link-border: #e5e5e5;
    --theme-user: #171717;
    --theme-user-text: #ffffff;
    --theme-admin: #f5f5f5;
    --theme-admin-text: #171717;
    --theme-admin-border: transparent;
    --theme-bubble-radius: 4px;
    --theme-bubble-tail: 4px;
    --theme-bubble-shadow: none;
    --theme-footer: #ffffff;
    --theme-textarea: #ffffff;
    --theme-button: #171717;
    --theme-control-radius: 4px;
    --theme-muted: #f5f5f5;
    --theme-muted-text: #171717;
    --theme-overlay: rgba(23, 23, 23, .35);
    --theme-dialog: #ffffff;
    --theme-focus: #171717;
    --theme-shadow: rgba(23, 23, 23, .06);
    --theme-radius: 0;
    --theme-meta: #a3a3a3;
    --theme-user-meta: rgba(255, 255, 255, .6);
    --theme-avatar-ring: #e5e5e5;
}
body.customer-theme-minimal .chat-header { border-bottom: 1px solid #e5e5e5; }
body.customer-theme-minimal .chat-title { font-weight: 600; letter-spacing: .5px; text-shadow: none; }
body.customer-theme-minimal .chat-subtitle { color: #737373; }
body.customer-theme-minimal .chat-audio-hint { border-color: #d4d4d4; background: #ffffff; color: #171717; }
body.customer-theme-minimal .message-avatar,
body.customer-theme-minimal .quick-link-list a,
body.customer-theme-minimal .quick-link-list button { box-shadow: none; }
body.customer-theme-minimal #muteButton,
body.customer-theme-minimal #desktopChatButton { border: 1px solid #e5e5e5; }

/* ------------------------------------------------------------------ 仙侠：云海仙境（新增） */
body.customer-theme-xianxia {
    --theme-title-font: "STKaiti", "KaiTi", "Microsoft YaHei", serif;
    --theme-page: radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, .85), transparent 40%), radial-gradient(ellipse at 80% 65%, rgba(255, 255, 255, .75), transparent 45%), linear-gradient(180deg, #d6efec, #c6deef 45%, #e5dcf3);
    --theme-shell: rgba(255, 255, 255, .84);
    --theme-shell-border: 1px solid rgba(110, 170, 170, .55);
    --theme-shell-shadow: 0 24px 70px rgba(80, 120, 140, .28);
    --theme-header: linear-gradient(120deg, #6fb7b0, #8fa8d8 55%, #b9a3d9);
    --theme-header-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cpath d='M10 42 Q18 30 30 36 Q34 24 48 30 Q60 26 62 40 Q72 40 70 48 H12 Q4 48 10 42Z' fill='%23ffffff' fill-opacity='.22'/%3E%3Cpath d='M78 20 Q84 12 92 16 Q98 8 108 14 Q116 14 114 22 H80 Q74 22 78 20Z' fill='%23ffffff' fill-opacity='.16'/%3E%3C/svg%3E") 0 0 / 120px 60px;
    --theme-header-text: #ffffff;
    --theme-border: rgba(110, 170, 170, .55);
    --theme-message: radial-gradient(ellipse at 10% 90%, rgba(185, 163, 217, .18), transparent 40%), radial-gradient(ellipse at 90% 10%, rgba(111, 183, 176, .16), transparent 40%), linear-gradient(180deg, rgba(240, 250, 250, .92), rgba(243, 240, 250, .92));
    --theme-message-size: auto;
    --theme-side: rgba(240, 248, 248, .82);
    --theme-side-border: #b7dcd7;
    --theme-link-bg: #ffffff;
    --theme-link-text: #3f6f6a;
    --theme-link-border: #b7dcd7;
    --theme-user: linear-gradient(135deg, #5fa8a0, #7f8fd0);
    --theme-user-text: #ffffff;
    --theme-admin: rgba(255, 255, 255, .94);
    --theme-admin-text: #2f4858;
    --theme-admin-border: #b7dcd7;
    --theme-bubble-radius: 16px;
    --theme-bubble-tail: 4px;
    --theme-bubble-shadow: 0 4px 14px rgba(111, 183, 176, .22);
    --theme-footer: rgba(250, 253, 253, .92);
    --theme-textarea: #ffffff;
    --theme-button: linear-gradient(135deg, #5fa8a0, #8a7fd0);
    --theme-control-radius: 12px;
    --theme-muted: #e8f3f2;
    --theme-muted-text: #3f6f6a;
    --theme-overlay: rgba(63, 111, 106, .28);
    --theme-dialog: #fbfefe;
    --theme-focus: #6fb7b0;
    --theme-shadow: rgba(80, 120, 140, .24);
    --theme-radius: 18px;
    --theme-meta: rgba(47, 72, 88, .5);
    --theme-avatar-ring: #b7dcd7;
}
body.customer-theme-xianxia .chat-shell { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body.customer-theme-xianxia .chat-title { font-size: 26px; letter-spacing: 8px; text-shadow: 0 0 12px rgba(255, 255, 255, .9), 0 2px 6px rgba(63, 111, 106, .45); }

/* ------------------------------------------------------------------ 冰雪：极地霜晶（新增） */
body.customer-theme-ice {
    --theme-page: radial-gradient(#ffffff 1.6px, transparent 2.2px) 0 0 / 42px 42px, radial-gradient(rgba(255, 255, 255, .8) 1px, transparent 1.6px) 21px 21px / 42px 42px, linear-gradient(180deg, #e8f6ff, #cfe9fb 50%, #b4d9f5);
    --theme-shell: rgba(255, 255, 255, .86);
    --theme-shell-border: 1px solid #bfe3f7;
    --theme-shell-shadow: 0 22px 60px rgba(56, 130, 190, .28), inset 0 1px 0 #ffffff;
    --theme-header: linear-gradient(135deg, #7cc4f0, #3b8fd4);
    --theme-header-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg stroke='%23ffffff' stroke-opacity='.28' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M16 6 V26 M7 11 L25 21 M7 21 L25 11'/%3E%3Cpath d='M48 36 V52 M41 40 L55 48 M41 48 L55 40'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 64px 64px;
    --theme-header-text: #ffffff;
    --theme-border: #bfe3f7;
    --theme-message: radial-gradient(rgba(124, 196, 240, .22) 1.2px, transparent 1.8px) 0 0 / 36px 36px, linear-gradient(180deg, #f4fbff, #e6f4fd);
    --theme-message-size: auto;
    --theme-side: #eef8fe;
    --theme-side-border: #cde7f7;
    --theme-link-bg: #ffffff;
    --theme-link-text: #2f6fbf;
    --theme-link-border: #cde7f7;
    --theme-user: linear-gradient(135deg, #4aa3e0, #2f6fbf);
    --theme-user-text: #ffffff;
    --theme-user-border: rgba(255, 255, 255, .55);
    --theme-admin: #ffffff;
    --theme-admin-text: #1e3a5f;
    --theme-admin-border: #cde7f7;
    --theme-bubble-radius: 14px;
    --theme-bubble-tail: 4px;
    --theme-bubble-shadow: 0 6px 16px rgba(56, 130, 190, .14);
    --theme-footer: #f7fcff;
    --theme-textarea: #ffffff;
    --theme-button: linear-gradient(135deg, #5ab0e8, #2f78c8);
    --theme-control-radius: 10px;
    --theme-muted: #e6f3fc;
    --theme-muted-text: #2f6fbf;
    --theme-overlay: rgba(30, 58, 95, .3);
    --theme-dialog: #f7fcff;
    --theme-focus: #4aa3e0;
    --theme-shadow: rgba(56, 130, 190, .25);
    --theme-radius: 16px;
    --theme-meta: rgba(30, 58, 95, .5);
    --theme-avatar-ring: #bfe3f7;
}
body.customer-theme-ice .chat-shell { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.customer-theme-ice .chat-header { padding-bottom: 24px; }
body.customer-theme-ice .chat-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 10px;
    background: linear-gradient(135deg, transparent 50%, #f4fbff 50%) 0 0 / 14px 10px repeat-x, linear-gradient(225deg, transparent 50%, #f4fbff 50%) 0 0 / 14px 10px repeat-x;
    pointer-events: none;
}
body.customer-theme-ice .chat-title::before { content: "\2744 "; }
body.customer-theme-ice .chat-title { text-shadow: 0 0 10px rgba(224, 242, 255, .9), 0 2px 4px rgba(30, 58, 95, .3); }
