/* ╔══════════════════════════════════════════════════════════════╗
   ║  ZERO-JS 极致明亮系 GUI内置CSS引擎 (全面重构/全量图形化)         ║
   ║  最高原则: Absolute Readability First (绝对可读性优先)           ║
   ║  禁止深色背景，禁止JS，150+特效，适配原生平台聊天框强制覆盖          ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ==========================================================================
   [1] 平台聊天框强制美化与劫持 (Chat Box Override)
   ========================================================================== */
.bg-gray-100\/90.relative.inline-block {
  background: linear-gradient(145deg, #FFFFFF 0%, #F8FAFC 100%) !important;
  border: 2px solid #38BDF8 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 25px rgba(56, 189, 248, 0.15), inset 0 0 15px rgba(255, 255, 255, 0.8) !important;
  margin: 10px 0 20px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  max-width: 100% !important;
  width: 100% !important;
  position: relative !important;
  z-index: 10 !important;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}
.bg-gray-100\/90.relative.inline-block:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.25) !important;
  border-color: #0EA5E9 !important;
}
/* 顶部色带强制抹除 */
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none !important; }
/* 输入框专属发光 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
  border-color: #10B981 !important;
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.15) !important;
}
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90):hover {
  border-color: #059669 !important;
  box-shadow: 0 12px 30px rgba(16, 185, 129, 0.25) !important;
}
/* 主文本可读性强制设定 (明亮底+极深字) */
.markdown-body {
  color: #0F172A !important;
  font-family: 'PingFang SC', 'Helvetica Neue', 'Microsoft YaHei', sans-serif !important;
  font-size: 16.5px !important;
  line-height: 1.85 !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 8px !important;
  text-shadow: none !important; /* 严禁模糊文字 */
}

