@import url('https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=LXGW+WenKai+TC&family=ZCOOL+XiaoWei&family=Playfair+Display:wght@400;600;700&family=Rationale&display=swap');

/* =========================================================
   青春恋爱 · 沈栖月 CSS【通用版】
   Universal Sweet Romance UI

   适配目标：
   - 普通 Markdown 页面
   - AI聊天/角色卡网站
   - 酒馆类界面
   - details / summary 状态栏
   - romance-status 状态栏外壳
   - sqy-outfit 服装立绘 / sqy-emoji Q版表情

   改动说明：
   - 不再强依赖单一网站的顶栏和底部结构
   - 保留原站点 ID 作为兼容项
   - 增加通用容器：.markdown-body / .prose / .message-content / .mes_text 等
   - 手机端压缩拍立得、气泡和状态栏，避免撑爆页面
   - 裸露类名已安全禁用，不保留裸露图片外链
========================================================= */

/* ==================== 0. 主题变量 ==================== */

:root {
    --love-img-01: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH5pqBxpJ5qAMVOVFiE0sOhflSSvkXwAChyIAAt1aOFQY_NoclVN3_DsE.png');
    --love-img-02: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH5tqBxpNGGYizLo11bnTQbZuWAqPTgACiCIAAt1aOFQnHfaKOcg0RjsE.png');
    --love-img-03: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH5xqBxpQ3zFqHOTi_lGQI0g7z6nCMAACiSIAAt1aOFSuFibJo_lTjTsE.png');
    --love-img-04: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH51qBxpToLiusoIvo4v059d_J6LdzwACiiIAAt1aOFQZrOS0kqH1XTsE.png');
    --love-img-05: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH55qBxpX9U3Xa7WDDnKBKP6ALUhxFwACiyIAAt1aOFQIp-Vz1LwGwzsE.png');
    --love-img-06: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH59qBxpaoPR1roSxhKx_QLKmB49DAgACjCIAAt1aOFR9BLYEtha1IzsE.png');
    --love-img-07: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH6BqBxpdckrEKluReKZDIOweOKhglgACjSIAAt1aOFTfCXwLyRVKyjsE.png');
    --love-img-08: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH6FqBxphzY5CNMZVGa_JvwtyrXZFjgACjiIAAt1aOFRj-89LM_xRpjsE.png');
    --love-img-09: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH6JqBxpkqH4KdNBa_C7MdnYyywUvdgACjyIAAt1aOFTUh9VIYHJSJzsE.png');

    --love-pink: #ff86b6;
    --love-pink-deep: #ff4f86;
    --love-pink-soft: #ffe4ef;
    --love-blue: #8fc9ff;
    --love-blue-soft: #e8f5ff;
    --love-cream: #fffaf2;
    --love-paper: rgba(255,255,255,0.88);
    --love-ink: #4b3b46;
    --love-muted: #806878;
    --love-shadow: rgba(255, 134, 182, 0.28);
    --love-radius-lg: 28px;
    --love-radius-md: 18px;
    --love-radius-sm: 12px;
    --love-font-body: "LXGW WenKai TC", "ZCOOL XiaoWei", "Microsoft YaHei", "PingFang SC", serif;
    --love-font-title: "Ma Shan Zheng", "LXGW WenKai TC", cursive;
}

/* ==================== 1. 通用正文容器 ==================== */

:where(
  .markdown-body,
  .prose,
  .message-content,
  .message-body,
  .message,
  .chat-message,
  .chat-content,
  .mes_text,
  .mes-block,
  .swipes,
  .custom-html,
  .custom-content,
  .ai-response,
  .bot-message,
  .assistant-message,
  .user-message,
  .response-content,
  .reply-content,
  .text-content,
  .article-content,
  #customized-answer-content,
  #customized-question-content,
  article,
  main
) {
    box-sizing: border-box;
    color: var(--love-ink);
    font-family: var(--love-font-body);
    line-height: 1.78;
    letter-spacing: 0.02em;
}

/* 页面浅色青春背景。若不想影响全站，可删除 body 这一段。 */
body {
    background:
        radial-gradient(circle at 12% 8%, rgba(255, 160, 205, 0.30), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(143, 201, 255, 0.28), transparent 30%),
        linear-gradient(135deg, #fff8fb 0%, #edf8ff 46%, #fff8ed 100%) !important;
}

/* 通用背景柔光，不依赖 .chat-container */
:where(main, article, .chat-container, .message-list, .conversation, .chat-content-wrap)::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255,255,255,0.70), rgba(255,255,255,0.82)),
        var(--love-img-03);
    background-size: cover;
    background-position: center;
    filter: saturate(1.05) brightness(1.03);
    z-index: -3;
}

