{"id":"72f0fb2c-baa6-4ebc-ad5f-208dd58a2d52","authorId":"lAgyOY957kxlq7BGiA4uEJT41Y1Uuzis","title":"超能时代-都市英雄传","description":"【Roll能力/Roll天赋】【都市超能，英雄崛起】2054年，地球经历了\"星蚀事件\"——一场源自银河系核心的未知宇宙能量潮汐突然侵袭了整个星球。这并非有形的陨石或射线，而是一次物理规则的短暂\"扭曲\"。持续了72小时的\"星蚀\"永久改变了部分人类的基因结构，使其能够感知并操控特定形式的能量与物质，超能力因此成为现实。如今45年过去了，旧有的秩序与认知被彻底颠覆，科技与超能相互纠缠，共同描绘着人类的未来图景。再这样一个新旧规则激烈碰撞的时代，你会谱写出怎样的篇章呢？是用你的能力守护世界还是征服世界？还是征服女超英建立后宫？一切皆有可能！\n","background":null,"backgroundWidth":null,"backgroundHeight":null,"cover":"djn3j164wyl62v0vi2pgrcxq.webp","coverWidth":null,"coverHeight":null,"introPage":"adj8i380c37dzkkma85d156a.html","changelog":null,"createdAt":"2026-08-25T02:50:14.225Z","updatedAt":"2026-08-25T06:56:31.351Z","initPublicAt":"2026-08-25T06:55:16.605Z","renderTemplate":null,"assistantRegexReplace":null,"enableMemorySchema":false,"memorySchema":null,"injectStyles":"/* 按钮 - 科幻超能浅色版 */\n#prompt-input button:not([type=\"submit\"]) {\n    background: linear-gradient(145deg, #E6F0FF 0%, #D1E3FF 100%) !important;\n    color: #0055CC !important;\n    border: 2px solid #2D7AFF !important;\n    border-radius: 6px !important;\n    box-shadow: \n        4px 4px 0px #001F66,\n        0 0 10px rgba(45, 122, 255, 0.6) !important; /* 光晕改为10px */\n    font-weight: 700 !important;\n    text-transform: none !important;\n    letter-spacing: 0.3px;\n    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;\n    position: relative;\n    overflow: hidden;\n}\n\n/* 超能光束效果伪元素 */\n#prompt-input button:not([type=\"submit\"])::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: -100%;\n    width: 60%;\n    height: 100%;\n    background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(0, 85, 255, 0.15),\n        rgba(0, 200, 255, 0.25),\n        rgba(0, 85, 255, 0.15),\n        transparent\n    );\n    transition: all 0.5s ease;\n    opacity: 0;\n    filter: blur(1px);\n}\n\n/* 按钮悬停效果 */\n#prompt-input button:not([type=\"submit\"]):hover {\n    background: linear-gradient(145deg, #EDF5FF 0%, #D9E9FF 100%) !important;\n    color: #0044AA !important;\n    border-color: #0055FF !important;\n    transform: translate(2px, 2px) !important;\n    box-shadow: \n        2px 2px 0px #001F66,\n        0 0 10px rgba(0, 85, 255, 0.8) !important; /* 光晕改为10px */\n}\n\n#prompt-input button:not([type=\"submit\"]):hover::before {\n    opacity: 1;\n    left: 100%;\n    transition: left 0.7s cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* 按钮点击效果 */\n#prompt-input button:not([type=\"submit\"]):active {\n    background: linear-gradient(145deg, #D1E3FF 0%, #B8D3FF 100%) !important;\n    color: #003399 !important;\n    transform: translate(3px, 3px) scale(0.98) !important;\n    box-shadow: \n        1px 1px 0px #001F66,\n        inset 0 0 10px rgba(0, 51, 153, 0.2), /* 内阴影模糊改为10px */\n        0 0 10px rgba(0, 100, 255, 0.9) !important; /* 光晕改为10px */\n}\n\n/* 添加能量脉冲动画 */\n@keyframes pulse-energy {\n    0%, 100% {\n        box-shadow: \n            4px 4px 0px #001F66,\n            0 0 10px rgba(45, 122, 255, 0.6); /* 光晕改为10px */\n    }\n    50% {\n        box-shadow: \n            4px 4px 0px #001F66,\n            0 0 10px rgba(45, 122, 255, 0.9); /* 光晕改为10px */\n    }\n}\n\n/* 活跃状态的能量脉冲效果 */\n#prompt-input button:not([type=\"submit\"]):focus {\n    animation: pulse-energy 1.5s infinite;\n}\n\n/* ===== 发送按钮 - 橙色科幻超能 ===== */\n#prompt-input [type=\"submit\"] {\n    background: linear-gradient(145deg, #FFF0E0 0%, #FFD9B3 100%) !important;\n    color: #CC5500 !important;\n    border: 2px solid #FF7700 !important;\n    border-radius: 6px !important;\n    box-shadow: \n        4px 4px 0px #663300,\n        0 0 10px rgba(255, 119, 0, 0.6) !important;\n    font-weight: 700 !important;\n    text-transform: none !important;\n    letter-spacing: 0.3px;\n    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;\n    position: relative;\n    overflow: hidden;\n}\n\n#prompt-input [type=\"submit\"]::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: -100%;\n    width: 60%;\n    height: 100%;\n    background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255, 119, 0, 0.15),\n        rgba(255, 200, 0, 0.25),\n        rgba(255, 119, 0, 0.15),\n        transparent\n    );\n    transition: all 0.5s ease;\n    opacity: 0;\n    filter: blur(1px);\n}\n\n#prompt-input [type=\"submit\"]:hover {\n    background: linear-gradient(145deg, #FFF5EA 0%, #FFE4C2 100%) !important;\n    color: #AA4400 !important;\n    border-color: #FF8800 !important;\n    transform: translate(2px, 2px) !important;\n    box-shadow: \n        2px 2px 0px #663300,\n        0 0 10px rgba(255, 119, 0, 0.8) !important;\n}\n\n#prompt-input [type=\"submit\"]:hover::before {\n    opacity: 1;\n    left: 100%;\n    transition: left 0.7s cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n#prompt-input [type=\"submit\"]:active {\n    background: linear-gradient(145deg, #FFD9B3 0%, #FFC299 100%) !important;\n    color: #883300 !important;\n    transform: translate(3px, 3px) scale(0.98) !important;\n    box-shadow: \n        1px 1px 0px #663300,\n        inset 0 0 10px rgba(136, 51, 0, 0.2),\n        0 0 10px rgba(255, 100, 0, 0.9) !important;\n}\n\n@keyframes pulse-energy-send {\n    0%, 100% {\n        box-shadow: \n            4px 4px 0px #663300,\n            0 0 10px rgba(255, 119, 0, 0.6);\n    }\n    50% {\n        box-shadow: \n            4px 4px 0px #663300,\n            0 0 10px rgba(255, 119, 0, 0.9);\n    }\n}\n\n#prompt-input [type=\"submit\"]:focus {\n    animation: pulse-energy-send 1.5s infinite;\n}\n\n/* ===== 停止按钮 - 红色科幻超能 ===== */\n#prompt-input button[aria-label=\"停止\"] {\n    background: linear-gradient(145deg, #FFE6E6 0%, #FFCCCC 100%) !important;\n    color: #CC0000 !important;\n    border: 2px solid #FF3333 !important;\n    border-radius: 6px !important;\n    box-shadow: \n        4px 4px 0px #660000,\n        0 0 10px rgba(255, 51, 51, 0.6) !important;\n    font-weight: 700 !important;\n    text-transform: none !important;\n    letter-spacing: 0.3px;\n    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;\n    position: relative;\n    overflow: hidden;\n}\n\n#prompt-input button[aria-label=\"停止\"]::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: -100%;\n    width: 60%;\n    height: 100%;\n    background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255, 51, 51, 0.15),\n        rgba(255, 100, 100, 0.25),\n        rgba(255, 51, 51, 0.15),\n        transparent\n    );\n    transition: all 0.5s ease;\n    opacity: 0;\n    filter: blur(1px);\n}\n\n#prompt-input button[aria-label=\"停止\"]:hover {\n    background: linear-gradient(145deg, #FFF0F0 0%, #FFDDDD 100%) !important;\n    color: #AA0000 !important;\n    border-color: #FF4444 !important;\n    transform: translate(2px, 2px) !important;\n    box-shadow: \n        2px 2px 0px #660000,\n        0 0 10px rgba(255, 51, 51, 0.8) !important;\n}\n\n#prompt-input button[aria-label=\"停止\"]:hover::before {\n    opacity: 1;\n    left: 100%;\n    transition: left 0.7s cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n#prompt-input button[aria-label=\"停止\"]:active {\n    background: linear-gradient(145deg, #FFCCCC 0%, #FFB3B3 100%) !important;\n    color: #880000 !important;\n    transform: translate(3px, 3px) scale(0.98) !important;\n    box-shadow: \n        1px 1px 0px #660000,\n        inset 0 0 10px rgba(136, 0, 0, 0.2),\n        0 0 10px rgba(255, 0, 0, 0.9) !important;\n}\n\n@keyframes pulse-energy-stop {\n    0%, 100% {\n        box-shadow: \n            4px 4px 0px #660000,\n            0 0 10px rgba(255, 51, 51, 0.6);\n    }\n    50% {\n        box-shadow: \n            4px 4px 0px #660000,\n            0 0 10px rgba(255, 51, 51, 0.9);\n    }\n}\n\n#prompt-input button[aria-label=\"停止\"]:focus {\n    animation: pulse-energy-stop 1.5s infinite;\n}\n\n/* ===== 科幻风格消息输入框 ===== */\n#prompt-input-body textarea[name=\"message\"] {\n    /* 主体背景：浅蓝白渐变，模拟发光面板 */\n    background: linear-gradient(145deg, #f0f7ff 0%, #dce8ff 100%) !important;\n    color: #003399 !important;  /* 深蓝文字，高对比 */\n    border: 2px solid #2d7aff !important;\n    border-radius: 6px !important;\n    /* 科技感内凹 + 外发光 */\n    box-shadow: \n        inset 0 2px 6px rgba(0, 51, 153, 0.15),\n        0 0 10px rgba(45, 122, 255, 0.3) !important;\n    font-family: 'Segoe UI', 'Roboto', system-ui, sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.6 !important;\n    padding: 12px 16px !important;\n    resize: vertical !important;\n    transition: all 0.25s ease-in-out !important;\n    text-shadow: none !important;  /* 清晰文本无需阴影 */\n    /* 滚动条风格（与科幻蓝调匹配） */\n    scrollbar-width: thin;\n    scrollbar-color: #2d7aff #dce8ff;\n}\n\n/* 滚动条（WebKit） */\n#prompt-input-body textarea[name=\"message\"]::-webkit-scrollbar {\n    width: 8px;\n}\n#prompt-input-body textarea[name=\"message\"]::-webkit-scrollbar-track {\n    background: #dce8ff;\n    border-radius: 4px;\n}\n#prompt-input-body textarea[name=\"message\"]::-webkit-scrollbar-thumb {\n    background: #2d7aff;\n    border-radius: 4px;\n    border: 1px solid #a0c0ff;\n}\n#prompt-input-body textarea[name=\"message\"]::-webkit-scrollbar-thumb:hover {\n    background: #0055ff;\n}\n\n/* ===== 科幻光泽纹理（替代废土的磨损） ===== */\n#prompt-input-body textarea[name=\"message\"] {\n    background-image: \n        linear-gradient(\n            120deg,\n            rgba(255, 255, 255, 0.4) 0%,\n            rgba(255, 255, 255, 0) 60%\n        ),\n        linear-gradient(145deg, #f0f7ff 0%, #dce8ff 100%);\n    background-blend-mode: overlay, normal;\n}\n\n/* ===== 占位符样式 ===== */\n#prompt-input-body textarea[name=\"message\"]::placeholder {\n    color: #6a8fc0 !important;\n    opacity: 0.8;\n    font-style: italic;\n    font-weight: 300;\n}\n\n/* ===== 聚焦状态 - 能量脉冲光效 ===== */\n@keyframes input-sci-glow {\n    0%, 100% {\n        box-shadow: \n            inset 0 2px 6px rgba(0, 51, 153, 0.15),\n            0 0 10px rgba(45, 122, 255, 0.3),\n            0 0 20px rgba(45, 122, 255, 0.1);\n        border-color: #2d7aff;\n    }\n    50% {\n        box-shadow: \n            inset 0 2px 6px rgba(0, 51, 153, 0.2),\n            0 0 18px rgba(45, 122, 255, 0.6),\n            0 0 40px rgba(45, 122, 255, 0.2);\n        border-color: #4a8aff;\n    }\n}\n\n#prompt-input-body textarea[name=\"message\"]:focus {\n    animation: input-sci-glow 1.8s infinite ease-in-out;\n    outline: none !important;\n    border-color: #4a8aff !important;\n}\n\n/* ===== 悬停状态 - 亮度提升 ===== */\n#prompt-input-body textarea[name=\"message\"]:hover {\n    background-image: \n        linear-gradient(\n            120deg,\n            rgba(255, 255, 255, 0.5) 0%,\n            rgba(255, 255, 255, 0) 70%\n        ),\n        linear-gradient(145deg, #f5faff 0%, #e3edff 100%);\n    border-color: #4a8aff;\n    box-shadow: \n        inset 0 2px 6px rgba(0, 51, 153, 0.1),\n        0 0 12px rgba(45, 122, 255, 0.4);\n}\n\n/* ===== 禁用状态 ===== */\n#prompt-input-body textarea[name=\"message\"]:disabled {\n    opacity: 0.5;\n    filter: grayscale(0.3);\n    cursor: not-allowed;\n}\n\n/* =================================================== */\n/* ===== 科幻风格父容器 #prompt-input ===== */\n#prompt-input {\n    /* 主体：半透明深色玻璃面板 + 蓝色光晕 */\n    background: rgba(20, 30, 50, 0.75) !important;\n    backdrop-filter: blur(6px) !important;\n    -webkit-backdrop-filter: blur(6px) !important;\n    /* 边框：高亮蓝紫渐变，模拟能量护盾 */\n    border: 2px solid rgba(45, 122, 255, 0.6) !important;\n    border-radius: 12px !important;\n    /* 多层阴影：内部漫反射 + 外部辉光 */\n    box-shadow: \n        inset 0 0 30px rgba(45, 122, 255, 0.08),\n        0 8px 24px rgba(0, 0, 0, 0.4),\n        0 0 0 1px rgba(45, 122, 255, 0.2),  /* 精密的描边 */\n        0 0 40px rgba(45, 122, 255, 0.15) !important;\n    position: relative;\n    display: flex !important;\n    align-items: flex-end !important;\n    width: 100% !important;\n    box-sizing: border-box !important;\n    /* 背景纹理：轻微科技感斜线 */\n    background-image: \n        repeating-linear-gradient(\n            45deg,\n            rgba(255, 255, 255, 0.02) 0px,\n            rgba(255, 255, 255, 0.02) 2px,\n            transparent 2px,\n            transparent 6px\n        ),\n        repeating-linear-gradient(\n            -45deg,\n            rgba(0, 50, 150, 0.03) 0px,\n            rgba(0, 50, 150, 0.03) 2px,\n            transparent 2px,\n            transparent 6px\n        ),\n        rgba(20, 30, 50, 0.75);\n    background-blend-mode: overlay, overlay, normal;\n    transition: all 0.3s ease;\n}\n\n/* ===== 容器内子元素间距 ===== */\n#prompt-input #prompt-input-body {\n    flex: 1;\n    min-width: 0;\n    /* 输入框区域与容器内边距协调 */\n    padding: 4px 4px 4px 8px;\n}\n\n/* ===== 容器整体聚焦（包含输入框或按钮） ===== */\n#prompt-input:focus-within {\n    border-color: rgba(45, 122, 255, 0.9) !important;\n    box-shadow: \n        inset 0 0 30px rgba(45, 122, 255, 0.15),\n        0 8px 24px rgba(0, 0, 0, 0.4),\n        0 0 0 1px rgba(45, 122, 255, 0.4),\n        0 0 60px rgba(45, 122, 255, 0.25) !important;\n    transition: border-color 0.3s, box-shadow 0.3s;\n}\n\n/* ===== 容器内按钮微调（与输入框协调） ===== */\n#prompt-input button,\n#prompt-input [type=\"submit\"] {\n    flex-shrink: 0;\n    margin: 4px 6px 4px 4px;  /* 保持与容器边距一致 */\n    /* 按钮自身样式由之前规则定义，此处仅做布局微调 */\n}\n\n/* ====科幻风格对话卡片样式 ==== */\n\n/* 1. 浅色模式下的样式（AI侧） */\n.is-assistant .flex.w-fit.max-w-full.min-w-0.flex-col.gap-2.text-sm.border.border-muted {\n    background: rgba(255, 245, 230, 0.95);   /* 护眼浅杏黄 */\n    border-left: 2px solid #F59E0B;           /* 橙色边框，与背景协调 */\n    border-bottom: 2px solid #F59E0B;\n    border-radius: 2px;\n    backdrop-filter: blur(2px);\n    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); /* 文字阴影增强可读性 */\n}\n\n/* 2. 用户侧使用不同的背景色 */\n.is-user .flex.w-fit.max-w-full.min-w-0.flex-col.gap-2.text-sm.border.border-muted {\n    background: rgba(230, 247, 255, 0.95);   /* 护眼浅天蓝 */\n    border-left: 2px solid #3B82F6;           /* 蓝色边框 */\n    border-bottom: 2px solid #3B82F6;\n    border-radius: 2px;\n    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);\n}\n\n/* 3. 深色模式下的样式覆盖（使用 .dark） */\n.dark .is-assistant .flex.w-fit.max-w-full.min-w-0.flex-col.gap-2.text-sm.border.border-muted {\n    background: rgba(10, 30, 50, 0.7);\n    border-left: 2px solid #FBBF24;           /* 亮橙色边框，与浅色模式呼应 */\n    border-bottom: 2px solid #FBBF24;\n    color: #ffffff !important;\n    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5); /* 深色背景下的阴影 */\n}\n\n.dark .is-user .flex.w-fit.max-w-full.min-w-0.flex-col.gap-2.text-sm.border.border-muted {\n    background: rgba(30, 15, 45, 0.7);\n    border-left: 2px solid #60A5FA;           /* 亮蓝色边框，与浅色模式呼应 */\n    border-bottom: 2px solid #60A5FA;\n    color: #ffffff !important;\n    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);\n}\n\n/* 科幻与超能风格折叠状态栏美化 */\ndetails {\n    border-radius: 4px;\n    margin: 6px 0;\n    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n    position: relative;\n    overflow: hidden;\n    /* ----- 浅色模式默认变量值 ----- */\n    --primary-color: #0066cc;\n    --secondary-color: #7c3aed;\n    --accent-color: #008855;\n    --warning-color: #cc2244;\n    --dark-bg: #f0f5ff;\n    --dark-surface: #ffffff;\n    --light-bg: #f0f5ff;\n    --light-surface: #ffffff;\n    --text-primary: #0a0a2a;\n    --text-secondary: #4a4a7a;\n    --text-muted: #6a6a9a;\n    --text-light-primary: #0a0a2a;\n    --text-light-secondary: #4a4a7a;\n    --border-color: rgba(0, 120, 180, 0.4);\n    --glow-primary: rgba(0, 120, 180, 0.25);\n    --glow-secondary: rgba(120, 0, 180, 0.2);\n    --grid-color: rgba(0, 120, 180, 0.1);\n    --light-border-color: rgba(0, 120, 180, 0.6);\n    --light-border-open: rgba(0, 217, 255, 0.9);\n    --light-grid-color: rgba(0, 120, 180, 0.15);\n    font-family: 'Segoe UI', 'Noto Sans', system-ui, sans-serif;\n}\n\n/* 动态网格背景 - 浅色默认 */\ndetails:before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background-image: \n        linear-gradient(var(--grid-color) 1px, transparent 1px),\n        linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);\n    background-size: 24px 24px;\n    pointer-events: none;\n    opacity: 0.4;\n    z-index: 0;\n    animation: gridMove 20s linear infinite;\n}\n\n@keyframes gridMove {\n    0% { transform: translateY(0); }\n    100% { transform: translateY(24px); }\n}\n\n/* 折叠状态 - 浅色默认 */\ndetails:not([open]) {\n    background: linear-gradient(135deg, var(--light-bg) 0%, #ffffff 100%);\n    border: 1px solid var(--light-border-color);\n    box-shadow: \n        0 0 10px rgba(0, 120, 180, 0.15), /* 光晕改为10px */\n        0 5px 25px rgba(0, 0, 0, 0.08),\n        inset 0 1px 0 rgba(255, 255, 255, 0.85);\n    padding: 2px 0;\n    position: relative;\n}\n\ndetails:not([open]):after {\n    content: '';\n    position: absolute;\n    top: -50%;\n    left: -50%;\n    width: 200%;\n    height: 200%;\n    background: linear-gradient(\n        45deg,\n        transparent 30%,\n        rgba(0, 217, 255, 0.08) 50%,\n        transparent 70%\n    );\n    animation: scan 6s linear infinite;\n    pointer-events: none;\n}\n\n/* 展开状态 - 浅色默认 */\ndetails[open] {\n    background: linear-gradient(135deg, var(--light-bg) 0%, #e8f1ff 100%);\n    border: 1px solid var(--light-border-open);\n    box-shadow: \n        0 0 10px rgba(0, 217, 255, 0.4), /* 光晕改为10px */\n        0 10px 40px rgba(0, 0, 0, 0.1),\n        inset 0 1px 0 rgba(255, 255, 255, 0.95);\n    padding: 1px;\n    animation: pulseLight 3s infinite alternate;\n}\n\n@keyframes pulseLight {\n    0% { \n        border-color: rgba(0, 120, 180, 0.8);\n        box-shadow: 0 0 10px rgba(0, 120, 180, 0.25); /* 光晕改为10px */\n    }\n    100% { \n        border-color: rgba(0, 200, 255, 1);\n        box-shadow: 0 0 10px rgba(0, 200, 255, 0.35); /* 光晕改为10px */\n    }\n}\n\n@keyframes scan {\n    0% { transform: translateY(-100%) rotate(45deg); }\n    100% { transform: translateY(100%) rotate(45deg); }\n}\n\n/* 摘要标签 - 浅色默认 */\ndetails summary {\n    font-size: 1.2em;\n    font-weight: 700;\n    cursor: pointer;\n    color: var(--text-light-primary);\n    background: linear-gradient(135deg, \n        rgba(240, 245, 255, 0.95) 0%, \n        rgba(255, 255, 255, 0.95) 100%);\n    padding: 8px 20px;\n    margin: 0;\n    position: relative;\n    transition: all 0.3s ease;\n    list-style: none;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    letter-spacing: 1.2px;\n    border-radius: 4px 4px 0 0;\n    border-bottom: 1px solid var(--light-border-color);\n    text-transform: uppercase;\n    font-family: 'Orbitron', 'Rajdhani', monospace;\n    text-shadow: 0 0 8px rgba(0, 120, 180, 0.4);\n    z-index: 1;\n    backdrop-filter: blur(5px);\n}\n\ndetails summary:hover {\n    background: linear-gradient(135deg, \n        rgba(0, 120, 180, 0.08) 0%, \n        rgba(120, 0, 180, 0.05) 100%);\n    transform: translateY(-3px);\n    box-shadow: 0 0 10px rgba(0, 120, 180, 0.2); /* 光晕改为10px */\n    text-shadow: 0 0 12px rgba(0, 120, 180, 0.5);\n    border-bottom: 1px solid rgba(0, 180, 255, 0.7);\n}\n\n/* 摘要文本 - 浅色默认 */\ndetails summary .summary-text {\n    background: linear-gradient(90deg, #0066cc, #009999);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    flex: 1;\n    padding: 0 10px;\n    font-weight: 800;\n    font-family: 'Orbitron', 'Rajdhani', monospace;\n    letter-spacing: 1.8px;\n    font-size: 1.1em;\n}\n\n/* 动态箭头 - 浅色默认 */\ndetails summary::after {\n    content: '◈';\n    font-size: 1.1em;\n    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);\n    color: #0066cc;\n    margin: 0 10px;\n    transform-origin: center;\n    font-weight: bold;\n    width: 16px;\n    height: 16px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: rgba(0, 120, 180, 0.08);\n    border-radius: 6px;\n    text-shadow: 0 0 8px rgba(0, 120, 180, 0.4);\n    box-shadow: 0 0 10px rgba(0, 120, 180, 0.2); /* 光晕改为10px */\n    font-family: 'Arial', sans-serif;\n}\n\ndetails[open] summary::after {\n    content: '◇';\n    transform: rotate(90deg);\n    color: #008855;\n    text-shadow: 0 0 8px rgba(0, 180, 100, 0.4);\n    box-shadow: 0 0 10px rgba(0, 180, 100, 0.25); /* 光晕改为10px */\n    background: rgba(0, 180, 100, 0.08);\n    animation: arrowPulse 1.5s infinite alternate;\n}\n\n@keyframes arrowPulse {\n    0% { \n        transform: rotate(90deg) scale(1);\n        opacity: 0.8;\n    }\n    100% { \n        transform: rotate(90deg) scale(1.2);\n        opacity: 1;\n    }\n}\n\n/* 内容区域 - 浅色默认 */\ndetails > *:not(summary) {\n    margin: 12px;\n    padding: 0;\n    font-size: 1.1em;\n    line-height: 1.7;\n    color: var(--text-light-secondary);\n    position: relative;\n    z-index: 1;\n}\n\n/* 文字强调 - 浅色默认 */\ndetails strong, details b {\n    color: #0066cc;\n    font-weight: 700;\n    text-shadow: 0 0 5px rgba(0, 102, 204, 0.3);\n    letter-spacing: 0.5px;\n}\n\ndetails em {\n    color: #008855;\n    font-style: italic;\n    font-weight: 600;\n    text-shadow: 0 0 5px rgba(0, 136, 85, 0.3);\n}\n\n/* 代码块 - 浅色默认 */\ndetails code {\n    color: #0a0a2a;\n    background: rgba(0, 120, 180, 0.08);\n    padding: 4px 4px;\n    margin: 2px 0;\n    border-radius: 4px;\n    font-weight: 600;\n    font-size: 0.95em;\n    border: 1px solid rgba(0, 120, 180, 0.25);\n    font-family: 'JetBrains Mono', 'Cascadia Code', 'Fira Code', monospace;\n    box-shadow: 0 0 10px rgba(0, 120, 180, 0.15); /* 光晕改为10px */\n    letter-spacing: 0.5px;\n}\n\ndetails pre {\n    background: linear-gradient(135deg, \n        rgba(240, 245, 255, 0.95) 0%, \n        rgba(255, 255, 255, 0.95) 100%);\n    padding: 4px;\n    border-radius: 4px;\n    overflow-x: auto;\n    color: var(--text-light-primary);\n    font-family: 'JetBrains Mono', 'Cascadia Code', 'Fira Code', monospace;\n    margin: 4px 0;\n    border: 1px solid rgba(0, 120, 180, 0.3);\n    box-shadow: \n        0 0 10px rgba(0, 120, 180, 0.15), /* 光晕改为10px */\n        inset 0 0 10px rgba(0, 120, 180, 0.05); /* 内阴影改为10px */\n    position: relative;\n}\n\n/* 链接 - 浅色默认 */\ndetails a {\n    color: #0066cc;\n    text-decoration: none;\n    border-bottom: 2px solid transparent;\n    transition: all 0.3s ease;\n    text-shadow: 0 0 10px rgba(0, 102, 204, 0.3);\n    position: relative;\n}\n\ndetails a:hover {\n    color: #008855;\n    border-bottom: 2px solid #008855;\n    text-shadow: 0 0 10px rgba(0, 136, 85, 0.5); /* 光晕改为10px */\n}\n\ndetails a::after {\n    content: '';\n    position: absolute;\n    bottom: -2px;\n    left: 0;\n    width: 100%;\n    height: 2px;\n    background: var(--accent-color);\n    transform: scaleX(0);\n    transition: transform 0.3s ease;\n}\n\ndetails a:hover::after {\n    transform: scaleX(1);\n}\n\n/* 滚动条 - 浅色默认 */\ndetails ::-webkit-scrollbar {\n    width: 12px;\n    height: 12px;\n}\n\ndetails ::-webkit-scrollbar-track {\n    background: rgba(240, 245, 255, 0.8);\n    border-radius: 10px;\n    border: 1px solid var(--light-border-color);\n}\n\ndetails ::-webkit-scrollbar-thumb {\n    background: linear-gradient(135deg, rgba(0, 120, 180, 0.7), rgba(120, 0, 180, 0.5));\n    border-radius: 10px;\n    border: 1px solid rgba(0, 120, 180, 0.3);\n    box-shadow: 0 0 10px rgba(0, 120, 180, 0.3); /* 光晕改为10px */\n}\n\ndetails ::-webkit-scrollbar-thumb:hover {\n    background: linear-gradient(135deg, var(--accent-color), var(--primary-color));\n    box-shadow: 0 0 10px var(--accent-color); /* 光晕改为10px */\n}\n\n/* ========== 深色模式（.dark）覆盖 ========== */\n.dark details {\n    /* 深色变量值 */\n    --primary-color: #00d9ff;\n    --secondary-color: #9b5dff;\n    --accent-color: #00ffa2;\n    --warning-color: #ff3c7c;\n    --dark-bg: #0a0a1a;\n    --dark-surface: #121230;\n    --light-bg: #f0f5ff;\n    --light-surface: #ffffff;\n    --text-primary: #ffffff;\n    --text-secondary: #b8c0ff;\n    --text-muted: #8a9aff;\n    --text-light-primary: #0a0a2a;\n    --text-light-secondary: #4a4a7a;\n    --border-color: rgba(0, 217, 255, 0.4);\n    --glow-primary: rgba(0, 217, 255, 0.5);\n    --glow-secondary: rgba(155, 93, 255, 0.4);\n    --grid-color: rgba(0, 217, 255, 0.15);\n    --light-border-color: rgba(0, 120, 180, 0.6);\n    --light-border-open: rgba(0, 217, 255, 0.9);\n    --light-grid-color: rgba(0, 120, 180, 0.15);\n}\n\n.dark details:not([open]) {\n    background: linear-gradient(135deg, var(--dark-surface) 0%, #1a1a40 100%);\n    border: 1px solid var(--border-color);\n    box-shadow: \n        0 0 10px var(--glow-primary), /* 光晕改为10px */\n        0 5px 35px rgba(0, 0, 0, 0.6),\n        inset 0 1px 0 rgba(255, 255, 255, 0.15);\n}\n\n.dark details[open] {\n    background: linear-gradient(135deg, var(--dark-surface) 0%, #0f0f28 100%);\n    border: 1px solid var(--primary-color);\n    box-shadow: \n        0 0 10px var(--glow-primary), /* 光晕改为10px */\n        0 12px 50px rgba(0, 0, 0, 0.75),\n        inset 0 0 10px rgba(0, 217, 255, 0.15); /* 内阴影改为10px */\n    animation: pulseGlow 3s infinite alternate;\n}\n\n@keyframes pulseGlow {\n    0% { \n        box-shadow: 0 0 10px var(--glow-primary), 0 12px 50px rgba(0, 0, 0, 0.75); /* 光晕改为10px */\n        border-color: var(--primary-color);\n    }\n    100% { \n        box-shadow: 0 0 10px var(--primary-color), 0 18px 60px rgba(0, 0, 0, 0.9); /* 光晕改为10px */\n        border-color: var(--accent-color);\n    }\n}\n\n.dark details summary {\n    color: var(--text-primary);\n    background: linear-gradient(135deg, \n        rgba(25, 25, 60, 0.9) 0%, \n        rgba(15, 15, 40, 0.9) 100%);\n    border-bottom: 1px solid var(--border-color);\n    text-shadow: 0 0 10px var(--primary-color); /* 改为10px */\n}\n\n.dark details summary:hover {\n    background: linear-gradient(135deg, \n        rgba(0, 217, 255, 0.15) 0%, \n        rgba(155, 93, 255, 0.12) 100%);\n    box-shadow: 0 0 10px var(--glow-primary); /* 光晕改为10px */\n    text-shadow: 0 0 10px var(--primary-color); /* 改为10px */\n    letter-spacing: 1.5px;\n}\n\n.dark details summary .summary-text {\n    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));\n    -webkit-background-clip: text;\n    background-clip: text;\n}\n\n.dark details summary::after {\n    color: var(--primary-color);\n    background: rgba(0, 217, 255, 0.15);\n    text-shadow: 0 0 10px var(--primary-color); /* 改为10px */\n    box-shadow: 0 0 10px rgba(0, 217, 255, 0.4); /* 光晕改为10px */\n}\n\n.dark details[open] summary::after {\n    color: var(--accent-color);\n    text-shadow: 0 0 10px var(--accent-color); /* 改为10px */\n    box-shadow: 0 0 10px rgba(0, 255, 162, 0.5); /* 光晕改为10px */\n    background: rgba(0, 255, 162, 0.15);\n}\n\n.dark details > *:not(summary) {\n    color: var(--text-secondary);\n}\n\n.dark details strong, .dark details b {\n    color: var(--primary-color);\n    text-shadow: 0 0 8px var(--glow-primary);\n}\n\n.dark details em {\n    color: var(--accent-color);\n    text-shadow: 0 0 8px rgba(0, 255, 162, 0.4);\n}\n\n.dark details code {\n    color: var(--text-primary);\n    background: rgba(0, 217, 255, 0.2);\n    border: 1px solid rgba(0, 217, 255, 0.4);\n    box-shadow: 0 0 10px rgba(0, 217, 255, 0.25); /* 光晕改为10px */\n}\n\n.dark details pre {\n    background: linear-gradient(135deg, \n        rgba(15, 15, 40, 0.9) 0%, \n        rgba(25, 25, 60, 0.9) 100%);\n    color: var(--text-primary);\n    border: 1px solid var(--border-color);\n    box-shadow: \n        0 0 10px rgba(0, 217, 255, 0.25), /* 光晕改为10px */\n        inset 0 0 10px rgba(0, 217, 255, 0.08); /* 内阴影改为10px */\n}\n\n.dark details a {\n    color: var(--primary-color);\n    text-shadow: 0 0 10px var(--glow-primary); /* 改为10px */\n}\n\n.dark details a:hover {\n    color: var(--accent-color);\n    border-bottom: 2px solid var(--accent-color);\n    text-shadow: 0 0 10px var(--accent-color); /* 改为10px */\n}\n\n.dark details ::-webkit-scrollbar-track {\n    background: rgba(20, 20, 50, 0.8);\n    border: 1px solid var(--border-color);\n}\n\n.dark details ::-webkit-scrollbar-thumb {\n    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\n    border: 1px solid rgba(0, 217, 255, 0.4);\n    box-shadow: 0 0 10px var(--primary-color); /* 光晕改为10px */\n}\n\n.dark details ::-webkit-scrollbar-thumb:hover {\n    background: linear-gradient(135deg, var(--accent-color), var(--primary-color));\n    box-shadow: 0 0 10px var(--accent-color); /* 光晕改为10px */\n}\n\n/* ========== 基础卡片样式（浅色默认） ========== */\n.user-card,\n.role-card,\n.news-card,\n.sms-card,\n.task-card {\n    width: 100%;\n    max-width: 100%;\n    border-radius: 6px;\n    padding: 12px;\n    position: relative;\n    overflow: hidden;\n    font-family: 'Segoe UI', 'Noto Sans', system-ui, sans-serif;\n    margin: 12px 0;\n    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n    backdrop-filter: blur(8px);\n}\n\n/* ========== ROLE CARD 角色卡片（浅红+浅橙） ========== */\n.role-card {\n    --role-primary: #cc3344;          /* 主色：红 */\n    --role-secondary: #ee7733;        /* 辅色：橙 */\n    --role-accent: #cc8800;           /* 强调色：金橙 */\n    --role-bg: linear-gradient(135deg, \n        rgba(255, 235, 230, 0.95) 0%, \n        rgba(255, 245, 240, 0.98) 100%);\n    --role-border: 1px solid rgba(255, 120, 80, 0.4);\n    --role-glow: rgba(255, 120, 80, 0.2);\n    --role-grid: rgba(255, 120, 80, 0.08);\n    \n    background: var(--role-bg);\n    border: var(--role-border);\n    box-shadow: \n        0 0 10px var(--role-glow),\n        inset 0 0 10px rgba(255, 120, 80, 0.05);\n}\n\n.role-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: \n        linear-gradient(90deg, transparent 97%, var(--role-grid) 100%),\n        linear-gradient(0deg, transparent 97%, var(--role-grid) 100%);\n    background-size: 20px 20px;\n    pointer-events: none;\n    z-index: 1;\n    opacity: 0.5;\n}\n\n.role-card::after {\n    content: '';\n    position: absolute;\n    top: -2px;\n    left: -2px;\n    right: -2px;\n    bottom: -2px;\n    background: linear-gradient(45deg, \n        var(--role-primary), \n        var(--role-secondary), \n        var(--role-accent));\n    z-index: -1;\n    opacity: 0.2;\n    filter: blur(3px);\n    border-radius: 8px;\n}\n\n.role-card > .title {\n    color: var(--role-primary);\n    text-shadow: 0 0 10px var(--role-primary);\n}\n\n.role-card > .title::after {\n    background: linear-gradient(90deg, \n        transparent, \n        var(--role-primary), \n        var(--role-accent), \n        transparent);\n    box-shadow: 0 0 10px var(--role-primary);\n}\n\n.role-card:hover {\n    transform: translateY(-5px);\n    box-shadow: \n        0 0 10px rgba(255, 120, 80, 0.3),\n        inset 0 0 10px rgba(255, 120, 80, 0.1);\n    border-color: rgba(255, 120, 80, 0.6);\n}\n\n/* ========== USER CARD 用户卡片（浅蓝+浅紫） ========== */\n.user-card {\n    --user-primary: #3366cc;          /* 主色：蓝 */\n    --user-secondary: #8855dd;        /* 辅色：紫 */\n    --user-accent: #44aadd;           /* 强调色：亮蓝 */\n    --user-bg: linear-gradient(135deg, \n        rgba(230, 240, 255, 0.95) 0%, \n        rgba(245, 240, 255, 0.98) 100%);\n    --user-border: 1px solid rgba(80, 120, 255, 0.4);\n    --user-glow: rgba(80, 120, 255, 0.2);\n    --user-grid: rgba(80, 120, 255, 0.08);\n    \n    background: var(--user-bg);\n    border: var(--user-border);\n    box-shadow: \n        0 0 10px var(--user-glow),\n        inset 0 0 10px rgba(80, 120, 255, 0.05);\n}\n\n.user-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: \n        linear-gradient(90deg, transparent 97%, var(--user-grid) 100%),\n        linear-gradient(0deg, transparent 97%, var(--user-grid) 100%);\n    background-size: 20px 20px;\n    pointer-events: none;\n    z-index: 1;\n    opacity: 0.5;\n}\n\n.user-card::after {\n    content: '';\n    position: absolute;\n    top: -2px;\n    left: -2px;\n    right: -2px;\n    bottom: -2px;\n    background: linear-gradient(45deg, \n        var(--user-primary), \n        var(--user-secondary), \n        var(--user-accent));\n    z-index: -1;\n    opacity: 0.2;\n    filter: blur(3px);\n    border-radius: 8px;\n}\n\n.user-card > .title {\n    color: var(--user-primary);\n    text-shadow: 0 0 10px var(--user-primary);\n}\n\n.user-card > .title::after {\n    background: linear-gradient(90deg, \n        transparent, \n        var(--user-primary), \n        var(--user-accent), \n        transparent);\n    box-shadow: 0 0 10px var(--user-primary);\n}\n\n.user-card:hover {\n    transform: translateY(-5px);\n    box-shadow: \n        0 0 10px rgba(80, 120, 255, 0.3),\n        inset 0 0 10px rgba(80, 120, 255, 0.1);\n    border-color: rgba(80, 120, 255, 0.6);\n}\n\n/* 角色卡片进度条（浅色默认） */\n.role-stat, user-stat {\n    margin: 15px 0;\n    position: relative;\n    z-index: 2;\n}\n\n.stat-label {\n    position: absolute;\n    left: 3px;\n    top: 50%;\n    transform: translateY(-50%);\n    font-weight: 700;\n    font-size: 0.9rem;\n    letter-spacing: 0.8px;\n    text-transform: uppercase;\n    z-index: 4;\n    margin-bottom: 0;\n    background: rgba(255, 255, 255, 0.8);\n    padding: 3px 8px 3px 6px;\n    min-width: 50px;\n    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);\n    border-left: 3px solid;\n    border-radius: 0 5px 5px 0;\n    font-family: 'Rajdhani', sans-serif;\n}\n\n.health .stat-label {\n    color: var(--role-primary);\n    text-shadow: 0 0 3px rgba(255, 100, 150, 0.5);\n    border-left-color: var(--role-primary);\n    background: rgba(255, 100, 150, 0.15);\n}\n\n.energy .stat-label {\n    color: var(--role-secondary);\n    text-shadow: 0 0 3px rgba(0, 119, 170, 0.5);\n    border-left-color: var(--role-secondary);\n    background: rgba(0, 119, 170, 0.15);\n}\n\n.soul .stat-label {\n    color: var(--role-accent);\n    text-shadow: 0 0 3px rgba(204, 153, 0, 0.5);\n    border-left-color: var(--role-accent);\n    background: rgba(204, 153, 0, 0.15);\n}\n\n.progress-container {\n    height: 26px;\n    background: rgba(255, 255, 255, 0.6);\n    border: 1px solid rgba(255, 100, 150, 0.3);\n    border-radius: 4px;\n    position: relative;\n    overflow: hidden;\n    box-shadow: \n        inset 0 0 10px rgba(0, 0, 0, 0.05), /* 内阴影改为10px */\n        0 0 8px rgba(255, 100, 150, 0.1);\n    padding-left: 65px;\n}\n\n.progress-container::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: linear-gradient(90deg,\n        transparent 0%,\n        rgba(255, 255, 255, 0.2) 50%,\n        transparent 100%);\n    animation: scan 2.5s linear infinite;\n    z-index: 2;\n}\n\n.progress-fill {\n    height: 100%;\n    position: relative;\n    transition: width 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);\n    width: calc(var(--progress-width, 75%) - 65px);\n    max-width: calc(100% - 65px);\n}\n\n.health .progress-fill {\n    background: linear-gradient(90deg,\n        rgba(255, 100, 150, 0.4),\n        var(--role-primary) 70%);\n    box-shadow: 0 0 8px rgba(255, 100, 150, 0.3);\n}\n\n.energy .progress-fill {\n    background: linear-gradient(90deg,\n        rgba(0, 119, 170, 0.4),\n        var(--role-secondary) 70%);\n    box-shadow: 0 0 8px rgba(0, 119, 170, 0.3);\n}\n\n.soul .progress-fill {\n    background: linear-gradient(90deg,\n        rgba(204, 153, 0, 0.4),\n        var(--role-accent) 70%);\n    box-shadow: 0 0 8px rgba(204, 153, 0, 0.3);\n}\n\n.progress-fill::after {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: \n        linear-gradient(90deg, \n        transparent 0%, \n        rgba(255, 255, 255, 0.15) 50%, \n        transparent 100%);\n    animation: shimmer 2s infinite;\n}\n\n.progress-value {\n    position: absolute;\n    right: 10px;\n    top: 50%;\n    transform: translateY(-50%);\n    color: #0a0a2a;\n    font-weight: 800;\n    font-size: 0.9rem;\n    text-shadow: 0 0 5px rgba(255, 255, 255, 0.8);\n    z-index: 3;\n    background: rgba(255, 255, 255, 0.7);\n    padding: 2px 8px;\n    border-radius: 3px;\n    font-family: 'Orbitron', monospace;\n}\n\n/* ========== NEWS CARD 新闻卡片（浅色默认） ========== */\n.news-card {\n    --news-primary: #008855;\n    --news-secondary: #4466cc;\n    --news-bg: linear-gradient(135deg, \n        rgba(230, 255, 245, 0.9) 0%, \n        rgba(245, 255, 250, 0.95) 100%);\n    --news-border: 1px solid rgba(0, 200, 150, 0.4);\n    --news-glow: rgba(0, 200, 150, 0.15);\n    --news-grid: rgba(0, 200, 150, 0.08);\n    \n    background: var(--news-bg);\n    border: var(--news-border);\n    box-shadow: \n        0 0 10px var(--news-glow), /* 光晕改为10px */\n        inset 0 0 10px rgba(0, 200, 150, 0.05); /* 内阴影改为10px */\n}\n\n.news-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: \n        linear-gradient(90deg, transparent 98%, var(--news-grid) 100%),\n        linear-gradient(0deg, transparent 98%, var(--news-grid) 100%);\n    background-size: 30px 30px;\n    pointer-events: none;\n    z-index: 1;\n    opacity: 0.4;\n}\n\n.news-card::after {\n    content: '';\n    position: absolute;\n    top: -2px;\n    left: -2px;\n    right: -2px;\n    bottom: -2px;\n    background: linear-gradient(45deg, \n        var(--news-primary), \n        var(--news-secondary));\n    z-index: -1;\n    opacity: 0.15;\n    filter: blur(3px);\n    border-radius: 8px;\n}\n\n.news-card > .title {\n    color: var(--news-primary);\n    text-shadow: 0 0 10px var(--news-primary); /* 改为10px */\n}\n\n.news-card > .title::after {\n    background: linear-gradient(90deg, \n        transparent, \n        var(--news-primary), \n        var(--news-secondary), \n        transparent);\n    box-shadow: 0 0 10px var(--news-primary); /* 光晕改为10px */\n}\n\n.news-card:hover {\n    transform: translateY(-5px);\n    box-shadow: \n        0 0 10px rgba(0, 200, 150, 0.25), /* 光晕改为10px */\n        inset 0 0 10px rgba(0, 200, 150, 0.1); /* 内阴影改为10px */\n    border-color: rgba(0, 200, 150, 0.6);\n}\n\n.news-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 15px;\n    padding-bottom: 10px;\n    border-bottom: 1px solid rgba(0, 200, 150, 0.3);\n}\n\n.news-source {\n    color: var(--news-primary);\n    font-weight: 700;\n    font-size: 1.1rem;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    font-family: 'Orbitron', sans-serif;\n}\n\n.news-date {\n    color: var(--news-secondary);\n    font-size: 0.9rem;\n    font-family: 'JetBrains Mono', monospace;\n}\n\n.news-title {\n    color: #0a0a2a;\n    font-size: 1.2rem;\n    font-weight: 700;\n    margin: 12px 0;\n    line-height: 1.4;\n    text-shadow: 0 0 5px rgba(0, 0, 0, 0.05);\n}\n\n.news-content {\n    color: var(--text-light-secondary);\n    line-height: 1.6;\n    margin: 15px 0;\n    padding: 12px;\n    background: rgba(0, 120, 180, 0.05);\n    border-radius: 4px;\n    border-left: 3px solid var(--news-primary);\n}\n\n.news-tags {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin-top: 15px;\n}\n\n.news-tag {\n    background: rgba(0, 200, 150, 0.15);\n    color: var(--news-primary);\n    padding: 4px 10px;\n    border-radius: 20px;\n    font-size: 0.85rem;\n    font-weight: 600;\n    border: 1px solid rgba(0, 200, 150, 0.3);\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n    transition: all 0.3s ease;\n}\n\n.news-tag:hover {\n    background: rgba(0, 200, 150, 0.25);\n    transform: translateY(-2px);\n    box-shadow: 0 0 10px var(--news-primary); /* 光晕改为10px */\n}\n\n/* ========== SMS CARD 消息卡片（浅色默认） ========== */\n.sms-card {\n    --sms-primary: #7c3aed;\n    --sms-secondary: #a855f7;\n    --sms-bg: linear-gradient(135deg, \n        rgba(245, 230, 255, 0.9) 0%, \n        rgba(250, 245, 255, 0.95) 100%);\n    --sms-border: 1px solid rgba(180, 120, 255, 0.4);\n    --sms-glow: rgba(180, 120, 255, 0.15);\n    --sms-grid: rgba(180, 120, 255, 0.08);\n    \n    background: var(--sms-bg);\n    border: var(--sms-border);\n    box-shadow: \n        0 0 10px var(--sms-glow), /* 光晕改为10px */\n        inset 0 0 10px rgba(180, 120, 255, 0.05); /* 内阴影改为10px */\n}\n\n.sms-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: \n        radial-gradient(circle at 20% 20%, var(--sms-grid) 1px, transparent 1px),\n        radial-gradient(circle at 80% 80%, var(--sms-grid) 1px, transparent 1px);\n    background-size: 40px 40px;\n    pointer-events: none;\n    z-index: 1;\n    opacity: 0.3;\n}\n\n.sms-card::after {\n    content: '';\n    position: absolute;\n    top: -2px;\n    left: -2px;\n    right: -2px;\n    bottom: -2px;\n    background: linear-gradient(45deg, \n        var(--sms-primary), \n        var(--sms-secondary));\n    z-index: -1;\n    opacity: 0.2;\n    filter: blur(3px);\n    border-radius: 8px;\n}\n\n.sms-card > .title {\n    color: var(--sms-primary);\n    text-shadow: 0 0 10px var(--sms-primary); /* 改为10px */\n}\n\n.sms-card > .title::after {\n    background: linear-gradient(90deg, \n        transparent, \n        var(--sms-primary), \n        var(--sms-secondary), \n        transparent);\n    box-shadow: 0 0 10px var(--sms-primary); /* 光晕改为10px */\n}\n\n.sms-card:hover {\n    transform: translateY(-5px);\n    box-shadow: \n        0 0 10px rgba(180, 120, 255, 0.25), /* 光晕改为10px */\n        inset 0 0 10px rgba(180, 120, 255, 0.1); /* 内阴影改为10px */\n    border-color: rgba(180, 120, 255, 0.6);\n}\n\n.sms-message {\n    margin: 15px 0;\n    padding: 15px;\n    border-radius: 12px;\n    position: relative;\n    max-width: 85%;\n    animation: messageAppear 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@keyframes messageAppear {\n    from { opacity: 0; transform: translateY(10px); }\n    to { opacity: 1; transform: translateY(0); }\n}\n\n.sms-sent {\n    background: rgba(124, 58, 237, 0.15);\n    border: 1px solid var(--sms-primary);\n    margin-left: auto;\n    box-shadow: \n        0 0 10px rgba(124, 58, 237, 0.2), /* 光晕改为10px */\n        inset 0 0 10px rgba(124, 58, 237, 0.05); /* 内阴影改为10px */\n}\n\n.sms-received {\n    background: rgba(168, 85, 247, 0.15);\n    border: 1px solid var(--sms-secondary);\n    margin-right: auto;\n    box-shadow: \n        0 0 10px rgba(168, 85, 247, 0.2), /* 光晕改为10px */\n        inset 0 0 10px rgba(168, 85, 247, 0.05); /* 内阴影改为10px */\n}\n\n.sms-sender {\n    font-weight: 700;\n    font-size: 0.9rem;\n    margin-bottom: 6px;\n    text-transform: uppercase;\n    letter-spacing: 0.8px;\n}\n\n.sms-sent .sms-sender {\n    color: var(--sms-primary);\n    text-align: right;\n}\n\n.sms-received .sms-sender {\n    color: var(--sms-secondary);\n    text-align: left;\n}\n\n.sms-content {\n    color: #0a0a2a;\n    line-height: 1.5;\n    margin: 8px 0;\n}\n\n.sms-time {\n    font-size: 0.8rem;\n    opacity: 0.7;\n    text-align: right;\n    margin-top: 8px;\n    font-family: 'JetBrains Mono', monospace;\n    color: #6a4a8a;\n}\n\n.sms-input-area {\n    margin-top: 20px;\n    padding-top: 15px;\n    border-top: 1px solid rgba(124, 58, 237, 0.3);\n}\n\n.sms-input {\n    width: 100%;\n    padding: 12px;\n    background: rgba(255, 255, 255, 0.9);\n    border: 1px solid var(--sms-primary);\n    border-radius: 6px;\n    color: #0a0a2a;\n    font-family: inherit;\n    font-size: 1rem;\n    resize: vertical;\n    min-height: 60px;\n    transition: all 0.3s ease;\n}\n\n.sms-input:focus {\n    outline: none;\n    border-color: var(--sms-secondary);\n    box-shadow: 0 0 10px rgba(168, 85, 247, 0.2); /* 光晕改为10px */\n    background: rgba(255, 255, 255, 1);\n}\n\n/* ========== TASK CARD 任务卡片（浅色默认） ========== */\n.task-card {\n    --task-primary: #cc8800;\n    --task-secondary: #ee7700;\n    --task-accent: #cc2244;\n    --task-bg: linear-gradient(135deg, \n        rgba(255, 245, 230, 0.9) 0%, \n        rgba(255, 250, 245, 0.95) 100%);\n    --task-border: 1px solid rgba(255, 180, 0, 0.4);\n    --task-glow: rgba(255, 180, 0, 0.15);\n    --task-grid: rgba(255, 180, 0, 0.08);\n    \n    background: var(--task-bg);\n    border: var(--task-border);\n    box-shadow: \n        0 0 10px var(--task-glow), /* 光晕改为10px */\n        inset 0 0 10px rgba(255, 180, 0, 0.05); /* 内阴影改为10px */\n}\n\n.task-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: \n        repeating-linear-gradient(0deg, \n            transparent, \n            transparent 2px, \n            var(--task-grid) 2px, \n            var(--task-grid) 4px);\n    pointer-events: none;\n    z-index: 1;\n    opacity: 0.4;\n}\n\n.task-card::after {\n    content: '';\n    position: absolute;\n    top: -2px;\n    left: -2px;\n    right: -2px;\n    bottom: -2px;\n    background: linear-gradient(45deg, \n        var(--task-primary), \n        var(--task-secondary), \n        var(--task-accent));\n    z-index: -1;\n    opacity: 0.15;\n    filter: blur(3px);\n    border-radius: 8px;\n}\n\n.task-card > .title {\n    color: var(--task-primary);\n    text-shadow: 0 0 10px var(--task-primary); /* 改为10px */\n}\n\n.task-card > .title::after {\n    background: linear-gradient(90deg, \n        transparent, \n        var(--task-primary), \n        var(--task-secondary), \n        transparent);\n    box-shadow: 0 0 10px var(--task-primary); /* 光晕改为10px */\n}\n\n.task-card:hover {\n    transform: translateY(-5px);\n    box-shadow: \n        0 0 10px rgba(255, 180, 0, 0.25), /* 光晕改为10px */\n        inset 0 0 10px rgba(255, 180, 0, 0.1); /* 内阴影改为10px */\n    border-color: rgba(255, 180, 0, 0.6);\n}\n\n.task-item {\n    background: rgba(255, 245, 220, 0.6);\n    border: 1px solid rgba(255, 180, 0, 0.3);\n    border-radius: 6px;\n    padding: 15px;\n    margin: 12px 0;\n    position: relative;\n    transition: all 0.3s ease;\n}\n\n.task-item:hover {\n    transform: translateX(5px);\n    box-shadow: 0 0 10px rgba(255, 180, 0, 0.2); /* 光晕改为10px */\n    border-color: var(--task-primary);\n}\n\n.task-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 10px;\n}\n\n.task-title {\n    color: #0a0a2a;\n    font-weight: 700;\n    font-size: 1.1rem;\n    flex: 1;\n}\n\n.task-priority {\n    padding: 3px 10px;\n    border-radius: 20px;\n    font-size: 0.8rem;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.8px;\n    margin-left: 10px;\n}\n\n.priority-high {\n    background: rgba(204, 34, 68, 0.15);\n    color: var(--task-accent);\n    border: 1px solid rgba(204, 34, 68, 0.3);\n}\n\n.priority-medium {\n    background: rgba(204, 136, 0, 0.15);\n    color: var(--task-primary);\n    border: 1px solid rgba(204, 136, 0, 0.3);\n}\n\n.priority-low {\n    background: rgba(238, 119, 0, 0.15);\n    color: var(--task-secondary);\n    border: 1px solid rgba(238, 119, 0, 0.3);\n}\n\n.task-status {\n    display: inline-block;\n    padding: 3px 10px;\n    border-radius: 12px;\n    font-size: 0.8rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.8px;\n}\n\n.status-pending {\n    background: rgba(204, 136, 0, 0.15);\n    color: var(--task-primary);\n    border: 1px solid rgba(204, 136, 0, 0.3);\n}\n\n.status-progress {\n    background: rgba(238, 119, 0, 0.15);\n    color: var(--task-secondary);\n    border: 1px solid rgba(238, 119, 0, 0.3);\n}\n\n.status-completed {\n    background: rgba(0, 200, 100, 0.15);\n    color: #008855;\n    border: 1px solid rgba(0, 200, 100, 0.3);\n}\n\n.status-failed {\n    background: rgba(204, 34, 68, 0.15);\n    color: var(--task-accent);\n    border: 1px solid rgba(204, 34, 68, 0.3);\n}\n\n.task-description {\n    color: #664422;\n    margin: 10px 0;\n    line-height: 1.5;\n    padding-left: 15px;\n    border-left: 2px solid var(--task-primary);\n}\n\n.task-progress-bar {\n    height: 6px;\n    background: rgba(0, 0, 0, 0.05);\n    border-radius: 3px;\n    margin: 10px 0;\n    overflow: hidden;\n    position: relative;\n}\n\n.task-progress-fill {\n    height: 100%;\n    background: linear-gradient(90deg, var(--task-primary), var(--task-secondary));\n    border-radius: 3px;\n    transition: width 1s ease;\n    position: relative;\n    box-shadow: 0 0 10px var(--task-primary); /* 光晕改为10px */\n}\n\n.task-progress-fill::after {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: linear-gradient(90deg,\n        transparent,\n        rgba(255, 255, 255, 0.2),\n        transparent);\n    animation: scan 2s linear infinite;\n}\n\n.task-deadline {\n    color: #886633;\n    font-size: 0.85rem;\n    margin-top: 8px;\n    font-family: 'JetBrains Mono', monospace;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n}\n\n.task-deadline::before {\n    content: '⏱️';\n    font-size: 0.9rem;\n}\n\n/* ========== 卡片深色模式（.dark）覆盖 ========== */\n.dark .role-card {\n    --role-primary: #ff4d5a;          /* 亮红 */\n    --role-secondary: #ff8c42;        /* 亮橙 */\n    --role-accent: #ffbb33;           /* 亮金 */\n    --role-bg: linear-gradient(135deg, \n        rgba(40, 20, 15, 0.85) 0%, \n        rgba(60, 30, 20, 0.9) 100%);\n    --role-border: 1px solid rgba(255, 77, 90, 0.6);\n    --role-glow: rgba(255, 77, 90, 0.3);\n    --role-grid: rgba(255, 77, 90, 0.1);\n    \n    background: var(--role-bg);\n    border: var(--role-border);\n    box-shadow: \n        0 0 10px var(--role-glow),\n        inset 0 0 10px rgba(255, 77, 90, 0.1);\n}\n\n.dark .role-card .title {\n    color: var(--role-primary);\n    text-shadow: 0 0 10px var(--role-primary);\n}\n\n.dark .role-card:hover {\n    box-shadow: \n        0 0 10px rgba(255, 77, 90, 0.4),\n        inset 0 0 10px rgba(255, 77, 90, 0.15);\n    border-color: rgba(255, 77, 90, 0.8);\n}\n\n/* ------ user-card 深色模式 ------ */\n.dark .user-card {\n    --user-primary: #5c8cff;          /* 亮蓝 */\n    --user-secondary: #aa77ff;        /* 亮紫 */\n    --user-accent: #66ccff;           /* 亮青蓝 */\n    --user-bg: linear-gradient(135deg, \n        rgba(15, 20, 40, 0.85) 0%, \n        rgba(30, 20, 60, 0.9) 100%);\n    --user-border: 1px solid rgba(92, 140, 255, 0.6);\n    --user-glow: rgba(92, 140, 255, 0.3);\n    --user-grid: rgba(92, 140, 255, 0.1);\n    \n    background: var(--user-bg);\n    border: var(--user-border);\n    box-shadow: \n        0 0 10px var(--user-glow),\n        inset 0 0 10px rgba(92, 140, 255, 0.1);\n}\n\n.dark .user-card .title {\n    color: var(--user-primary);\n    text-shadow: 0 0 10px var(--user-primary);\n}\n\n.dark .user-card:hover {\n    box-shadow: \n        0 0 10px rgba(92, 140, 255, 0.4),\n        inset 0 0 10px rgba(92, 140, 255, 0.15);\n    border-color: rgba(92, 140, 255, 0.8);\n}\n\n.dark .health .stat-label {\n    color: var(--role-primary);\n    text-shadow: 0 0 3px rgba(255, 0, 85, 0.9);\n    border-left-color: var(--role-primary);\n    background: rgba(255, 0, 85, 0.2);\n}\n\n.dark .energy .stat-label {\n    color: var(--role-secondary);\n    text-shadow: 0 0 3px rgba(0, 217, 255, 0.9);\n    border-left-color: var(--role-secondary);\n    background: rgba(0, 217, 255, 0.2);\n}\n\n.dark .soul .stat-label {\n    color: var(--role-accent);\n    text-shadow: 0 0 3px rgba(255, 221, 0, 0.9);\n    border-left-color: var(--role-accent);\n    background: rgba(255, 221, 0, 0.2);\n}\n\n.dark .progress-container {\n    background: rgba(40, 10, 30, 0.6);\n    border: 1px solid rgba(255, 0, 85, 0.4);\n    box-shadow: \n        inset 0 0 10px rgba(0, 0, 0, 0.9), /* 内阴影改为10px */\n        0 0 8px rgba(255, 0, 85, 0.2);\n}\n\n.dark .progress-value {\n    color: #fff;\n    text-shadow: 0 0 5px rgba(0, 0, 0, 0.9);\n    background: rgba(0, 0, 0, 0.5);\n}\n\n.dark .health .progress-fill {\n    background: linear-gradient(90deg,\n        rgba(255, 0, 85, 0.4),\n        var(--role-primary) 70%);\n    box-shadow: 0 0 8px rgba(255, 0, 85, 0.5);\n}\n\n.dark .energy .progress-fill {\n    background: linear-gradient(90deg,\n        rgba(0, 217, 255, 0.4),\n        var(--role-secondary) 70%);\n    box-shadow: 0 0 8px rgba(0, 217, 255, 0.5);\n}\n\n.dark .soul .progress-fill {\n    background: linear-gradient(90deg,\n        rgba(255, 221, 0, 0.4),\n        var(--role-accent) 70%);\n    box-shadow: 0 0 8px rgba(255, 221, 0, 0.5);\n}\n\n/* 新闻卡片深色 */\n.dark .news-card {\n    --news-primary: #00ffa2;\n    --news-secondary: #6c8cff;\n    --news-bg: linear-gradient(135deg, \n        rgba(10, 20, 40, 0.85) 0%, \n        rgba(20, 30, 60, 0.9) 100%);\n    --news-border: 1px solid rgba(0, 255, 162, 0.5);\n    --news-glow: rgba(0, 255, 162, 0.25);\n    --news-grid: rgba(0, 255, 162, 0.08);\n    \n    background: var(--news-bg);\n    border: var(--news-border);\n    box-shadow: \n        0 0 10px var(--news-glow), /* 光晕改为10px */\n        inset 0 0 10px rgba(0, 255, 162, 0.08); /* 内阴影改为10px */\n}\n\n.dark .news-card .title {\n    color: var(--news-primary);\n    text-shadow: 0 0 10px var(--news-primary); /* 改为10px */\n}\n\n.dark .news-card:hover {\n    box-shadow: \n        0 0 10px rgba(0, 255, 162, 0.35), /* 光晕改为10px */\n        inset 0 0 10px rgba(0, 255, 162, 0.12); /* 内阴影改为10px */\n    border-color: rgba(0, 255, 162, 0.7);\n}\n\n.dark .news-title {\n    color: #ffffff;\n    text-shadow: 0 0 5px rgba(255, 255, 255, 0.2);\n}\n\n.dark .news-content {\n    color: #b8c0ff;\n    background: rgba(0, 0, 0, 0.25);\n}\n\n.dark .news-source {\n    color: var(--news-primary);\n}\n\n.dark .news-date {\n    color: var(--news-secondary);\n}\n\n.dark .news-tag {\n    background: rgba(0, 255, 162, 0.15);\n    color: var(--news-primary);\n    border: 1px solid rgba(0, 255, 162, 0.3);\n}\n\n/* SMS卡片深色 */\n.dark .sms-card {\n    --sms-primary: #9b5dff;\n    --sms-secondary: #c96dff;\n    --sms-bg: linear-gradient(135deg, \n        rgba(40, 20, 60, 0.85) 0%, \n        rgba(60, 30, 80, 0.9) 100%);\n    --sms-border: 1px solid rgba(155, 93, 255, 0.5);\n    --sms-glow: rgba(155, 93, 255, 0.25);\n    --sms-grid: rgba(155, 93, 255, 0.1);\n    \n    background: var(--sms-bg);\n    border: var(--sms-border);\n    box-shadow: \n        0 0 10px var(--sms-glow), /* 光晕改为10px */\n        inset 0 0 10px rgba(155, 93, 255, 0.1); /* 内阴影改为10px */\n}\n\n.dark .sms-card .title {\n    color: var(--sms-primary);\n    text-shadow: 0 0 10px var(--sms-primary); /* 改为10px */\n}\n\n.dark .sms-card:hover {\n    box-shadow: \n        0 0 10px rgba(155, 93, 255, 0.35), /* 光晕改为10px */\n        inset 0 0 10px rgba(155, 93, 255, 0.15); /* 内阴影改为10px */\n    border-color: rgba(155, 93, 255, 0.7);\n}\n\n.dark .sms-sent {\n    background: rgba(155, 93, 255, 0.2);\n    border: 1px solid var(--sms-primary);\n    box-shadow: \n        0 0 10px rgba(155, 93, 255, 0.3), /* 光晕改为10px */\n        inset 0 0 10px rgba(155, 93, 255, 0.1); /* 内阴影改为10px */\n}\n\n.dark .sms-received {\n    background: rgba(201, 109, 255, 0.2);\n    border: 1px solid var(--sms-secondary);\n    box-shadow: \n        0 0 10px rgba(201, 109, 255, 0.3), /* 光晕改为10px */\n        inset 0 0 10px rgba(201, 109, 255, 0.1); /* 内阴影改为10px */\n}\n\n.dark .sms-content {\n    color: #ffffff;\n}\n\n.dark .sms-time {\n    color: #c0a0ff;\n}\n\n.dark .sms-input {\n    background: rgba(0, 0, 0, 0.3);\n    border: 1px solid var(--sms-primary);\n    color: #ffffff;\n}\n\n.dark .sms-input:focus {\n    border-color: var(--sms-secondary);\n    box-shadow: 0 0 10px rgba(201, 109, 255, 0.3); /* 光晕改为10px */\n    background: rgba(0, 0, 0, 0.4);\n}\n\n/* 任务卡片深色 */\n.dark .task-card {\n    --task-primary: #ffaa00;\n    --task-secondary: #ff7b00;\n    --task-accent: #ff3c7c;\n    --task-bg: linear-gradient(135deg, \n        rgba(40, 30, 10, 0.85) 0%, \n        rgba(60, 40, 15, 0.9) 100%);\n    --task-border: 1px solid rgba(255, 170, 0, 0.6);\n    --task-glow: rgba(255, 170, 0, 0.25);\n    --task-grid: rgba(255, 170, 0, 0.1);\n    \n    background: var(--task-bg);\n    border: var(--task-border);\n    box-shadow: \n        0 0 10px var(--task-glow), /* 光晕改为10px */\n        inset 0 0 10px rgba(255, 170, 0, 0.1); /* 内阴影改为10px */\n}\n\n.dark .task-card .title {\n    color: var(--task-primary);\n    text-shadow: 0 0 10px var(--task-primary); /* 改为10px */\n}\n\n.dark .task-card:hover {\n    box-shadow: \n        0 0 10px rgba(255, 170, 0, 0.35), /* 光晕改为10px */\n        inset 0 0 10px rgba(255, 170, 0, 0.15); /* 内阴影改为10px */\n    border-color: rgba(255, 170, 0, 0.8);\n}\n\n.dark .task-item {\n    background: rgba(50, 35, 15, 0.6);\n    border: 1px solid rgba(255, 170, 0, 0.4);\n}\n\n.dark .task-item:hover {\n    box-shadow: 0 0 10px rgba(255, 170, 0, 0.3); /* 光晕改为10px */\n    border-color: var(--task-primary);\n}\n\n.dark .task-title {\n    color: #ffffff;\n}\n\n.dark .task-description {\n    color: #ffd8a0;\n}\n\n.dark .task-deadline {\n    color: #ffcc80;\n}\n\n.dark .priority-high {\n    background: rgba(255, 60, 124, 0.25);\n    color: var(--task-accent);\n    border: 1px solid rgba(255, 60, 124, 0.5);\n}\n\n.dark .priority-medium {\n    background: rgba(255, 170, 0, 0.25);\n    color: var(--task-primary);\n    border: 1px solid rgba(255, 170, 0, 0.5);\n}\n\n.dark .priority-low {\n    background: rgba(255, 123, 0, 0.25);\n    color: var(--task-secondary);\n    border: 1px solid rgba(255, 123, 0, 0.5);\n}\n\n.dark .status-pending {\n    background: rgba(255, 170, 0, 0.2);\n    color: var(--task-primary);\n    border: 1px solid rgba(255, 170, 0, 0.4);\n}\n\n.dark .status-progress {\n    background: rgba(255, 123, 0, 0.2);\n    color: var(--task-secondary);\n    border: 1px solid rgba(255, 123, 0, 0.4);\n}\n\n.dark .status-completed {\n    background: rgba(100, 255, 100, 0.2);\n    color: #00ff88;\n    border: 1px solid rgba(100, 255, 100, 0.4);\n}\n\n.dark .status-failed {\n    background: rgba(255, 60, 124, 0.2);\n    color: var(--task-accent);\n    border: 1px solid rgba(255, 60, 124, 0.4);\n}\n\n.dark .task-progress-bar {\n    background: rgba(255, 255, 255, 0.1);\n}\n\n.dark .task-progress-fill {\n    background: linear-gradient(90deg, var(--task-primary), var(--task-secondary));\n    box-shadow: 0 0 10px var(--task-primary); /* 光晕改为10px */\n}\n\n/* 全局深色微调（可选） */\n.dark .role-card > .title,\n.dark .news-card > .title,\n.dark .sms-card > .title,\n.dark .task-card > .title {\n    color: var(--role-primary, #ff0055) /* 各卡片会覆盖 */;\n}\n\n@keyframes shimmer {\n    0% { opacity: 0.2; }\n    50% { opacity: 0.4; }\n    100% { opacity: 0.2; }\n}\n\n/* 响应式设计（保留，与深色模式无关） */\n@media (max-width: 768px) {\n    details {\n        margin: 2px 0;\n    }\n    \n    details > *:not(summary) {\n        margin: 2px 0;\n        font-size: 0.95em;\n    }\n    \n    details summary {\n        padding: 2px 6px;\n        font-size: 1em;\n    }\n    \n    .user-card,\n    .role-card,\n    .news-card,\n    .sms-card,\n    .task-card {\n        padding: 2px;\n        margin: 2px 0;\n        font-size: 0.95em;\n    }\n    \n    .progress-container {\n        height: 22px;\n        padding-left: 55px;\n    }\n    \n    .sms-message {\n        max-width: 90%;\n    }\n    \n    .task-header {\n        flex-wrap: wrap;\n        gap: 8px;\n    }\n    \n    .news-header {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 8px;\n    }\n    \n    .news-title {\n        font-size: 1em;\n    }\n    \n    .sms-input {\n        padding: 8px;\n        min-height: 50px;\n        font-size: 0.9em;\n    }\n    \n    .task-item {\n        padding: 10px;\n    }\n    \n    .task-title {\n        font-size: 1em;\n    }\n}\n\n/* ========== 行动选项（.act-opt） ========== */\n.act-opt {\n    --act-primary: #00aaff;\n    --act-secondary: #6677ff;\n    --act-bg: linear-gradient(135deg, \n        rgba(230, 248, 255, 0.85) 0%, \n        rgba(240, 245, 255, 0.90) 100%);\n    --act-border: 1px solid rgba(0, 170, 255, 0.4);\n    --act-glow: rgba(0, 170, 255, 0.2);\n    --act-grid: rgba(0, 170, 255, 0.06);\n\n    display: inline-block;\n    padding: 12px 24px;\n    margin: 6px 4px;\n    border-radius: 8px;\n    background: var(--act-bg);\n    border: var(--act-border);\n    box-shadow: \n        0 0 12px var(--act-glow),\n        inset 0 0 8px rgba(0, 170, 255, 0.04);\n    color: #0a2a4a;\n    font-weight: 600;\n    font-size: 1rem;\n    font-family: 'Segoe UI', 'Noto Sans', system-ui, sans-serif;\n    text-align: left;\n    cursor: pointer;\n    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n    position: relative;\n    overflow: hidden;\n    letter-spacing: 0.3px;\n    user-select: none;\n    backdrop-filter: blur(4px);\n}\n\n/* 微网格背景（浅色） */\n.act-opt::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background-image: \n        linear-gradient(var(--act-grid) 1px, transparent 1px),\n        linear-gradient(90deg, var(--act-grid) 1px, transparent 1px);\n    background-size: 20px 20px;\n    pointer-events: none;\n    z-index: 0;\n    opacity: 0.4;\n}\n\n/* 悬浮光晕扫描线（装饰） */\n.act-opt::after {\n    content: '';\n    position: absolute;\n    top: -50%;\n    left: -50%;\n    width: 200%;\n    height: 200%;\n    background: linear-gradient(\n        45deg,\n        transparent 40%,\n        rgba(0, 200, 255, 0.06) 50%,\n        transparent 60%\n    );\n    animation: actScan 8s linear infinite;\n    pointer-events: none;\n    z-index: 0;\n}\n\n@keyframes actScan {\n    0% { transform: translateY(-100%) rotate(30deg); }\n    100% { transform: translateY(100%) rotate(30deg); }\n}\n\n/* 内容放在上层 */\n.act-opt > * {\n    position: relative;\n    z-index: 1;\n}\n\n/* ---- 悬停效果 ---- */\n.act-opt:hover {\n    transform: translateY(-3px) scale(1.02);\n    background: linear-gradient(135deg, \n        rgba(220, 245, 255, 0.95) 0%, \n        rgba(235, 240, 255, 0.98) 100%);\n    border-color: rgba(0, 170, 255, 0.7);\n    box-shadow: \n        0 0 20px rgba(0, 170, 255, 0.4),\n        inset 0 0 12px rgba(0, 170, 255, 0.08);\n    color: #003366;\n}\n\n/* ---- 点击/激活效果 ---- */\n.act-opt:active {\n    transform: translateY(1px) scale(0.97);\n    box-shadow: \n        0 0 8px rgba(0, 170, 255, 0.3),\n        inset 0 2px 8px rgba(0, 0, 0, 0.05);\n    transition-duration: 0.08s;\n}\n\n/* ---- 选中状态（添加 .active 类） ---- */\n.act-opt.active {\n    --act-primary: #0077ff;\n    background: linear-gradient(135deg, \n        rgba(200, 235, 255, 0.95) 0%, \n        rgba(220, 230, 255, 0.98) 100%);\n    border-color: var(--act-primary);\n    box-shadow: \n        0 0 24px rgba(0, 119, 255, 0.5),\n        inset 0 0 16px rgba(0, 119, 255, 0.12);\n    color: #001a4a;\n    animation: actPulse 2s infinite ease-in-out;\n}\n\n@keyframes actPulse {\n    0%, 100% { box-shadow: 0 0 24px rgba(0, 119, 255, 0.4); }\n    50% { box-shadow: 0 0 36px rgba(0, 119, 255, 0.7); }\n}\n\n/* ---- 深色模式 ---- */\n.dark .act-opt {\n    --act-bg: linear-gradient(135deg, \n        rgba(15, 30, 60, 0.85) 0%, \n        rgba(25, 35, 70, 0.90) 100%);\n    --act-border: 1px solid rgba(0, 170, 255, 0.5);\n    --act-glow: rgba(0, 170, 255, 0.3);\n    --act-grid: rgba(0, 170, 255, 0.12);\n    color: #c0e0ff;\n}\n\n.dark .act-opt:hover {\n    background: linear-gradient(135deg, \n        rgba(25, 50, 90, 0.95) 0%, \n        rgba(35, 45, 100, 0.98) 100%);\n    border-color: rgba(0, 200, 255, 0.8);\n    box-shadow: \n        0 0 28px rgba(0, 170, 255, 0.5),\n        inset 0 0 16px rgba(0, 170, 255, 0.15);\n    color: #ffffff;\n}\n\n.dark .act-opt.active {\n    background: linear-gradient(135deg, \n        rgba(30, 60, 120, 0.95) 0%, \n        rgba(50, 50, 140, 0.98) 100%);\n    border-color: #00ccff;\n    box-shadow: \n        0 0 32px rgba(0, 200, 255, 0.6),\n        inset 0 0 20px rgba(0, 200, 255, 0.2);\n    color: #ffffff;\n}\n\n/* ---- 小屏幕适配 ---- */\n@media (max-width: 768px) {\n    .act-opt {\n        padding: 4px 8px;\n        font-size: 0.9rem;\n        margin: 4px 2px;\n    }\n}\n\n/* ====== 对话行容器 - 科幻硬朗版（姓名框无光晕） ====== */\n.npc-talk,\n.my-talk {\n    display: flex;\n    align-items: flex-start;\n    gap: 12px;\n    margin-bottom: 28px;\n    max-width: 100%;\n}\n\n.npc-talk {\n    flex-direction: row !important;\n}\n\n.my-talk {\n    flex-direction: row-reverse !important;\n}\n\n/* ====== 姓名框 · 无光晕 · 高对比硬朗直角 ====== */\n.npc-name,\n.my-name {\n    flex-shrink: 0;\n    padding: 8px 16px;\n    font-weight: 800;\n    font-size: 1em;\n    letter-spacing: 0.6px;\n    line-height: 1.4;\n    margin-top: 2px;\n    max-width: 100px;\n    word-break: break-all;\n    border: 2px solid;\n    border-radius: 0 !important;      /* 强制直角 */\n    color: #ffffff !important;        /* 纯白文字，最高对比 */\n    text-shadow: none !important;     /* 移除文字发光 */\n    cursor: default;\n    user-select: none;\n    background: rgba(10, 10, 20, 0.92);\n    backdrop-filter: none;            /* 去掉模糊，保证清晰 */\n    -webkit-backdrop-filter: none;\n    transition: all 0.15s ease;\n    transform: translateY(0);\n}\n\n/* ---- 🚀 NPC 姓名 · 橙色边框 + 实色阴影 ---- */\n.npc-name {\n    border-color: #ff8800;\n    background: rgba(30, 15, 5, 0.95);\n    box-shadow: 4px 4px 0 #b35f00;   /* 实色偏移，无模糊光晕 */\n}\n\n.npc-name:hover {\n    transform: translate(2px, 2px);\n    box-shadow: 2px 2px 0 #b35f00;\n}\n\n.npc-name:active {\n    transform: translate(4px, 4px);\n    box-shadow: 0px 0px 0 #b35f00;\n}\n\n/* ---- 🚀 用户姓名 · 蓝色边框 + 实色阴影 ---- */\n.my-name {\n    border-color: #2d7aff;\n    background: rgba(5, 15, 35, 0.95);\n    box-shadow: 4px 4px 0 #1a4a88;\n}\n\n.my-name:hover {\n    transform: translate(2px, 2px);\n    box-shadow: 2px 2px 0 #1a4a88;\n}\n\n.my-name:active {\n    transform: translate(4px, 4px);\n    box-shadow: 0px 0px 0 #1a4a88;\n}\n\n/* ====== 对话气泡 · 科幻发光边框（保留） ====== */\n.talk-word {\n    flex: 1;\n    min-width: 0;\n    padding: 10px 14px;\n    border: 2px solid;\n    border-radius: 2px;             /* 极微圆角，保持硬朗 */\n    word-wrap: break-word;\n    line-height: 1.7;\n    font-size: 1em;\n    position: relative;\n    background: rgba(255, 255, 255, 0.85);\n    backdrop-filter: blur(2px);\n    -webkit-backdrop-filter: blur(2px);\n    color: #0a1a2a;\n    transition: box-shadow 0.2s ease;\n}\n\n/* ---- 🚀 NPC 气泡 · 橙色边框 + 暖底 ---- */\n.npc-talk .talk-word {\n    border-color: #ff8800;\n    background: rgba(255, 240, 220, 0.90);\n    color: #2a1a0a;\n    box-shadow: \n        -4px 4px 0 0 #cc6600,         /* 硬朗立体偏移 */\n        0 0 16px rgba(255, 136, 0, 0.25);\n}\n\n/* ---- 🚀 用户气泡 · 蓝色边框 + 冷底 ---- */\n.my-talk .talk-word {\n    border-color: #2d7aff;\n    background: rgba(230, 242, 255, 0.90);\n    color: #0a1a3a;\n    box-shadow: \n        4px 4px 0 0 #1a4a88,\n        0 0 16px rgba(45, 122, 255, 0.25);\n}\n\n/* ====== 箭头三角形 · 发光线条感 ====== */\n.npc-talk .talk-word::before,\n.npc-talk .talk-word::after {\n    content: '';\n    position: absolute;\n    left: -10px;\n    top: 16px;\n    width: 0;\n    height: 0;\n    border-style: solid;\n}\n\n.npc-talk .talk-word::before {\n    border-width: 7px 10px 7px 0;\n    border-color: transparent #ff8800 transparent transparent;\n    filter: drop-shadow(-2px 0 4px #ff8800);\n}\n\n.npc-talk .talk-word::after {\n    left: -6px;\n    border-width: 5px 8px 5px 0;\n    border-color: transparent #fff0dc transparent transparent; /* 匹配气泡底色 */\n}\n\n.my-talk .talk-word::before,\n.my-talk .talk-word::after {\n    content: '';\n    position: absolute;\n    right: -10px;\n    top: 16px;\n    width: 0;\n    height: 0;\n    border-style: solid;\n}\n\n.my-talk .talk-word::before {\n    border-width: 7px 0 7px 10px;\n    border-color: transparent transparent transparent #2d7aff;\n    filter: drop-shadow(2px 0 4px #2d7aff);\n}\n\n.my-talk .talk-word::after {\n    right: -6px;\n    border-width: 5px 0 5px 8px;\n    border-color: transparent transparent transparent #e6f2ff; /* 匹配气泡底色 */\n}\n\n/* ============================================================\n   🌙 深色模式 · 自动适配（姓名框依然清晰无光晕）\n   ============================================================ */\n.dark .npc-name {\n    background: rgba(20, 10, 0, 0.96);\n    border-color: #ff8800;\n    box-shadow: 4px 4px 0 #b35f00;\n    color: #fff;\n}\n\n.dark .npc-name:hover {\n    box-shadow: 2px 2px 0 #b35f00;\n}\n\n.dark .npc-name:active {\n    box-shadow: 0px 0px 0 #b35f00;\n}\n\n.dark .my-name {\n    background: rgba(0, 10, 25, 0.96);\n    border-color: #2d7aff;\n    box-shadow: 4px 4px 0 #1a4a88;\n    color: #fff;\n}\n\n.dark .my-name:hover {\n    box-shadow: 2px 2px 0 #1a4a88;\n}\n\n.dark .my-name:active {\n    box-shadow: 0px 0px 0 #1a4a88;\n}\n\n.dark .npc-talk .talk-word {\n    border-color: #ff7700;\n    background: rgba(30, 18, 8, 0.85);\n    color: #f0d8b8;\n    box-shadow: \n        -4px 4px 0 0 #994400,\n        0 0 20px rgba(255, 119, 0, 0.30);\n}\n\n.dark .my-talk .talk-word {\n    border-color: #1a6aff;\n    background: rgba(8, 18, 36, 0.85);\n    color: #c8d8f0;\n    box-shadow: \n        4px 4px 0 0 #0a2a5a,\n        0 0 20px rgba(26, 106, 255, 0.30);\n}\n\n.dark .npc-talk .talk-word::before {\n    border-color: transparent #ff7700 transparent transparent;\n    filter: drop-shadow(-2px 0 6px #ff7700);\n}\n\n.dark .npc-talk .talk-word::after {\n    border-color: transparent #1e1208 transparent transparent;\n}\n\n.dark .my-talk .talk-word::before {\n    border-color: transparent transparent transparent #1a6aff;\n    filter: drop-shadow(2px 0 6px #1a6aff);\n}\n\n.dark .my-talk .talk-word::after {\n    border-color: transparent transparent transparent #081224;\n}\n\n/* ============================================================\n   📱 小屏幕适配 (≤768px)\n   ============================================================ */\n@media (max-width: 768px) {\n\n    .npc-talk,\n    .my-talk {\n        gap: 8px;\n        margin-bottom: 20px;\n    }\n\n    .npc-name,\n    .my-name {\n        font-size: 0.9em;\n        padding: 4px 10px;\n        max-width: 80px;\n        border-width: 1.5px;\n        margin-top: 0;\n        box-shadow: 3px 3px 0 #b35f00; /* 小屏阴影同步缩小 */\n        transform: none;\n    }\n\n    .npc-name:hover,\n    .my-name:hover {\n        transform: translate(1px, 1px);\n        box-shadow: 2px 2px 0 #b35f00;\n    }\n\n    .npc-name:active,\n    .my-name:active {\n        transform: translate(3px, 3px);\n        box-shadow: 0px 0px 0 #b35f00;\n    }\n\n    /* 调整小屏姓名框颜色（蓝/橙各自阴影） */\n    .my-name {\n        box-shadow: 3px 3px 0 #1a4a88;\n    }\n    .my-name:hover {\n        box-shadow: 2px 2px 0 #1a4a88;\n    }\n    .my-name:active {\n        box-shadow: 0px 0px 0 #1a4a88;\n    }\n\n    .dark .npc-name {\n        box-shadow: 3px 3px 0 #b35f00;\n    }\n    .dark .npc-name:hover {\n        box-shadow: 2px 2px 0 #b35f00;\n    }\n    .dark .npc-name:active {\n        box-shadow: 0px 0px 0 #b35f00;\n    }\n    .dark .my-name {\n        box-shadow: 3px 3px 0 #1a4a88;\n    }\n    .dark .my-name:hover {\n        box-shadow: 2px 2px 0 #1a4a88;\n    }\n    .dark .my-name:active {\n        box-shadow: 0px 0px 0 #1a4a88;\n    }\n\n    .talk-word {\n        padding: 6px 10px;\n        font-size: 0.95em;\n        border-width: 1.5px;\n        border-radius: 2px;\n    }\n\n    .npc-talk .talk-word {\n        box-shadow: -3px 3px 0 0 #cc6600;\n    }\n    .my-talk .talk-word {\n        box-shadow: 3px 3px 0 0 #1a4a88;\n    }\n    .dark .npc-talk .talk-word {\n        box-shadow: -3px 3px 0 0 #994400;\n    }\n    .dark .my-talk .talk-word {\n        box-shadow: 3px 3px 0 0 #0a2a5a;\n    }\n\n    /* 箭头缩小 */\n    .npc-talk .talk-word::before {\n        left: -8px;\n        top: 12px;\n        border-width: 5px 8px 5px 0;\n    }\n    .npc-talk .talk-word::after {\n        left: -5px;\n        top: 12px;\n        border-width: 4px 6px 4px 0;\n    }\n\n    .my-talk .talk-word::before {\n        right: -8px;\n        top: 12px;\n        border-width: 5px 0 5px 8px;\n    }\n    .my-talk .talk-word::after {\n        right: -5px;\n        top: 12px;\n        border-width: 4px 0 4px 6px;\n    }\n}","options":{"items":[{"order":0,"label":"齁齁色色","type":"SET-INPUT","value":"❤️"},{"order":1,"label":"修复格式","type":"SET-INPUT","value":"【修复格式】"}]},"language":"zh","containsNSFW":true,"publicAccess":true,"deletedAt":null,"isAnonymous":false,"enableSafeguard":true,"defaultModelSettings":{"model":"mango_gemini_vertex/gemini-3.1-pro-preview"},"totalConversations":1,"totalMessages":1,"totalCreditsUsed":663,"totalTokensUsed":10037,"totalPlayedUsers":0,"deeplyPlayed":0,"maxNonAuthorPlayCount":0,"fixedPromptLength":8392,"lorebookLength":7374,"author":{"id":"lAgyOY957kxlq7BGiA4uEJT41Y1Uuzis","name":"dadsaysnoplay","displayUsername":"momsaysnoplay","username":"momsaysnoplay"},"cardsTags":[{"tag":{"name":"超高自由度","cardsCount":1325}},{"tag":{"name":"已破甲","cardsCount":2779}},{"tag":{"name":"开放大世界","cardsCount":279}},{"tag":{"name":"燃夏争魁","cardsCount":155}},{"tag":{"name":"可剧情可涩涩","cardsCount":3291}},{"tag":{"name":"多角色","cardsCount":1553}},{"tag":{"name":"都市异能","cardsCount":51}},{"tag":{"name":"后宫","cardsCount":932}},{"tag":{"name":"男性向R18","cardsCount":89}},{"tag":{"name":"自由探索","cardsCount":1500}}],"cardsVoices":[],"prompt":null,"promptSizeBytes":null}