/* 萝卜Chat 页面样式：全部由 mdui 设计令牌（--mdui-color-*）驱动，
   明暗主题与配色（青绿/暖色/跟随壁纸）自动跟随主站 yunpa-theme-mode /
   yunpa-theme-color / yunpa-wallpaper-hex，不再硬编码紫色。
   配色主题的表面淡色规则与主站 src/style.css 完全一致。 */

:root {
  --radius: 14px;
}

body {
    font-family: "ZCOOL XiaoWei", "Inter", sans-serif;
    background-color: rgb(var(--mdui-color-background));
    color: rgb(var(--mdui-color-on-background));
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    position: relative;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 18% 82%, rgba(var(--mdui-color-primary), .08) 0%, transparent 50%),
        radial-gradient(ellipse at 82% 15%, rgba(var(--mdui-color-secondary), .06) 0%, transparent 50%),
        rgb(var(--mdui-color-background));
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .032;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 200px 200px;
}

.chat-container {
    width: 100%;
    max-width: 600px;
    background: rgba(var(--mdui-color-surface-container), .94);
    backdrop-filter: blur(16px);
    padding: 20px;
    border-radius: var(--radius);
    border: 1px solid rgba(var(--mdui-color-outline-variant), .6);
    box-shadow: 0 4px 24px rgba(var(--mdui-color-shadow), .55);
    display: flex;
    flex-direction: column;
    height: 80vh;
    margin-top: 10px;
}

.messages {
    flex: 1;
    overflow-y: auto;
    border: 1px solid rgba(var(--mdui-color-outline-variant), .6);
    margin-bottom: 20px;
    padding: 15px;
    border-radius: calc(var(--radius) - 2px);
    background: rgba(var(--mdui-color-surface-container-lowest), .92);
    font-size: 15px;
    color: rgb(var(--mdui-color-on-surface));
}

.message {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.message img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
    border: 2px solid rgba(var(--mdui-color-primary), .25);
}

.message-content {
    padding: 12px 16px;
    border-radius: 12px;
    max-width: 85%;
    font-size: 15px;
    line-height: 1.6;
    color: rgb(var(--mdui-color-on-surface));
}

.message.user {
    flex-direction: row-reverse;
}

.message.user img {
    margin-left: 10px;
    margin-right: 0;
}

.message.user .message-content {
    background: linear-gradient(135deg, rgba(var(--mdui-color-primary-container), .4), rgba(var(--mdui-color-secondary-container), .2));
    border: 1px solid rgba(var(--mdui-color-primary), .35);
    text-align: right;
}

.message.bot .message-content {
    background: rgba(var(--mdui-color-surface-container), .9);
    border: 1px solid rgba(var(--mdui-color-outline-variant), .6);
}

.input-container {
    display: flex;
    gap: 8px;
    align-items: center;
}

.input-container mdui-text-field {
    flex: 1;
    min-width: 0;
}

@media (max-width: 600px) {
    .chat-container {
        height: 83vh;
        padding: 15px;
        margin-top: 50px;
    }
    .messages {
        padding: 20px;
        font-size: 14px;
    }
    .input-container {
        gap: 8px;
    }
    .message img {
        width: 30px;
        height: 30px;
    }
    .message-content {
        font-size: 14px;
        max-width: 100%;
    }
}

/* 段落样式 */
.message-content p {
    margin: 10px 0;
    line-height: 1.6;
    color: rgb(var(--mdui-color-on-surface));
}

.message-content .title {
    font-size: 1.3em;
    font-weight: bold;
    display: block;
    margin: 16px 0 12px 0;
    color: rgb(var(--mdui-color-primary));
}

.message-content .bold-text {
    font-weight: bold;
    font-size: 1.1em;
    color: rgb(var(--mdui-color-primary));
}

.message-content .section-title {
    font-size: 1.1em;
    font-weight: bold;
    margin: 16px 0 8px 0;
    color: rgb(var(--mdui-color-on-surface));
}

.message-content .subsection {
    margin: 8px 0 8px 20px;
}

.message-content .subtitle {
    font-weight: bold;
    color: rgb(var(--mdui-color-on-surface));
}

.loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 15px;
    color: rgb(var(--mdui-color-on-surface-variant));
    margin-bottom: 20px;
    font-family: "ZCOOL XiaoWei", sans-serif;
}

/* ---------- 配色主题的表面淡色（与主站 src/style.css 一致） ---------- */
/* mdui setColorScheme 只重绘 accent 色，surface/background 家族来自中性色板；
   这里按 html[data-yunpa-theme-color] 把背景相关 token 染成淡淡的 accent 色调：
   - 浅色：surface 家族整体向 accent 色靠近
   - 深色：表面保持深色但带 accent 色调
   wallpaper 主题的淡底由 JS 写入 --yunpa-bg-tint-light/-dark。 */