/* 可选拍立得装饰：通用，不影响点击 */
body::before,
body::after {
    content: "";
    position: fixed;
    top: 116px;
    width: 112px;
    height: 150px;
    background-size: cover;
    background-position: center;
    border: 8px solid #fff;
    border-bottom-width: 24px;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(255, 134, 182, 0.24), 0 0 0 1px rgba(255, 134, 182, 0.22);
    z-index: 0;
    pointer-events: none;
}
body::before {
    left: 18px;
    background-image: var(--love-img-02);
    transform: rotate(-6deg);
}
body::after {
    right: 18px;
    background-image: var(--love-img-01);
    transform: rotate(5deg);
}

/* ==================== 2. 鼠标：稳定 SVG 版 ==================== */

html,
body,
:where(.chat-container, .overflow-y-auto, .overflow-auto, [class*="overflow-auto"], [class*="overflow-y-auto"]) {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M5 3 L24 16 L14 18 L11 28 L5 3 Z' fill='%23ff86b6' stroke='white' stroke-width='2'/%3E%3Cpath d='M23 4 C21 1 16 2 16 7 C16 2 11 1 9 4 C6 8 11 13 16 17 C21 13 26 8 23 4Z' fill='%23ff4f86' stroke='white' stroke-width='1'/%3E%3C/svg%3E") 4 4, auto !important;
}

:where(button, a[href], [role="button"], summary, label, .cursor-pointer, [class*="cursor-pointer"]) {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M10 15 V7 C10 5.7 11 5 12 5 C13 5 14 5.8 14 7 V14 V5 C14 3.7 15 3 16 3 C17.2 3 18 3.9 18 5 V14 V7 C18 5.8 19 5 20 5 C21.1 5 22 5.9 22 7 V16 L24 14 C25 13 27 13.8 27 15.5 C27 16.2 26.8 16.8 26.3 17.4 L21 25 C20.1 26.2 18.7 27 17.2 27 H13.6 C11.6 27 9.9 25.8 9.1 24 L6.2 17.2 C5.5 15.7 6.4 14.3 8 14.3 C8.8 14.3 9.5 14.6 10 15Z' fill='%238fc9ff' stroke='white' stroke-width='2'/%3E%3Cpath d='M23 4 C21.8 2.2 19 2.8 19 5.2 C19 2.8 16.2 2.2 15 4 C13 7 16.4 9.6 19 11.5 C21.6 9.6 25 7 23 4Z' fill='%23ff86b6'/%3E%3C/svg%3E") 8 4, pointer !important;
}

:where(input, textarea, [contenteditable="true"], #ai-chat-input) {
    cursor: text !important;
}

/* ==================== 3. 通用聊天气泡 ==================== */

/* AI / 输出气泡：粉色信纸 */
:where(
  #customized-answer-content,
  .assistant-message,
  .bot-message,
  .ai-response,
  .message.assistant,
  .chat-message.assistant
) {
    position: relative;
    overflow: visible;
    margin: 16px 0;
    padding: 30px 34px;
    border: 2px solid rgba(255,134,182,0.72);
    outline: 1px dashed rgba(143,201,255,0.50);
    outline-offset: -9px;
    border-radius: 26px 26px 26px 10px;
    background-image:
        linear-gradient(135deg, rgba(255,255,255,0.84), rgba(255,232,243,0.80)),
        var(--love-img-05);
    background-size: cover;
    background-position: center;
    box-shadow: 0 14px 34px rgba(255,134,182,0.22), inset 0 0 24px rgba(255,255,255,0.82);
    backdrop-filter: blur(4px);
}

:where(#customized-answer-content, .assistant-message, .bot-message, .ai-response)::before {
    content: "校花的粉色信纸";
    position: absolute;
    top: -16px;
    left: 28px;
    padding: 5px 16px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff86b6, #8fc9ff);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 2px;
    font-family: var(--love-font-body);
    box-shadow: 0 6px 16px rgba(255,134,182,0.35);
    z-index: 4;
}

:where(#customized-answer-content, .assistant-message, .bot-message, .ai-response)::after {
    content: "♡";
    position: absolute;
    right: 20px;
    bottom: 12px;
    color: rgba(255,79,134,0.34);
    font-size: 42px;
    font-family: "Playfair Display", serif;
    transform: rotate(-12deg);
    pointer-events: none;
}

/* 用户 / 输入气泡：拍立得 */
:where(
  #customized-question-content,
  .user-message,
  .message.user,
  .chat-message.user
) {
    position: relative;
    width: 100%;
    max-width: 850px;
    min-width: 0;
    height: auto;
    margin: 18px 0;
    padding: 28px 30px 42px;
    border: 8px solid #fff;
    border-bottom-width: 30px;
    border-radius: 8px;
    background-image:
        linear-gradient(135deg, rgba(255,255,255,0.78), rgba(255,250,243,0.86)),
        var(--love-img-01);
    background-size: cover;
    background-position: center;
    box-shadow: 0 16px 34px rgba(255,134,182,0.20), 0 0 0 1px rgba(255,134,182,0.30);
    transform: rotate(-0.35deg);
    overflow: visible;
}