/* 顶部栏、输入框、按钮、分页栏覆盖 */
.sticky.w-full.top-0.flex.items-center {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 2px solid #E2E8F0 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}
#ai-model-selector .group.flex.items-center {
  background: linear-gradient(135deg, #F8FAFC, #E2E8F0) !important;
  border: 2px solid #CBD5E1 !important;
  border-radius: 8px !important;
  box-shadow: 2px 2px 0px #94A3B8 !important;
}
#ai-model-selector .truncate.text-\[13px\] { color: #1E293B !important; font-weight: 900 !important; }
#ai-chat-bottom-input {
  background: #FFFFFF !important;
  border: 2px solid #94A3B8 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
}
#ai-chat-bottom-input:focus-within { border-color: #38BDF8 !important; box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2) !important; }
#ai-chat-input { color: #0F172A !important; font-weight: 800 !important; }
#ai-chat-input::placeholder { color: #64748B !important; }
#ai-chat-input::selection { background: #BAE6FD !important; color: #0369A1 !important; }
#ai-mod-button2 button.MuiButton-root, .MuiButtonBase-root.MuiButton-root.MuiButton-text {
  color: #0EA5E9 !important; font-weight: 900 !important; transition: all 0.3s !important;
}
#ai-mod-button2 button.MuiButton-root:hover { transform: translateY(-2px) !important; text-shadow: 0 0 8px rgba(14, 165, 233, 0.4) !important; }
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] { background: #F8FAFC !important; border-top: 1px solid #E2E8F0 !important; }
textarea.rc-textarea { color: #0F172A !important; font-weight: 700 !important; background: #FFFFFF !important; border-radius: 8px !important; border: 1px solid #CBD5E1 !important; }
.MuiPaginationItem-root.Mui-selected { background: #38BDF8 !important; color: #FFFFFF !important; box-shadow: 2px 2px 0px #0284C7 !important; }

/* 聊天框动态加载动画替换 (赛博风格光圈) */
.style_dot-flashing__8L91Q, .style_text__zGhNq { display: none !important; }
.flex.items-center.justify-center.w-6.h-5 { position: relative !important; width: 44px !important; height: 44px !important; overflow: visible !important; }
.flex.items-center.justify-center.w-6.h-5::before {
  content: ""; position: absolute; inset: -5px;
  background: conic-gradient(from 0deg, transparent 0%, #38BDF8 50%, transparent 100%);
  border-radius: 50%; animation: gui-spin 1.2s linear infinite;
  mask-image: radial-gradient(transparent 55%, black 60%);
  -webkit-mask-image: radial-gradient(transparent 55%, black 60%);
}
.flex.items-center.justify-center.w-6.h-5::after {
  content: "SYS"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  font-size: 10px; font-weight: 900; color: #0EA5E9; animation: gui-pulse 1.5s infinite;
}

/* ==========================================================================
   [2] 引擎顶层布局与基础系统变量 (Root Layout & Variables)
   ========================================================================== */
.gui-main-viewport {
  position: relative;
  width: 100%;
  max-height: 75vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 15px 20px;
  background: #FFFFFF;
  border-radius: 12px;
  border: 2px solid #E2E8F0;
  box-shadow: inset 0 4px 15px rgba(0,0,0,0.02);
  scrollbar-width: thin;
  scrollbar-color: #38BDF8 #F1F5F9;
}
.gui-main-viewport::-webkit-scrollbar { width: 6px; }
.gui-main-viewport::-webkit-scrollbar-track { background: #F1F5F9; border-radius: 4px; }
.gui-main-viewport::-webkit-scrollbar-thumb { background: #38BDF8; border-radius: 4px; }

.gui-story-core {
  display: block;
  font-size: 17px;
  line-height: 2.1;
  color: #111827;
  font-weight: 700;
  text-indent: 2em;
  white-space: pre-wrap;
  word-break: break-word;
}
/* 段落之间的排版间距 */
.gui-story-core { margin-bottom: 1em; }

/* ==========================================================================
   [3] 全景侧边栏交互枢纽 (Sidebar Hub)
   ========================================================================== */
.gui-sidebar-hub {
  position: fixed !important;
  right: 0 !important;
  top: 8vh !important;
  bottom: 8vh !important;
  width: 380px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  border-left: 3px solid #38BDF8 !important;
  box-shadow: -10px 0 30px rgba(14, 165, 233, 0.15), inset 2px 0 0 rgba(255,255,255,1) !important;
  border-radius: 20px 0 0 20px !important;
  z-index: 9999 !important;
  transform: translateX(calc(100% - 44px)) !important;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
  display: flex !important;
  flex-direction: row !important;
}
.gui-sidebar-hub:hover, .gui-sidebar-hub:active, .gui-sidebar-hub:focus-within {
  transform: translateX(0) !important;
  box-shadow: -15px 0 40px rgba(14, 165, 233, 0.25) !important;
}

/* 侧边栏吸附把手 */
.gui-sb-handle {
  width: 44px;
  height: 100%;
  background: linear-gradient(180deg, #0EA5E9 0%, #38BDF8 50%, #0284C7 100%);
  color: #FFFFFF;
  font-weight: 900;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 2px;
  border-radius: 17px 0 0 17px;
  cursor: pointer;
  box-shadow: 2px 0 10px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
}
.gui-sb-handle::after {
  content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  animation: gui-shine 3s infinite;
}

/* 侧边栏内部容器 */
.gui-sb-content {
  flex: 1;
  height: 100%;
  overflow-y: auto;
  padding: 20px 15px 20px 15px;
  scrollbar-width: none;
}
.gui-sb-content::-webkit-scrollbar { display: none; }

/* ==========================================================================
   [4] 核心UI组件体系 (Core UI Modules)
   ========================================================================== */
/* 模块基础外壳 */
.gui-mod-p {
  background: #FFFFFF;
  border: 2px solid #E2E8F0;
  border-radius: 12px;
  margin-bottom: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.03);
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
}
.gui-mod-p:hover { border-color: #38BDF8; box-shadow: 0 6px 15px rgba(56, 189, 248, 0.15); transform: translateY(-2px); }

/* 展开交互区 */
.gui-sum-p {
  padding: 12px 14px;
  font-weight: 900;
  font-size: 15px;
  color: #0F172A;
  background: linear-gradient(90deg, #F8FAFC, #FFFFFF);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  user-select: none;
  border-bottom: 2px solid transparent;
  position: relative;
}
.gui-sum-p::-webkit-details-marker { display: none; }
.gui-sum-p::after {
  content: "+"; position: absolute; right: 15px; color: #94A3B8; font-size: 18px; font-weight: bold; transition: 0.3s;
}
.gui-mod-p[open] .gui-sum-p::after { content: "−"; color: #0EA5E9; transform: rotate(180deg); }
.gui-mod-p[open] .gui-sum-p { border-bottom-color: #E2E8F0; background: #F0F9FF; color: #0284C7; }
.gui-mod-bd { padding: 14px; background: #FFFFFF; animation: gui-fade-in 0.4s ease-out both; }

/* 前置面板栏 (时间/天气/新闻) */
.gui-top-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.gui-tag-env {
  background: linear-gradient(135deg, #F0F9FF, #E0F2FE);
  border: 1px solid #BAE6FD; color: #0369A1; font-weight: 900; font-size: 13px;
  padding: 6px 12px; border-radius: 8px; display: flex; align-items: center; gap: 6px;
  box-shadow: 2px 2px 0px rgba(2, 132, 199, 0.1);
}
.gui-news-bar {
  background: #FEF2F2; border-left: 4px solid #EF4444; border-radius: 4px; padding: 10px 12px;
  margin-bottom: 15px; display: flex; align-items: center; gap: 8px; box-shadow: 2px 2px 0px rgba(239, 68, 68, 0.1);
}
.gui-news-txt { font-size: 14px; color: #991B1B; font-weight: 800; }

/* 思维链隐匿槽 */
.gui-sys-cot { border: 2px dashed #CBD5E1; border-radius: 10px; margin-bottom: 12px; background: #F8FAFC; }
.gui-sys-sum { padding: 8px 12px; font-size: 13px; color: #64748B; list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.gui-sys-sum::-webkit-details-marker { display: none; }
.gui-txt-mono { font-family: monospace; font-size: 13px; color: #475569; display: block; padding: 12px; line-height: 1.6; white-space: pre-wrap; font-weight: bold; border-top: 1px solid #E2E8F0; }

/* ==========================================================================
   [5] 数据可视化层 (GUI Data Structures)
   ========================================================================== */
.gui-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.gui-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }

/* 键值对组件 */
.gui-kv { background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 6px; padding: 8px; display: flex; flex-direction: column; gap: 4px; position: relative; overflow: hidden; }
.gui-kv::before { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 3px; background: #38BDF8; }
.gui-k { font-size: 12px; color: #64748B; font-weight: 900; text-transform: uppercase; }
.gui-v { font-size: 14px; color: #0F172A; font-weight: 900; }

/* 块级长文本组件 */
.gui-kv-block { margin-top: 10px; }
.gui-kv-block .gui-k { display: inline-block; background: #E2E8F0; color: #1E293B; padding: 4px 8px; border-radius: 4px 4px 0 0; font-size: 12px; margin-bottom: 0; }
.gui-v-box { background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 0 6px 6px 6px; padding: 10px; font-size: 13.5px; color: #1E293B; font-weight: 700; line-height: 1.7; white-space: pre-wrap; word-break: break-word; }

/* 标签域 */
.gui-tag-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.gui-tag, .gui-tag-red, .gui-tag-blue { font-size: 12px; font-weight: 900; padding: 4px 8px; border-radius: 6px; border: 1px solid; }
.gui-tag { background: #F1F5F9; color: #334155; border-color: #CBD5E1; }
.gui-tag-red { background: #FEF2F2; color: #E11D48; border-color: #FECDD3; }
.gui-tag-blue { background: #F0F9FF; color: #0284C7; border-color: #BAE6FD; }

/* 物品网格 */
.gui-item { background: #FFFFFF; border: 2px solid #E2E8F0; border-radius: 6px; padding: 8px 4px; text-align: center; font-size: 12.5px; font-weight: 800; color: #0F172A; box-shadow: 2px 2px 0px #CBD5E1; }

/* 动态进度条系统 */
.gui-bar-wrap { margin-bottom: 10px; }
.gui-bar-lbl { font-size: 12.5px; font-weight: 900; color: #334155; margin-bottom: 4px; display: block; }
.gui-bar-bg { width: 100%; height: 12px; background: #E2E8F0; border-radius: 6px; overflow: hidden; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); }
.gui-bar-fill { height: 100%; border-radius: 6px; transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1); position: relative; }
.gui-bar-fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: gui-scan 2s infinite; }
.gui-f-hp { background: linear-gradient(90deg, #F87171, #DC2626); }
.gui-f-mp { background: linear-gradient(90deg, #60A5FA, #2563EB); }
.gui-f-san { background: linear-gradient(90deg, #34D399, #059669); }
.gui-f-lust { background: linear-gradient(90deg, #F472B6, #DB2777); }

/* SVG 环形同步率 (Bangboo Link Tech) */
.gui-flex-c { display: flex; align-items: center; gap: 15px; }
.gui-svg-ring { width: 70px; height: 70px; position: relative; flex-shrink: 0; }
.gui-ring-bg { fill: none; stroke: #E2E8F0; stroke-width: 3.5; }
.gui-ring-fg { fill: none; stroke: #0EA5E9; stroke-width: 3.5; stroke-linecap: round; transform-origin: center; transform: rotate(-90deg); transition: stroke-dasharray 1s ease-out; filter: drop-shadow(0 0 4px rgba(14, 165, 233, 0.5)); }
.gui-ring-val { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 15px; font-weight: 900; color: #0284C7; }
.gui-sync-info { flex: 1; display: flex; flex-direction: column; gap: 6px; }

/* 滚动表格记忆区 */
.gui-scroller { max-height: 250px; overflow-y: auto; border: 1px solid #E2E8F0; border-radius: 6px; padding: 0; }
.gui-scroller::-webkit-scrollbar { width: 4px; }
.gui-scroller::-webkit-scrollbar-thumb { background: #94A3B8; }
.gui-tb { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.gui-tb th { background: #F1F5F9; color: #334155; padding: 8px; text-align: left; position: sticky; top: 0; z-index: 2; font-weight: 900; border-bottom: 2px solid #CBD5E1; }
.gui-tb td { padding: 8px; border-bottom: 1px solid #E2E8F0; color: #1E293B; font-weight: 700; word-break: break-word; }

/* 选项推演池 (微小说化) */
.gui-opt-list { display: flex; flex-direction: column; gap: 10px; }
.gui-opt-item { background: #F8FAFC; border: 2px solid #CBD5E1; border-radius: 8px; padding: 12px; display: flex; gap: 10px; align-items: flex-start; cursor: pointer; transition: all 0.3s; }
.gui-opt-item:hover { background: #F0F9FF; border-color: #38BDF8; transform: translateX(5px); box-shadow: 0 4px 10px rgba(56, 189, 248, 0.15); }
.gui-opt-idx { background: #0EA5E9; color: #FFF; font-weight: 900; padding: 4px 8px; border-radius: 6px; font-size: 14px; box-shadow: 2px 2px 0px #0284C7; }
.gui-opt-txt { font-size: 14.5px; color: #0F172A; font-weight: 800; line-height: 1.6; }

/* NPC群像卡片 */
.gui-npc-card { background: #FFFFFF; border-left: 4px solid #10B981; padding: 10px; margin-bottom: 8px; border-radius: 0 6px 6px 0; box-shadow: 2px 2px 5px rgba(0,0,0,0.03); display: flex; flex-direction: column; }

/* 社交信息气泡 */
.gui-msg-box { background: #EFF6FF; border: 1px solid #BFDBFE; border-radius: 12px 12px 12px 0; padding: 10px 15px; margin-bottom: 10px; position: relative; }
.gui-msg-box::before { content: ""; position: absolute; bottom: -6px; left: -1px; border-width: 6px 6px 0 0; border-style: solid; border-color: #BFDBFE transparent transparent transparent; }

/* ==========================================================================
   [6] SVG 图标引擎 (SVG Data URIs for absolute containment)
   ========================================================================== */
.gui-ic-cog, .gui-ic-loc, .gui-ic-clk, .gui-ic-wth, .gui-ic-rad, .gui-ic-usr, .gui-ic-tar, .gui-ic-npc, .gui-ic-sync, .gui-ic-inv, .gui-ic-stat, .gui-ic-eqp, .gui-ic-skl, .gui-ic-fin, .gui-ic-soc, .gui-ic-qst, .gui-ic-fac, .gui-ic-krm, .gui-ic-mem, .gui-ic-ltm, .gui-ic-stm, .gui-ic-opt {
  display: inline-block; width: 20px; height: 20px; margin-right: 8px; flex-shrink: 0; background-repeat: no-repeat; background-position: center; background-size: contain;
}
.gui-ic-cog { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748B'%3E%3Cpath d='M12 2L1 21h22L12 2zm0 3.83L19.5 19h-15L12 5.83zM11 10h2v5h-2v-5zm0 6h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.gui-ic-usr { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230EA5E9'%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"); }
.gui-ic-tar { 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"); }
.gui-ic-sync { 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='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"); }
.gui-ic-opt { 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='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.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'/%3E%3C/svg%3E"); }
.gui-ic-loc { 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"); }
.gui-ic-rad { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23DC2626'%3E%3Cpath d='M3.24 6.15C2.51 6.43 2 7.17 2 8v12c0 1.1.89 2 2 2h16c1.11 0 2-.9 2-2V8c0-1.11-.89-2-2-2h-2.1c-.24-1.29-1.24-2.31-2.55-2.61L12 1.05 10.65 3.39c-1.31.3-2.31 1.32-2.55 2.61H5.9zm10.76 0h-4c.14-.65.62-1.18 1.25-1.37L12 3.4l.75 1.38c.63.19 1.11.72 1.25 1.37zM6 11h2v2H6v-2zm0 4h2v2H6v-2zm4-4h8v6h-8v-6z'/%3E%3C/svg%3E"); }
/* 剩余图标复用泛用圆点以节省空间，维持整洁 */
.gui-ic-npc, .gui-ic-inv, .gui-ic-stat, .gui-ic-eqp, .gui-ic-skl, .gui-ic-fin, .gui-ic-soc, .gui-ic-qst, .gui-ic-fac, .gui-ic-krm, .gui-ic-mem, .gui-ic-ltm, .gui-ic-stm, .gui-ic-clk, .gui-ic-wth {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748B'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3C/svg%3E");
}

/* ==========================================================================
   [7] 动画序列库 (Animation Keyframes)
   ========================================================================== */
@keyframes gui-spin { 100% { transform: rotate(360deg); } }
@keyframes gui-pulse { 0%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 0.5; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes gui-shine { 100% { left: 100%; } }
@keyframes gui-fade-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gui-scan { 100% { transform: translateX(100%); } }

/* ==========================================================================
   [8] 移动端绝对适配 (Mobile Responsive Override)
   ========================================================================== */
@media (max-width: 768px) {
  .gui-sidebar-hub {
    top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; height: 80vh !important;
    transform: translateY(calc(100% - 44px)) !important;
    border-left: none !important; border-top: 3px solid #38BDF8 !important;
    border-radius: 20px 20px 0 0 !important;
    flex-direction: column !important;
  }
  .gui-sidebar-hub:hover, .gui-sidebar-hub:active, .gui-sidebar-hub:focus-within { transform: translateY(0) !important; }
  .gui-sb-handle {
    width: 100%; height: 44px; flex-direction: row; border-radius: 17px 17px 0 0;
    writing-mode: horizontal-tb; font-size: 14px; letter-spacing: 6px; flex-shrink: 0;
  }
  .gui-sb-handle br { display: none; }
  .gui-main-viewport { max-height: 60vh; padding: 12px 10px; border-width: 1px; }
  .gui-story-core { font-size: 16px; line-height: 1.9; }
  .bg-gray-100\/90.relative.inline-block { border-width: 1px !important; border-radius: 12px !important; box-shadow: none !important; }
}