html[data-yunpa-theme-color="cyan"] {
  --mdui-color-background: 240,253,250;
  --mdui-color-surface: 240,253,250;
  --mdui-color-surface-dim: 221,236,235;
  --mdui-color-surface-bright: 245,252,251;
  --mdui-color-surface-container-lowest: 255,255,255;
  --mdui-color-surface-container-low: 240,249,247;
  --mdui-color-surface-container: 230,244,241;
  --mdui-color-surface-container-high: 221,236,235;
  --mdui-color-surface-container-highest: 212,230,228;
  --mdui-color-surface-variant: 216,233,229;
  --mdui-color-on-surface-variant: 61,95,88;
  --mdui-color-outline-variant: 168,204,197;
  --mdui-color-outline: 107,138,131;
  --mdui-color-on-surface: 13,31,27;
}
html[data-yunpa-theme-color="cyan"].mdui-theme-dark {
  --mdui-color-background: 20,25,24;
  --mdui-color-surface: 20,25,24;
  --mdui-color-surface-dim: 20,25,24;
  --mdui-color-surface-bright: 58,64,62;
  --mdui-color-surface-container-lowest: 15,19,18;
  --mdui-color-surface-container-low: 28,33,32;
  --mdui-color-surface-container: 32,37,36;
  --mdui-color-surface-container-high: 42,48,46;
  --mdui-color-surface-container-highest: 53,59,57;
  --mdui-color-surface-variant: 73,79,77;
  --mdui-color-on-surface-variant: 201,226,221;
  --mdui-color-outline-variant: 73,79,77;
  --mdui-color-outline: 146,171,166;
  --mdui-color-on-surface: 226,231,228;
}
html[data-yunpa-theme-color="warm"] {
  --mdui-color-background: 255,248,242;
  --mdui-color-surface: 255,248,242;
  --mdui-color-surface-dim: 237,227,218;
  --mdui-color-surface-bright: 255,250,246;
  --mdui-color-surface-container-lowest: 255,255,255;
  --mdui-color-surface-container-low: 255,245,238;
  --mdui-color-surface-container: 250,238,229;
  --mdui-color-surface-container-high: 244,231,220;
  --mdui-color-surface-container-highest: 238,223,211;
  --mdui-color-surface-variant: 242,225,214;
  --mdui-color-on-surface-variant: 110,88,74;
  --mdui-color-outline-variant: 214,196,183;
  --mdui-color-outline: 156,136,121;
  --mdui-color-on-surface: 47,32,25;
}
html[data-yunpa-theme-color="warm"].mdui-theme-dark {
  --mdui-color-background: 26,22,19;
  --mdui-color-surface: 26,22,19;
  --mdui-color-surface-dim: 26,22,19;
  --mdui-color-surface-bright: 66,60,55;
  --mdui-color-surface-container-lowest: 20,17,15;
  --mdui-color-surface-container-low: 35,30,27;
  --mdui-color-surface-container: 40,34,31;
  --mdui-color-surface-container-high: 50,44,40;
  --mdui-color-surface-container-highest: 62,55,51;
  --mdui-color-surface-variant: 79,68,61;
  --mdui-color-on-surface-variant: 214,195,182;
  --mdui-color-outline-variant: 79,68,61;
  --mdui-color-outline: 150,132,119;
  --mdui-color-on-surface: 233,226,220;
}
html[data-yunpa-theme-color="wallpaper"] {
  --mdui-color-background: var(--yunpa-bg-tint-light, 240,253,250);
  --mdui-color-surface: var(--yunpa-bg-tint-light, 240,253,250);
  --mdui-color-surface-container-lowest: 255,255,255;
  --mdui-color-surface-container-low: var(--yunpa-bg-tint-light, 240,249,247);
  --mdui-color-surface-container: var(--yunpa-bg-tint-light, 230,244,241);
  --mdui-color-surface-container-high: var(--yunpa-bg-tint-light, 221,236,235);
  --mdui-color-surface-container-highest: var(--yunpa-bg-tint-light, 212,230,228);
}
html[data-yunpa-theme-color="wallpaper"].mdui-theme-dark {
  --mdui-color-background: var(--yunpa-bg-tint-dark, 20,25,24);
  --mdui-color-surface: var(--yunpa-bg-tint-dark, 20,25,24);
  --mdui-color-surface-container-lowest: var(--yunpa-bg-tint-dark, 15,19,18);
  --mdui-color-surface-container-low: var(--yunpa-bg-tint-dark, 28,33,32);
  --mdui-color-surface-container: var(--yunpa-bg-tint-dark, 32,37,36);
  --mdui-color-surface-container-high: var(--yunpa-bg-tint-dark, 42,48,46);
  --mdui-color-surface-container-highest: var(--yunpa-bg-tint-dark, 53,59,57);
}