:where(#customized-question-content, .user-message, .message.user)::before {
    content: "男主的心动拍立得";
    position: absolute;
    left: 24px;
    bottom: -26px;
    color: var(--love-pink-deep);
    font-size: 15px;
    font-family: var(--love-font-title);
    letter-spacing: 2px;
}

/* 气泡内部文字 */
:where(
  #customized-answer-content,
  #customized-question-content,
  .assistant-message,
  .bot-message,
  .ai-response,
  .user-message,
  .message-content,
  .mes_text,
  .markdown-body,
  .prose
) :where(p, li, span, div) {
    color: var(--love-ink);
    font-family: var(--love-font-body);
}

:where(
  #customized-answer-content,
  #customized-question-content,
  .assistant-message,
  .bot-message,
  .ai-response,
  .user-message,
  .markdown-body,
  .prose
) strong {
    color: var(--love-pink-deep);
    font-weight: 900;
}

:where(
  #customized-answer-content,
  #customized-question-content,
  .assistant-message,
  .bot-message,
  .ai-response,
  .user-message,
  .markdown-body,
  .prose
) em {
    color: #6d9ed1;
    font-style: normal;
    font-weight: 800;
}

/* ==================== 4. 输入框 / 按钮通用美化 ==================== */

:where(#ai-chat-input, textarea, input[type="text"], input[type="search"], input:not([type]), [contenteditable="true"]) {
    border: 2px dashed rgba(255, 134, 182, 0.72) !important;
    border-radius: var(--love-radius-md) !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,228,239,0.84)) !important;
    color: var(--love-ink) !important;
    font-family: var(--love-font-body) !important;
    box-shadow: inset 0 2px 10px rgba(255,255,255,0.9), 0 5px 18px rgba(255,134,182,0.16) !important;
    outline: none !important;
}

:where(#ai-chat-input, textarea, input[type="text"], input[type="search"], input:not([type]), [contenteditable="true"])::placeholder {
    color: rgba(255, 79, 134, 0.62) !important;
}

:where(#ai-chat-input, textarea, input[type="text"], input[type="search"], input:not([type]), [contenteditable="true"]):focus {
    border-color: var(--love-pink-deep) !important;
    box-shadow: inset 0 2px 10px rgba(255,255,255,0.9), 0 0 18px rgba(255, 134, 182, 0.42) !important;
}

:where(button, input[type="button"], input[type="submit"], [role="button"], #ai-send-button, #ai-mod-button2 button) {
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.86) !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.84), rgba(255,228,239,0.88)) !important;
    color: var(--love-pink-deep) !important;
    font-family: var(--love-font-body) !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 18px rgba(255,134,182,0.20), inset 0 0 12px rgba(255,255,255,0.75) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

:where(button, input[type="button"], input[type="submit"], [role="button"], #ai-send-button, #ai-mod-button2 button):hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 12px 24px rgba(255,134,182,0.30), 0 0 16px rgba(143,201,255,0.25) !important;
}

/* ==================== 5. Markdown 小元素 ==================== */

:where(.markdown-body, .prose, .message-content, .mes_text, article, main) :where(h1, h2, h3, h4) {
    color: var(--love-pink-deep);
    font-family: var(--love-font-title);
    letter-spacing: 0.08em;
    text-shadow: 0 2px 10px rgba(255,255,255,0.95);
}

:where(.markdown-body, .prose, .message-content, .mes_text, article, main) hr {
    height: 1px;
    border: none;
    margin: 18px 0;
    background: linear-gradient(90deg, transparent, rgba(255, 150, 190, 0.58), transparent);
}

blockquote {
    margin: 12px 0;
    padding: 12px 14px;
    border-left: 4px solid var(--love-pink);
    border-radius: 0 var(--love-radius-md) var(--love-radius-md) 0;
    background: rgba(255, 235, 245, 0.72);
    color: var(--love-ink);
    box-shadow: 0 6px 16px rgba(255, 150, 190, 0.12);
}

pre {
    padding: 14px;
    border-radius: var(--love-radius-md);
    border: 1px solid rgba(255, 150, 190, 0.36);
    background: rgba(255, 255, 255, 0.82);
    color: var(--love-ink);
    overflow-x: auto;
    box-shadow: 0 8px 18px rgba(255, 150, 190, 0.12);
}

