/* ==========================================================================
   ZERO-JS AURORA ENGINE v3.0 (极致极光引擎 - 全量GUI覆盖版)
   - 彻底覆写平台顶部、底部、聊天框、分页、评论区
   - 追求神圣与堕落交织的明亮发光质感
========================================================================== */

/* 1. 平台底层UI全量暴力覆写 (!important 强制生效) */
.bg-gray-100\/90.relative.inline-block {
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(240,249,255,0.95)) !important;
  backdrop-filter: blur(20px) !important;
  border: 2px solid rgba(186,230,253,0.8) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 35px rgba(2,132,199,0.08), inset 0 0 15px rgba(255,183,197,0.1) !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  position: relative !important;
  z-index: 10 !important;
  overflow: visible !important;
}
.bg-gray-100\/90.relative.inline-block::after {
  content: ""; position: absolute; inset: -3px; border-radius: 22px;
  background: linear-gradient(120deg, transparent, rgba(255,183,197,0.6), rgba(186,230,253,0.6), transparent);
  background-size: 300% 100%;
  animation: z-flow 5s linear infinite;
  z-index: -1; pointer-events: none;
}
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  border-color: rgba(251,207,232,0.8) !important;
  box-shadow: 0 8px 25px rgba(244,113,182,0.15) !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(253,242,248,0.95)) !important;
}
.markdown-body {
  color: #0f172a !important;
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
  font-size: 17px !important;
  line-height: 2.1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  padding: 5px !important;
  text-shadow: none !important;
}
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none !important; }
.sticky.w-full.top-0.flex.items-center { background: rgba(255,255,255,0.92) !important; backdrop-filter: blur(15px) !important; border-bottom: 2px solid rgba(186,230,253,0.5) !important; box-shadow: 0 4px 20px rgba(14,165,233,0.06) !important; }
#ai-model-selector .group.flex.items-center { background: linear-gradient(90deg, #f0f9ff, #ffffff) !important; border: 1px solid #7dd3fc !important; border-radius: 12px !important; box-shadow: 0 4px 10px rgba(56,189,248,0.1) !important; transition: 0.3s !important; }
#ai-model-selector .group.flex.items-center:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 15px rgba(56,189,248,0.2) !important; }
#ai-model-selector .truncate.text-\[13px\] { color: #0284c7 !important; font-weight: 800 !important; }
#ai-model-selector .shrink-0.flex.items-center svg { fill: #0ea5e9 !important; }
#header-setting-button { filter: drop-shadow(0 2px 4px rgba(2,132,199,0.2)) !important; }
.bg-gradient-to-t { background: linear-gradient(to top, #ffffff 60%, transparent) !important; }
#ai-chat-bottom-input { background: #ffffff !important; border: 2px solid #bae6fd !important; border-radius: 16px !important; box-shadow: 0 8px 25px rgba(14,165,233,0.1) !important; transition: 0.3s !important; }
#ai-chat-bottom-input:focus-within { border-color: #fbcfe8 !important; box-shadow: 0 8px 30px rgba(244,113,182,0.2) !important; transform: translateY(-3px) !important; }
#ai-chat-input { color: #0f172a !important; font-weight: 700 !important; font-size: 16px !important; }
#ai-chat-input::placeholder { color: #94a3b8 !important; font-weight: 600 !important; }
#ai-chat-input::selection { background: #fbcfe8 !important; color: #9f1239 !important; }
#ai-mod-button2 button.MuiButton-root { background: linear-gradient(135deg, #e0f2fe, #fce7f3) !important; color: #0284c7 !important; border: 1px solid #bae6fd !important; border-radius: 10px !important; font-weight: 800 !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important; }
#ai-mod-button2 button.MuiButton-root:hover { background: #fbcfe8 !important; color: #be185d !important; transform: scale(1.05) !important; }
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary { color: #0284c7 !important; font-weight: 800 !important; }
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 { color: #475569 !important; font-weight: 700 !important; }
.text-orange-500 { color: #e11d48 !important; font-weight: 900 !important; }
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] { background: linear-gradient(180deg, rgba(255,255,255,0.9), #f0f9ff) !important; backdrop-filter: blur(10px) !important; border-top: 2px solid #e0f2fe !important; }
div.text-lg.font-bold { color: #0284c7 !important; font-weight: 900 !important; text-shadow: 0 2px 5px rgba(2,132,199,0.1) !important; }
p.MuiTypography-body1.text-grey-600 { color: #64748b !important; font-weight: 700 !important; }
span.MuiRating-iconEmpty svg { fill: #cbd5e1 !important; }
span.MuiRating-iconFilled svg { fill: #f59e0b !important; filter: drop-shadow(0 0 3px rgba(245,158,11,0.5)) !important; }
div.flex.flex-col.border-gray-200 { border-color: #bae6fd !important; background: #ffffff !important; border-radius: 12px !important; box-shadow: inset 0 2px 10px rgba(0,0,0,0.02) !important; }
textarea.rc-textarea { color: #0f172a !important; font-weight: 600 !important; }
div.bg-gray-100.text-gray-500 { background: #f1f5f9 !important; color: #64748b !important; }
div.cursor-pointer.group.flex.items-center.justify-center[data-state="closed"] svg { fill: #0284c7 !important; }
button.MuiButton-containedPrimary { background: linear-gradient(90deg, #38bdf8, #0ea5e9) !important; color: #ffffff !important; border-radius: 8px !important; font-weight: 800 !important; }
button.MuiButton-outlinedPrimary { border-color: #7dd3fc !important; color: #0284c7 !important; font-weight: 700 !important; }
div.p-3.overflow-y-auto { scrollbar-width: thin; scrollbar-color: #bae6fd transparent !important; }
div.text-sm.text-grey-600 span.font-bold { color: #0f172a !important; }
div.break-all { color: #334155 !important; font-size: 15px !important; line-height: 1.8 !important; }
div.text-xs.text-grey-600 { color: #94a3b8 !important; }
button.text-gray-400 { color: #0ea5e9 !important; }
div.ml-8.border-l { border-color: #e0f2fe !important; }
.MuiPaginationItem-root { color: #475569 !important; font-weight: 800 !important; }
.MuiPaginationItem-root.Mui-selected { background: linear-gradient(135deg, #38bdf8, #0284c7) !important; color: #ffffff !important; box-shadow: 0 4px 10px rgba(2,132,199,0.3) !important; }
.MuiPaginationItem-root.Mui-disabled { opacity: 0.4 !important; }
.MuiStack-root.css-1uwir8f .MuiBox-root { color: #334155 !important; font-weight: 700 !important; }
.MuiInputBase-input { color: #0f172a !important; font-weight: 800 !important; }
.style_dot-flashing__8L91Q, .style_text__zGhNq { display: none !important; }
.flex.items-center.justify-center.w-6.h-5 { position: relative !important; width: 60px !important; height: 60px !important; }
.flex.items-center.justify-center.w-6.h-5::before { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%23bae6fd' stroke-width='4' stroke-dasharray='30 20'/%3E%3Ccircle cx='50' cy='50' r='25' fill='none' stroke='%23ffb7c5' stroke-width='4' stroke-dasharray='15 10'/%3E%3Cpolygon points='50,30 65,65 35,65' fill='%23e11d48' opacity='0.8'/%3E%3C/svg%3E") no-repeat center/contain; animation: z-spin 3s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

/* 2. GUI 内核模块与侧边栏渲染 */
.sys-rpg-ctn { display: flex; position: relative; width: 100%; min-height: 70vh; font-family: inherit; }
.H { display: none !important; }

/* T-box 沉浸式正文区 */
.T-box { flex: 1; padding: 25px 20px; transition: 0.5s ease; position: relative; z-index: 1; background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); border: 2px solid #bae6fd; border-radius: 16px; box-shadow: 0 10px 40px rgba(14,165,233,0.06), inset 0 0 20px rgba(255,183,197,0.05); margin-top: 15px; overflow: hidden; }
.T-box::before { content:""; position: absolute; top:0; left:0; width: 100%; height: 6px; background: linear-gradient(90deg, #38bdf8, #f472b6, #e11d48, #38bdf8); background-size: 300% 100%; animation: z-flow 4s linear infinite; }
.T-box text { display: block; text-indent: 2em; font-size: 17.5px; line-height: 2.2; color: #1e293b; text-align: justify; margin-top:15px; overflow-y: auto; max-height: 60vh; padding-right: 10px; }
.T-box text::-webkit-scrollbar { width: 6px; }
.T-box text::-webkit-scrollbar-track { background: transparent; }
.T-box text::-webkit-scrollbar-thumb { background: #bae6fd; border-radius: 10px; }

/* 元思维链 */
.C { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; margin-bottom: 15px; overflow: hidden; width: 100%; }
.C .s { padding: 12px 15px; background: linear-gradient(90deg, #f1f5f9, #ffffff); cursor: pointer; list-style: none; display: flex; align-items: center; font-size: 13px; font-weight: 800; color: #64748b; user-select: none; }
.C .s::-webkit-details-marker { display: none; }
.C .i0 { width: 18px; height: 18px; margin-right: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E") center/cover; transition: 0.4s; }
.C[open] .i0 { transform: rotate(180deg); }
.C think { display: block; padding: 15px; font-family: monospace; font-size: 13.5px; color: #475569; background: #ffffff; white-space: pre-wrap; line-height: 1.7; border-top: 1px dashed #e2e8f0; }

/* 环境仪表盘 */
.E { display: flex; gap: 12px; margin-bottom: 15px; flex-wrap: wrap; }
.E .e { flex: 1; min-width: 120px; background: linear-gradient(135deg, #f0f9ff, #ffffff); border: 1px solid #bae6fd; border-radius: 10px; padding: 10px; display: flex; flex-direction: column; position: relative; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.02); }
.E .e::after { content:""; position:absolute; inset:0; background: linear-gradient(120deg, transparent, rgba(255,255,255,0.8), transparent); transform: translateX(-100%); animation: z-shine 3s infinite; }
.E .e b { font-size: 11px; font-weight: 900; color: #0284c7; letter-spacing: 1px; display: flex; align-items: center;}
.E .e b::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 4px; background-size: cover;}
.i-tm::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230284c7'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm3.3 14.71L11 12.41V7h2v4.59l3.71 3.71-1.42 1.41z'/%3E%3C/svg%3E"); }
.i-lc::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230284c7'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E"); }
.i-wt::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230284c7'%3E%3Cpath d='M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.36 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z'/%3E%3C/svg%3E"); }
.E .e span { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-b { display: flex; align-items: center; background: #fdf4ff; border: 1px dashed #e879f9; padding: 8px 12px; border-radius: 8px; font-size: 13px; color: #86198f; font-weight: 700; margin-bottom: 10px;}
.i-nw { display: inline-block; width: 16px; height: 16px; margin-right: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c026d3'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h16v12zm-8-2h6v-2h-6v2zm-4-4h10v-2H8v2zm0-4h10V6H8v2z'/%3E%3C/svg%3E") no-repeat center/cover; }

/* 侧边栏及触发器 */
.S { position: fixed; right: 0; top: 0; bottom: 0; width: 400px; max-width: 85vw; background: rgba(255,255,255,0.97); backdrop-filter: blur(25px); border-left: 2px solid rgba(255,183,197,0.6); box-shadow: -15px 0 40px rgba(2,132,199,0.1); z-index: 99999; transform: translateX(105%); transition: 0.5s cubic-bezier(0.2,0.8,0.2,1); display: flex; flex-direction: column; }
#shio-tg:checked ~ .S { transform: translateX(0); }
.K { position: fixed; inset: 0; background: rgba(15,23,42,0.2); backdrop-filter: blur(4px); z-index: 99990; opacity: 0; visibility: hidden; transition: 0.4s; cursor: pointer; }
#shio-tg:checked ~ .K { opacity: 1; visibility: visible; }
.B { position: absolute; right: 0; top: 25%; width: 40px; min-height: 100px; background: linear-gradient(180deg, #38bdf8, #f472b6); border: 2px solid #ffffff; border-right: none; border-radius: 12px 0 0 12px; box-shadow: -5px 0 20px rgba(244,113,182,0.4); display: flex; flex-direction: column; align-items: center; justify-content: center; color: #ffffff; font-size: 12px; font-weight: 900; writing-mode: vertical-rl; letter-spacing: 3px; cursor: pointer; z-index: 90; transition: 0.3s; }
.B:hover { padding-right: 10px; }
.B i { width: 22px; height: 22px; margin-bottom: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'/%3E%3C/svg%3E") center/cover; }

/* 侧边栏内部排版 */
.L { flex: 1; overflow-y: auto; padding: 25px 20px 40px; scrollbar-width: none; }
.L::-webkit-scrollbar { display: none; }
.H1 { font-size: 26px; font-weight: 900; color: #f472b6; letter-spacing: 1px; text-shadow: 2px 2px 0 rgba(2,132,199,0.15); text-align: center; }
.H2 { font-size: 11px; color: #94a3b8; letter-spacing: 5px; text-align: center; margin: 4px 0 25px; }

/* 模块卡片 */
.c { background: #ffffff; border: 2px solid #e2e8f0; border-radius: 14px; margin-bottom: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); transition: 0.3s; overflow: hidden; }
.c:hover { border-color: #7dd3fc; box-shadow: 0 8px 25px rgba(14,165,233,0.15); transform: translateY(-2px); }
.c .s { padding: 12px 15px; background: linear-gradient(90deg, #f8fafc, #ffffff); font-size: 14.5px; font-weight: 800; color: #1e293b; cursor: pointer; list-style: none; display: flex; align-items: center; border-bottom: 2px solid transparent; }
.c .s::-webkit-details-marker { display: none; }
.c[open] .s { border-bottom-color: #bae6fd; background: #f0f9ff; color: #0284c7; }
.c .b { padding: 15px; background: #ffffff; animation: z-in 0.4s ease-out; display: flex; flex-direction: column; gap: 10px; }

/* 基础网格与键值对 */
.g { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.r { background: linear-gradient(90deg, #f1f5f9, #ffffff); border-left: 3px solid #7dd3fc; padding: 6px 10px; border-radius: 0 6px 6px 0; display: flex; flex-direction: column; }
.r::before { content: attr(k); font-size: 11px; font-weight: 900; color: #0284c7; }
.r { font-size: 13.5px; font-weight: 700; color: #0f172a; margin-top: 2px; }

/* 进度条组件 */
.p { display: flex; flex-direction: column; gap: 4px; margin-top: 6px;}
.p b { font-size: 12px; color: #334155; font-weight: 800; display: flex; align-items: center; }
.p b::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 6px; background-size: cover; }
.p-b { width: 100%; height: 16px; background: #e2e8f0; border-radius: 8px; position: relative; overflow: hidden; box-shadow: inset 0 2px 5px rgba(0,0,0,0.1); }
.p-t { position: absolute; inset: 0; text-align: center; font-size: 11px; font-weight: 900; color: #ffffff; line-height: 16px; text-shadow: 0 1px 2px rgba(0,0,0,0.6); z-index: 2; }
.p-f1, .p-f2, .p-f3, .p-f4 { height: 100%; width: 100%; border-radius: 8px; position: relative; animation: z-bar 1.5s ease-out forwards; }
.p-f1 { background: linear-gradient(90deg, #f472b6, #e11d48); } /* 兄控 */
.p-f2 { background: linear-gradient(90deg, #c084fc, #7e22ce); } /* 涩涩 */
.p-f3 { background: linear-gradient(90deg, #34d399, #059669); } /* 身份防线(倒置概念视觉相同) */
.p-f4 { background: linear-gradient(90deg, #fbbf24, #d97706); } /* 身体开发 */
.p-f1::after, .p-f2::after, .p-f3::after, .p-f4::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: z-shine 2s infinite; }

/* 详情框体, 列表, 标签 */
.li { background: #f8fafc; border: 1px dashed #cbd5e1; padding: 10px; border-radius: 6px; display: flex; flex-direction: column; gap: 4px; }
.li b { display: flex; align-items: center; font-size: 12px; color: #0284c7; }
.li b::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 4px; background-size: cover; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230284c7'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E");}
.li span { font-size: 13.5px; color: #334155; font-weight: 700; line-height: 1.5; }
.t-b { display: flex; flex-wrap: wrap; gap: 6px; }
.t { background: #fee2e2; border: 1px solid #fca5a5; color: #b91c1c; padding: 4px 8px; border-radius: 6px; font-size: 12px; font-weight: 800; }
.t.g1 { background: #f0fdf4; border-color: #86efac; color: #15803d; }

/* 日志与警告 */
.cd { background: #0f172a; color: #38bdf8; font-family: monospace; font-size: 12.5px; padding: 12px; border-radius: 8px; line-height: 1.6; box-shadow: inset 0 2px 10px rgba(0,0,0,0.5); border-left: 4px solid #0ea5e9; }
.w-b { background: #fef2f2; color: #be185d; padding: 12px; border: 2px solid #fda4af; border-radius: 8px; font-weight: 800; font-size: 13.5px; text-align: center; animation: z-pulse 1.5s infinite; }

/* 表格 (众生相) */
.tb-w { width: 100%; overflow-x: auto; }
.tb { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.tb th { background: #f1f5f9; color: #1e293b; padding: 8px; text-align: left; border-bottom: 2px solid #cbd5e1; font-weight: 900; }
.tb td { padding: 8px; border-bottom: 1px solid #f1f5f9; color: #334155; font-weight: 700; }
.tb tr:hover td { background: #f8fafc; }

/* 行动选项树 */
.o-l { display: flex; flex-direction: column; gap: 8px; }
.o-i { background: linear-gradient(135deg, #ffffff, #fdf4ff); border: 2px solid #e879f9; padding: 10px; border-radius: 8px; display: flex; align-items: center; cursor: pointer; transition: 0.3s; }
.o-i:hover { transform: translateX(6px); box-shadow: 4px 4px 0px #f0abfc; border-color: #d946ef; }
.o-i b { background: #d946ef; color: #ffffff; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; margin-right: 12px; flex-shrink: 0; }
.o-i span { font-size: 14px; font-weight: 800; color: #4a044e; }
.v { font-size: 12px; font-weight: 700; color: #64748b; margin-top: 4px; padding-left: 2px;}

/* 高密度 SVG 图标注入 (标题前缀) */
.s i { width: 20px; height: 20px; margin-right: 10px; display: inline-block; flex-shrink: 0; background-position: center; background-size: cover; }
.i-usr { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2338bdf8'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"); }
.i-tar { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f472b6'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); }
.i-bdy { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c084fc'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E"); }
.i-wrn { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fbbf24'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E"); }
.i-npc { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2334d399'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E"); }
.i-inv { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2394a3b8'%3E%3Cpath d='M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z'/%3E%3C/svg%3E"); }
.i-mem { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238b5cf6'%3E%3Cpath d='M19 3h-2V2h-2v1H9V2H7v1H5c-1.1 0-2 .9-2 2v3c0 2.76 2.24 5 5 5h1c1.33 2.14 3.53 3.65 6 3.9V20h-3v2h8v-2h-3v-3.1c2.47-.25 4.67-1.76 6-3.9h1c2.76 0 5-2.24 5-5V5c0-1.1-.9-2-2-2zm-9 11c-2.21 0-4-1.79-4-4V5h8v4c0 2.21-1.79 4-4 4zm7-4h-1.5c-.29 1.19-.88 2.27-1.7 3.16.89-.1 1.73-.41 2.45-.88.48-.31.86-.74 1.13-1.24.4-.73.62-1.57.62-2.44V5h1v5c0 1.66-1.34 3-3 3z'/%3E%3C/svg%3E"); }
.i-opt { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2314b8a6'%3E%3Cpath d='M12 2C6.48 2 2 4.24 2 7v10c0 2.76 4.48 5 10 5s10-2.24 10-5V7c0-2.76-4.48-5-10-5zm0 18c-4.42 0-8-1.79-8-4v-2.26c1.68 1.16 4.54 1.94 8 1.94s6.32-.78 8-1.94V16c0 2.21-3.58 4-8 4zm0-6c-4.42 0-8-1.79-8-4V7.74C5.68 8.9 8.54 9.68 12 9.68s6.32-.78 8-1.94V10c0 2.21-3.58 4-8 4zm0-6C7.58 8 4 6.21 4 4s3.58-4 8-4 8 1.79 8 4-3.58 4-8 4z'/%3E%3C/svg%3E"); }

/* 内部小图标 */
.i-hrt::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e11d48'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); }
.i-lst::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c026d3'%3E%3Cpath d='M12 2c-5.33 4.55-8 8.48-8 11.8 0 4.98 3.8 8.2 8 8.2s8-3.22 8-8.2c0-3.32-2.67-7.25-8-11.8zm0 18c-3.35 0-6-2.57-6-6.2 0-2.34 1.95-5.44 6-9.14 4.05 3.7 6 6.79 6 9.14 0 3.63-2.65 6.2-6 6.2z'/%3E%3C/svg%3E"); }
.i-shd::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23059669'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z'/%3E%3C/svg%3E"); }
.i-drp::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d97706'%3E%3Cpath d='M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm0 16c-2.76 0-5-2.24-5-5 0-2.64 2.05-4.78 4.65-4.96C11.96 11.49 12.3 12.01 12.55 12.56 12.79 13.09 13 13.72 13 14.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-.66-.17-1.18-.38-1.6-.2-.41-.45-.73-.67-.93C10.42 12.8 10 13.36 10 14c0 1.1.9 2 2 2s2-.9 2-2c0-.52-.16-.99-.44-1.39C13.84 12.86 14.15 13 14.5 13c1.38 0 2.5 1.12 2.5 2.5 0 1.38-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E"); }

/* 核心动画与移动端适配 */
@keyframes z-spin { 100% { transform: rotate(360deg); } }
@keyframes z-shine { 100% { transform: translateX(100%); } }
@keyframes z-flow { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
@keyframes z-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; box-shadow: 0 0 15px rgba(225,29,72,0.3); } }
@keyframes z-in { 0% { opacity: 0; transform: translateY(-5px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes z-bar { 0% { width: 0%; } }

@media (max-width: 768px) {
  .sys-rpg-ctn { flex-direction: column; min-height: 80vh; }
  .T-box { padding: 15px 12px; max-width: 100% !important; border-radius: 8px;}
  .T-box text { font-size: 16px; line-height: 2; max-height: 70vh;}
  .S { width: 100%; height: 85vh; max-height: 85vh; top: auto; bottom: 0; border-left: none; border-top: 3px solid #f472b6; border-radius: 20px 20px 0 0; transform: translateY(105%); box-shadow: 0 -10px 40px rgba(0,0,0,0.15); }
  #shio-tg:checked ~ .S { transform: translateY(0); }
  .B { top: auto; bottom: 40px; right: 0; min-height: 80px; width: 45px; border-radius: 15px 0 0 15px; background: linear-gradient(180deg, #f472b6, #e11d48); }
  .E .e { min-width: 48%; }
}