code {
    padding: 2px 6px;
    border-radius: 8px;
    color: var(--love-pink-deep);
    background: rgba(255, 228, 239, 0.75);
    border: 1px solid rgba(255, 150, 190, 0.28);
}

pre code {
    padding: 0;
    border: none;
    background: transparent;
}

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 16px;
    background: rgba(255,255,255,0.78);
    box-shadow: 0 6px 16px rgba(255, 150, 190, 0.14);
}

th {
    padding: 10px;
    color: var(--love-pink-deep);
    background: linear-gradient(90deg, rgba(255, 150, 190, 0.32), rgba(143, 201, 255, 0.28));
    border-bottom: 1px solid rgba(255, 150, 190, 0.28);
}

td {
    padding: 10px;
    color: var(--love-ink);
    background: rgba(255,255,255,0.70);
    border-bottom: 1px dashed rgba(255, 150, 190, 0.20);
}

/* ==================== 6. 状态栏：romance-status + 通用 details ==================== */

.romance-status,
.status-panel,
.statusbar,
.status-bar {
    position: relative;
    margin: 30px auto;
    padding: 24px;
    max-width: 900px;
    color: var(--love-ink);
    font-family: var(--love-font-body);
    border: 2px solid rgba(255, 150, 190, 0.58);
    border-radius: 30px;
    background:
        radial-gradient(circle at 12% 6%, rgba(255, 180, 210, 0.30), transparent 30%),
        radial-gradient(circle at 90% 12%, rgba(160, 210, 255, 0.28), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,246,250,0.96));
    box-shadow: 0 18px 42px rgba(255, 150, 190, 0.22), inset 0 0 24px rgba(255,255,255,0.9);
    overflow: visible;
}

.romance-status::before,
.status-panel::before,
.statusbar::before,
.status-bar::before {
    content: "♡ 青春恋爱状态栏 ♡";
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 26px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff86b6, #8fc9ff);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 2px;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(255, 134, 182, 0.30), inset 0 0 8px rgba(255,255,255,0.45);
    z-index: 5;
}

/* 没有 romance-status 外壳时，直接美化所有 details */
details {
    position: relative;
    box-sizing: border-box;
    margin: 16px 0;
    padding: 0;
    border: 1px solid rgba(255, 150, 190, 0.40);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255,255,255,0.90), rgba(255,235,245,0.78));
    box-shadow: 0 8px 22px rgba(255, 150, 190, 0.15), inset 0 0 12px rgba(255,255,255,0.78);
    overflow: hidden;
    transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

details:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 95, 145, 0.74);
    box-shadow: 0 12px 28px rgba(255, 150, 190, 0.22), 0 0 16px rgba(143, 201, 255, 0.20);
}

summary {
    position: relative;
    box-sizing: border-box;
    list-style: none;
    cursor: pointer;
    user-select: none;
    padding: 14px 18px 14px 56px;
    color: var(--love-pink-deep);
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 2px;
    border-bottom: 1px dashed rgba(255, 150, 190, 0.28);
    background: linear-gradient(90deg, rgba(255, 150, 190, 0.24), rgba(143, 201, 255, 0.18));
}

summary::-webkit-details-marker {
    display: none;
}

summary::before {
    content: "♡";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.94);
    color: var(--love-pink);
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(255, 150, 190, 0.25);
}

details[open] summary::before {
    content: "♥";
    color: var(--love-pink-deep);
}

details > *:not(summary) {
    margin-left: 20px;
    margin-right: 20px;
}

details > :last-child {
    margin-bottom: 18px;
}

details :where(p, li, div, span, td, th, small) {
    color: var(--love-ink) !important;
    font-size: 15px;
    line-height: 1.78;
}

details strong,
details b {
    color: var(--love-pink-deep) !important;
    font-weight: 900;
}

details em,
details i {
    color: #6d9ed1 !important;
    font-style: normal;
    font-weight: 800;
}

details ul {
    list-style: none;
    padding-left: 22px;
}

details ul li {
    position: relative;
    margin-bottom: 7px;
}

details ul li::before {
    content: "♡";
    position: absolute;
    left: -22px;
    color: var(--love-pink);
}

/* 不同状态栏模块的小标签 */
details:nth-of-type(1) summary::after { content: "  · 当前情况"; }
details:nth-of-type(2) summary::after { content: "  · 主角信息"; }
details:nth-of-type(3) summary::after { content: "  · 当前登场"; }
details:nth-of-type(4) summary::after { content: "  · 关系记录"; }
details:nth-of-type(5) summary::after { content: "  · 成长进度"; }
details:nth-of-type(6) summary::after { content: "  · 校园动态"; }
details:nth-of-type(7) summary::after { content: "  · 小剧场"; }
details:nth-of-type(8) summary::after { content: "  · 回忆存档"; }
details:last-of-type summary::after { content: "  · 下一步剧情"; }
details summary::after {
    color: rgba(75, 59, 70, 0.52);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* ==================== 7. 行动推荐 ==================== */

details:last-of-type ol,
details:last-of-type ul {
    list-style: none;
    padding-left: 0;
    margin: 14px 0 18px;
    display: grid;
    gap: 10px;
}

details:last-of-type li {
    position: relative;
    margin: 0;
    padding: 12px 14px 12px 44px;
    border: 1px solid rgba(255, 150, 190, 0.34);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,236,246,0.82));
    box-shadow: 0 6px 16px rgba(255, 150, 190, 0.14);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

details:last-of-type li::before {
    content: "♡";
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--love-pink-deep);
    font-size: 18px;
}

details:last-of-type li:hover {
    transform: translateX(3px);
    border-color: rgba(255, 95, 145, 0.72);
    background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(255,226,241,0.90));
}

/* ==================== 8. 服装立绘容器 ==================== */

.sqy-outfit {
    width: 280px;
    height: 630px;
    display: block;
    margin: 20px auto 28px auto;
    position: relative;
    overflow: hidden;
    border: 8px solid rgba(255,255,255,0.98);
    border-bottom-width: 34px;
    border-radius: 16px;
    background-color: #fffaf5;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    box-shadow: 0 18px 36px rgba(255, 150, 190, 0.24), 0 0 0 1px rgba(255, 150, 190, 0.30), inset 0 0 18px rgba(255,255,255,0.35);
    transform: rotate(1deg);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.sqy-outfit:hover {
    transform: rotate(0deg) translateY(-4px) scale(1.015);
    box-shadow: 0 24px 46px rgba(255, 150, 190, 0.32), 0 0 20px rgba(143, 201, 255, 0.24);
}

.sqy-outfit::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 210, 225, 0.75);
    border-radius: 8px;
    box-shadow: inset 0 0 22px rgba(255,255,255,0.38), inset 0 -60px 60px rgba(255, 120, 170, 0.14);
    pointer-events: none;
}

.sqy-outfit::after {
    content: attr(data-outfit);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 13px 0;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 3px;
    text-align: center;
    font-family: var(--love-font-body);
    background: linear-gradient(180deg, transparent, rgba(255, 95, 145, 0.64));
    text-shadow: 0 2px 8px rgba(120, 40, 70, 0.55);
}

/* ==================== 9. Q版表情容器 ==================== */

.sqy-emoji {
    width: 240px;
    height: 240px;
    display: block;
    margin: 18px auto;
    position: relative;
    border: 7px solid rgba(255,255,255,0.98);
    border-radius: 50%;
    background-color: #fffaf5;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 14px 28px rgba(255, 150, 190, 0.24), 0 0 0 1px rgba(255, 150, 190, 0.28), inset 0 0 18px rgba(255,255,255,0.4);
    animation: sqyEmojiFloat 3.4s ease-in-out infinite;
}

.sqy-emoji::after {
    content: "♡";
    position: absolute;
    right: 6px;
    bottom: 10px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ff86b6, #8fc9ff);
    color: #fff;
    border: 3px solid #fff;
    border-radius: 50%;
    font-size: 22px;
    box-shadow: 0 6px 14px rgba(255, 150, 190, 0.32);
}

@keyframes sqyEmojiFloat {
    0%, 100% { transform: translateY(0) rotate(-2deg); filter: brightness(1); }
    50% { transform: translateY(-6px) rotate(2deg); filter: brightness(1.06) saturate(1.1); }
}

@media (prefers-reduced-motion: reduce) {
    .sqy-emoji { animation: none !important; }
    * { transition: none !important; }
}

/* ==================== 10. 图片类：服装 + 表情 ==================== */

/* =========================================================
   17. 服装立绘图片类（更新版）
   用法示例：
   <div class="sqy-outfit sqy-outfit-daily" data-outfit="日常服"></div>
   <div class="sqy-outfit sqy-outfit-summer-uniform" data-outfit="夏季校服"></div>
========================================================= */

/* --- 原有服装保留 --- */
.sqy-outfit-daily,
.sqy-outfit.daily,
.sqy-outfit.日常 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH05qBxUaHxguARo-lPstoQvhjmlDvgACNSIAAt1aOFT4N3kPLt10ajsE.png') !important;
}

.sqy-outfit-spring,
.sqy-outfit.spring,
.sqy-outfit.春日 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH09qBxUhlFcS1zvVYXOIFFPVvDmq3gACNiIAAt1aOFQmiu8712xodDsE.png') !important;
}

.sqy-outfit-gown,
.sqy-outfit.gown,
.sqy-outfit.礼服 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH1BqBxUmEYOqUOqPyFPHfxiZpMDBrgACNyIAAt1aOFRTYqhzP5OuKzsE.png') !important;
}

.sqy-outfit-lolita,
.sqy-outfit.lolita,
.sqy-outfit.洛丽塔 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH1JqBxUw2wwm_-VUiVwltglorM7xbgACOSIAAt1aOFQz-tt_e4lRYzsE.png') !important;
}

.sqy-outfit-pajama,
.sqy-outfit.pajama,
.sqy-outfit.睡衣 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH1NqBxUzvstZsZPMYPAg3YsDCTeubgACOiIAAt1aOFTuVifviT1tkTsE.png') !important;
}

.sqy-outfit-winter,
.sqy-outfit.winter,
.sqy-outfit.冬装 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH1RqBxU4mDe2bsVelUko2gioyTmCtQACOyIAAt1aOFSx1RoQWTdPyzsE.png') !important;
}

.sqy-outfit-maid,
.sqy-outfit.maid,
.sqy-outfit.女仆 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH1VqBxU7PJP5CbrIIVU2i9GeWQlOfAACPCIAAt1aOFTlU6irjHTcKjsE.png') !important;
}

.sqy-outfit-rain,
.sqy-outfit.rain,
.sqy-outfit.雨天 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH1ZqBxVEu_AZlhe7a1TmIPxMcDxIAQACPSIAAt1aOFQQyKWqS3MrSTsE.png') !important;
}

/* --- 替换：瑜伽服新图 --- */
.sqy-outfit-yoga,
.sqy-outfit.yoga,
.sqy-outfit.瑜伽 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ1ZqCHJBZ3DEyELdnRY12HiRPi15CAACByQAAgJ_QFQKtm4AAWS62507BA.png') !important;
}

/* --- 新增：夏季校服 --- */
.sqy-outfit-summer-uniform,
.sqy-outfit.summer-uniform,
.sqy-outfit.summer_uniform,
.sqy-outfit.夏季校服,
.sqy-outfit.夏校服 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ1NqCHIwHIbG3kTrJN6N0zzG2RsdXgACBCQAAgJ_QFROA4o3_2iFFjsE.png') !important;
}

/* --- 新增：夏日连衣裙 --- */
.sqy-outfit-summer-dress,
.sqy-outfit.summer-dress,
.sqy-outfit.summer_dress,
.sqy-outfit.夏日裙装,
.sqy-outfit.夏日连衣裙,
.sqy-outfit.连衣裙 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ1RqCHI39-iLnFJWBJ_PtRxCJ7XSSQACBSQAAgJ_QFTibL8E9ETQZjsE.png') !important;
}

/* --- 新增：网球服 --- */
.sqy-outfit-tennis,
.sqy-outfit.tennis,
.sqy-outfit.网球,
.sqy-outfit.网球服 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ1VqCHI-_TnGzMNXJs5Neak6mRA8agACBiQAAgJ_QFQG07d5q_jhhjsE.png') !important;
}

/* --- 新增：运动服 --- */
.sqy-outfit-sport,
.sqy-outfit.sport,
.sqy-outfit.运动,
.sqy-outfit.运动服,
.sqy-outfit.gym {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ25qCHSsBykTk9PiEdrUuxROJAWPFQACIiQAAgJ_QFQQfeqStUqmjTsE.png') !important;
}

/* --- 新增：卫衣 --- */
.sqy-outfit-hoodie,
.sqy-outfit.hoodie,
.sqy-outfit.卫衣,
.sqy-outfit.休闲卫衣 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ21qCHSoKBeySkYZizfUkrjt-cfehQACISQAAgJ_QFT1JAtWVmps7TsE.png') !important;
}

/* --- 新增：汉服 --- */
.sqy-outfit-hanfu,
.sqy-outfit.hanfu,
.sqy-outfit.汉服,
.sqy-outfit.古风 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ29qCHSw1Fo0wVqjmcI_BLZfCA-XagACIyQAAgJ_QFR5nmqU9t1HlzsE.png') !important;
}

/* --- 新增：羽绒服 --- */
.sqy-outfit-puffer,
.sqy-outfit.puffer,
.sqy-outfit.羽绒服,
.sqy-outfit.冬季羽绒服 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ2xqCHSkPSLRHckG7HH3wa17AAGrqhAAAiAkAAICf0BUDqLtn7Z1QvY7BA.png') !important;
}

/* --- 新增：泳装 --- */
.sqy-outfit-swim,
.sqy-outfit.swim,
.sqy-outfit.swimsuit,
.sqy-outfit.泳装,
.sqy-outfit.泳衣 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUJ3VqCHUtDc6RGt3WdrpBxtxaL4fUOAACKiQAAgJ_QFSnR9nr6ZuOvzsE.png') !important;
}

/* --- 裸露类名安全禁用：不保留裸露图片外链 --- */
.sqy-outfit-naked,
.sqy-outfit.naked,
.sqy-outfit.nude,
.sqy-outfit.裸体,
.sqy-outfit.赤裸,
.sqy-outfit.无 {
    background-image: none !important;
    background: linear-gradient(135deg, #fff8fb, #ffe4ef) !important;
}


/* =========================================================
   18. Q版表情容器
   注意：容器不抢具体表情图片
========================================================= */

.romance-status .sqy-emoji,
.sqy-emoji {
    width: 240px !important;
    height: 240px !important;

    border: 7px solid rgba(255,255,255,0.98) !important;
    border-radius: 50% !important;

    box-shadow:
        0 14px 28px rgba(255, 150, 190, 0.24),
        0 0 0 1px rgba(255, 150, 190, 0.28),
        inset 0 0 18px rgba(255,255,255,0.4) !important;

    background-color: #fffaf5 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    display: block !important;
    margin: 18px auto !important;
    position: relative !important;

    animation: sqyEmojiFloat 3.4s ease-in-out infinite !important;
}

.romance-status .sqy-emoji::after,
.sqy-emoji::after {
    content: "♡" !important;
    position: absolute !important;
    right: 6px !important;
    bottom: 10px !important;

    width: 38px !important;
    height: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: linear-gradient(135deg, #ff86b6, #8fc9ff) !important;
    color: white !important;

    border: 3px solid white !important;
    border-radius: 50% !important;

    font-size: 22px !important;
    box-shadow: 0 6px 14px rgba(255, 150, 190, 0.32) !important;
}

@keyframes sqyEmojiFloat {
    0%, 100% {
        transform: translateY(0) rotate(-2deg);
        filter: brightness(1);
    }
    50% {
        transform: translateY(-6px) rotate(2deg);
        filter: brightness(1.06) saturate(1.1);
    }
}


/* =========================================================
   19. Q版表情图片类
========================================================= */

.sqy-emoji-happy {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHwlqBxFSQk8gf5r9YgTgOAAB4UoAAVWtAALsIQAC3Vo4VDvrgX73Ga3QOwQ.png') !important;
}

.sqy-emoji-veryhappy {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHw1qBxFdYIOZ-driuHUrx9GkGioHzAAC8CEAAt1aOFTk36H0EZ3NiTsE.png') !important;
}

.sqy-emoji-shy {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHxBqBxFmsQgzW9gEbamT20WzqIv1hAAC8yEAAt1aOFT9zAmBh9e97zsE.png') !important;
}

.sqy-emoji-blush {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHxFqBxFtyCi2BvuuMO56TKIIpItgWgAC9CEAAt1aOFTIHzB6XK-HrDsE.png') !important;
}

.sqy-emoji-sad {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHxJqBxFzD8ItE428zW6qjwABeajdNnMAAvUhAALdWjhUv9Tq6GFlb1Y7BA.png') !important;
}

.sqy-emoji-cheer {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH01qBxS0v5Sk8xR4xzESzcCoZN6QXAACMyIAAt1aOFQoGYDCQ_8kjDsE.png') !important;
}

.sqy-emoji-yawn {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH0xqBxSulssX1kKR-ORYtY5P46fl_QACMiIAAt1aOFQAAVtSQ093YJ87BA.png') !important;
}

.sqy-emoji-cry {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH0dqBxSbXSvyRg5fxcxktJjz_ds2SgACLiIAAt1aOFSPPstcvl2JujsE.png') !important;
}

.sqy-emoji-surprise {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH0lqBxSos2zZpgz_L6wNr-jhp8qplQACMCIAAt1aOFQ6LIcfg1ix3zsE.png') !important;
}

/* 兼容中文 / 英文短类名 */
.sqy-emoji.happy,
.sqy-emoji.开心,
.sqy-emoji.微笑 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHwlqBxFSQk8gf5r9YgTgOAAB4UoAAVWtAALsIQAC3Vo4VDvrgX73Ga3QOwQ.png') !important;
}

.sqy-emoji.veryhappy,
.sqy-emoji.大笑,
.sqy-emoji.愉悦 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHw1qBxFdYIOZ-driuHUrx9GkGioHzAAC8CEAAt1aOFTk36H0EZ3NiTsE.png') !important;
}

.sqy-emoji.shy,
.sqy-emoji.害羞 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHxBqBxFmsQgzW9gEbamT20WzqIv1hAAC8yEAAt1aOFT9zAmBh9e97zsE.png') !important;
}

.sqy-emoji.blush,
.sqy-emoji.脸红 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHxFqBxFtyCi2BvuuMO56TKIIpItgWgAC9CEAAt1aOFTIHzB6XK-HrDsE.png') !important;
}

.sqy-emoji.sad,
.sqy-emoji.难过 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUHxJqBxFzD8ItE428zW6qjwABeajdNnMAAvUhAALdWjhUv9Tq6GFlb1Y7BA.png') !important;
}

.sqy-emoji.cry,
.sqy-emoji.哭泣 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH0dqBxSbXSvyRg5fxcxktJjz_ds2SgACLiIAAt1aOFSPPstcvl2JujsE.png') !important;
}

.sqy-emoji.surprise,
.sqy-emoji.惊讶 {
    background-image: url('https://img.remit.ee/api/file/BQACAgUAAyEGAASHRsPbAAEUH0lqBxSos2zZpgz_L6wNr-jhp8qplQACMCIAAt1aOFQ6LIcfg1ix3zsE.png') !important;
}


/* =========================================================

/* ==================== 11. 滚动条 ==================== */

:where(.markdown-body, .prose, .message-content, .mes_text, .romance-status, details) {
    scrollbar-width: thin;
    scrollbar-color: #ff86b6 transparent;
}

:where(.markdown-body, .prose, .message-content, .mes_text, .romance-status, details)::-webkit-scrollbar {
    width: 12px;
    background: transparent;
}

:where(.markdown-body, .prose, .message-content, .mes_text, .romance-status, details)::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #ff9fc2, #9ed0ff);
    border: 3px solid rgba(255,255,255,0.75);
    border-radius: 999px;
}

/* ==================== 12. 通用图片 / 链接 / 长内容兜底 ==================== */

img {
    max-width: 100%;
    height: auto;
    border-radius: var(--love-radius-md);
}

* {
    word-break: break-word;
}

a {
    color: var(--love-pink-deep);
    text-decoration: none;
    border-bottom: 1px dashed rgba(255, 95, 145, 0.42);
}

a:hover {
    color: #6d9ed1;
    border-bottom-color: rgba(143, 201, 255, 0.65);
}

/* ==================== 13. 手机端适配 ==================== */

@media screen and (max-width: 900px) {
    body::before,
    body::after {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    :where(.markdown-body, .prose, .message-content, .message-body, .chat-message, .chat-content, .mes_text, .ai-response, .response-content, article, main) {
        font-size: 14px;
        line-height: 1.72;
    }

    :where(#customized-answer-content, .assistant-message, .bot-message, .ai-response, .message.assistant, .chat-message.assistant) {
        padding: 22px 18px;
        border-radius: 20px 20px 20px 8px;
        outline-offset: -7px;
    }

    :where(#customized-answer-content, .assistant-message, .bot-message, .ai-response)::before {
        left: 18px;
        font-size: 12px;
        padding: 4px 12px;
    }

    :where(#customized-question-content, .user-message, .message.user, .chat-message.user) {
        padding: 22px 20px 38px;
        border-width: 6px;
        border-bottom-width: 26px;
        max-width: 100%;
    }

    .romance-status,
    .status-panel,
    .statusbar,
    .status-bar {
        margin: 22px auto;
        padding: 16px 12px;
        border-radius: 22px;
    }

    .romance-status::before,
    .status-panel::before,
    .statusbar::before,
    .status-bar::before {
        font-size: 12px;
        padding: 5px 16px;
        max-width: calc(100vw - 40px);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    details {
        margin: 12px 0;
        border-radius: 16px;
    }

    summary {
        padding: 12px 14px 12px 48px;
        font-size: 14px;
        letter-spacing: 1px;
    }

    summary::before {
        left: 14px;
        width: 24px;
        height: 24px;
    }

    details > *:not(summary) {
        margin-left: 12px;
        margin-right: 12px;
    }

    table {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
    }

    .sqy-emoji {
        width: 180px;
        height: 180px;
    }

    .sqy-outfit {
        width: 190px;
        height: 430px;
        border-width: 6px;
        border-bottom-width: 26px;
        border-radius: 12px;
    }
}

@media screen and (max-width: 420px) {
    :where(.markdown-body, .prose, .message-content, .message-body, .chat-content, .mes_text, article, main) {
        font-size: 13px;
    }

    summary {
        font-size: 13px;
    }

    details summary::after {
        display: none;
    }

    .sqy-emoji {
        width: 150px;
        height: 150px;
    }

    .sqy-outfit {
        width: 170px;
        height: 382px;
    }
}

/* ==================== 14. 强制提亮补丁 ==================== */
/* 如果某网站把状态栏小字压黑或压灰，把这一段保留在最后。 */

details,
details * {
    color: var(--love-ink) !important;
}

details summary,
details summary * {
    color: var(--love-pink-deep) !important;
}

details strong,
details b {
    color: var(--love-pink-deep) !important;
}

details em,
details i {
    color: #6d9ed1 !important;
}


