{"id":"f304b54a-3c7c-467e-9c61-ea66bdbcc41f","authorId":"8ddXOM7TLSwQeQbmXtedOnjJqLrtagRl","title":"中世纪人生[ver1.0]","description":"走进 12 世纪的欧洲，体验丰富多彩的开放世界，畅玩这款精彩的叙事驱动型角色扮演游戏，开启究极中世纪冒险，扮演年轻的你自己，踏上一场史诗级的旅程。\n\n体验一段奇妙非常的故事，随着历史的脉搏，同欧陆诸王一起踏上为了不同目标的旅途之中，见证他们历经一系列难忘的冒险，从一个青葱肤浅的学者变成一位一位改变历史的伟大人物。你的行动将决定不同角色的命运，沉浸在这片充满活力的中世纪世界里，你的一举一动都将被这个世界所铭记。\n\n愿你的国降临…\n\n------------\n\n走进12世纪的欧洲，体验丰富多彩的开放世界在厨房里只利用苹果和柠檬两种材料制作出上百种水果料理，尝试把木炭和硫磺磨成粉放到一起，引导神偷之力，开启绝妙的中世纪冒险，最后发现，十字军战争的真相，我们有黄油烤苹果，苹果胶布丁，苹果胶果冻，蜂蜜，渍苹果，蜂蜜烤苹果，苹果干，苹果汤，苹果面包，苹果酱，苹果汁，苹果派……\n\n愿你的派降临…\n\n------------------\n\n唯一指定群聊：1072011550\n\n[请使用默认模型进行体验]-[格式错误请刷新]-[]","background":"uu4k0w5x5gd2m9nnxrx3idpb.webp","backgroundWidth":1920,"backgroundHeight":1080,"cover":"jyphz6s49pt3m3s3tvg3kcje.webp","coverWidth":1920,"coverHeight":1080,"introPage":"zg653h4xpkvvmlcc7xutubzi.html","changelog":"","createdAt":"2026-06-21T10:16:24.248Z","updatedAt":"2026-07-27T04:50:20.100Z","initPublicAt":"2026-06-22T10:41:51.792Z","renderTemplate":null,"assistantRegexReplace":[],"enableMemorySchema":false,"memorySchema":null,"injectStyles":"div[style*=\"contain\"][style*=\"layout\"] {\n  contain: style !important;\n}\n\n/* ═══ B平台加载动画适配（自动注入）═══ */\n.flex.items-center.justify-center.size-6 { opacity: 1 !important; }\n.flex.items-center.justify-center.size-6 > .flex.gap-2 { display: none !important; }\n.is-assistant.w-fit { width: 100% !important; }\n.is-assistant > .border.border-muted:has(.flex.items-center.justify-center.size-6) {\n  width: 100% !important; background: transparent !important;\n  border: none !important; padding: 0 !important;\n}\n.is-assistant .space-y-3:has(.flex.items-center.justify-center.size-6) {\n  display: flex; justify-content: center; width: 100%;\n}\n\n/* ═══ B平台表格修正（自动注入）═══ */\n.rili-markdown-renderer table { display:table!important; table-layout:auto!important; width:100%!important; border-collapse:collapse!important; }\n.rili-markdown-renderer table caption { display:table-caption!important; caption-side:top!important; text-align:center!important; padding:8px!important; }\n.rili-markdown-renderer thead { display:table-header-group!important; }\n.rili-markdown-renderer tbody { display:table-row-group!important; }\n.rili-markdown-renderer tr { display:table-row!important; }\n.rili-markdown-renderer th, .rili-markdown-renderer td { display:table-cell!important; }\n\n/* ═══ B平台按钮组保护（自动注入 — 防止按钮消失）═══\n   原理：B平台消息操作按钮结构为：\n   .flex.items-center.gap-1.ml-auto (hover显隐包装)\n     └── .bg-muted.rounded.flex.p-0.5 (按钮组容器)\n           └── button.rounded-full.size-7 (单个按钮)\n\n   以下规则使用高specificity + !important确保按钮\n   不被任何转换后/透传的CSS规则意外隐藏\n   ═══════════════════════════════════════════════ */\n\n/* 按钮组容器保护 */\n.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\\.5,\n.is-user .bg-muted.rounded.flex.p-0\\.5,\n.is-assistant .bg-muted.rounded.flex.p-0\\.5 {\n  display: flex !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  overflow: visible !important;\n  position: relative !important;\n  width: auto !important;\n  height: auto !important;\n  max-height: none !important;\n  pointer-events: auto !important;\n  clip: auto !important;\n  clip-path: none !important;\n}\n\n/* 单个按钮保护 */\n.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\\.5 > button,\n.is-user .bg-muted.rounded.flex.p-0\\.5 > button,\n.is-assistant .bg-muted.rounded.flex.p-0\\.5 > button {\n  display: inline-flex !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  pointer-events: auto !important;\n  position: relative !important;\n  clip: auto !important;\n  clip-path: none !important;\n}\n\n/* hover显隐包装层保护 — 仅保留B平台原生的opacity过渡 */\n.flex.items-center.gap-1.ml-auto.md\\:opacity-0.group-hover\\:opacity-100 {\n  visibility: visible !important;\n  display: flex !important;\n  pointer-events: auto !important;\n  overflow: visible !important;\n}\n\n/* 操作行保护 */\n.flex.w-full.items-center.justify-between.gap-2.px-2 {\n  display: flex !important;\n  visibility: visible !important;\n  overflow: visible !important;\n}\n\n/* ═══ B平台顶部栏适配说明（自动注入）═══\n   A: div.sticky > div.flex.justify-between\n      ├── 左侧空区\n      ├── #ai-model-selector (居中)\n      └── 右侧工具(设置按钮等)\n   B: <header.flex.justify-between>\n      ├── #nav-left (侧边栏开关)\n      ├── #nav-middle (可能为空)\n      └── #nav-right (通知/主题/语言)\n   B平台模型按钮不在header内，选择器:\n   button:has(> .flex-1.truncate.text-left)\n   ═══════════════════════════════════════ */\nheader.flex.justify-between { position: relative; overflow: visible; }\n\n/* ============================================================\n   STUDIUM PARISIENSE  v2\n   No-JS medieval-manuscript TRPG UI for the AI风月 chat platform.\n   Scope root: <ms>. Never use body, html, universal or root.\n   Drawer escapes the chat bubble via position:fixed and docks to\n   the SCREEN's right edge. Each of the 8 panels has its own accent,\n   watermark SVG and bespoke components. All SVG lives here in CSS.\n   NOTE: never write the two-char sequence slash-star or star-slash\n   inside a comment except to open/close it.\n   ============================================================ */\n\nms{\n  --pg:#f5e6c8; --pg2:#ecd9b0; --dp:#3a281c; --dp2:#271a11;\n  --ink:#2c1810; --ver:#8b2500; --gold:#c5a44e; --gold2:#e7cf86;\n  --blu:#1a3a5c; --wrn:#a0522d; --line:rgba(197,164,78,.32);\n  --topgap:60px; --botgap:98px;\n  position:relative; display:block; width:100%; margin:0 auto; overflow:hidden;\n  color:var(--ink); background:var(--pg); isolation:isolate;\n  border:2px solid #6e5230; border-radius:4px;\n  box-shadow:0 12px 44px rgba(0,0,0,.5), inset 0 0 70px rgba(80,50,20,.2);\n  font-family:\"Iowan Old Style\",\"Palatino Linotype\",Palatino,Georgia,\"Songti SC\",serif;\n  line-height:1.78; -webkit-text-size-adjust:100%;\n}\nms,ms art,ms pan,ms sec,ms row,ms g,ms q,ms wn,ms ring,ms bar,ms rep,ms nav,\nms label,ms details,ms summary,ms table,ms h,ms sh,ms card,ms ev,ms fac,ms opt,\nms purse,ms hero,ms b,ms i,ms s,ms big,ms roster,ms tags,ms rings{box-sizing:border-box}\n\n/* parchment grain + soft vignette across the whole bubble */\nms::before{\n  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;\n  background-image:\n    radial-gradient(rgba(120,85,40,.10) 1px,transparent 1.5px),\n    radial-gradient(rgba(120,85,40,.06) 1px,transparent 1.5px),\n    radial-gradient(130% 80% at 50% -10%,transparent 58%,rgba(40,22,10,.32) 100%);\n  background-size:7px 7px,13px 13px,100% 100%;\n  background-position:0 0,4px 6px,0 0;\n}\n\n/* ============================================================\n   STATE MACHINE  (9 radios share one name; id-prefix selectors\n   keep the dynamic _{round} suffix safe)\n   ============================================================ */\nms input[id^=\"mp\"]{position:fixed;top:0;left:0;width:0;height:0;opacity:0;pointer-events:none}\n\n/* ----- NARRATIVE ----- */\nms art{position:relative;z-index:1;display:block;padding:26px 26px 22px}\nms art>st{\n  display:block;text-align:center;color:var(--ver);font-size:1.5em;font-weight:700;\n  letter-spacing:.16em;margin:2px 0 6px;text-shadow:0 1px 0 rgba(255,245,210,.5);\n  animation:glow 5s ease-in-out infinite;\n}\n@keyframes glow{0%,100%{text-shadow:0 1px 0 rgba(255,245,210,.5)}50%{text-shadow:0 0 12px rgba(197,164,78,.6),0 1px 0 rgba(255,245,210,.5)}}\nms art>st::before,ms art>st::after{\n  content:'';display:block;height:16px;margin:8px auto;width:72%;\n  background:\n    linear-gradient(90deg,transparent,var(--gold) 46%,transparent 47%) center/100% 1.5px no-repeat,\n    radial-gradient(circle,var(--gold) 0 3.5px,transparent 4.5px) center/12px 12px no-repeat;\n}\nms art p{margin:.6em 0;text-align:justify;font-size:1.06em;color:var(--ink)}\nms art p:first-of-type{border-left:3px solid var(--gold);padding-left:14px}\nms art p:first-of-type::first-letter{\n  float:left;font-size:3.3em;line-height:.8;padding:.04em .12em 0 0;\n  color:var(--ver);font-weight:700;text-shadow:1px 1px 0 rgba(120,80,30,.35);\n}\n\n/* ============================================================\n   BOTTOM NAVIGATION  (bigger, legible icons + labels)\n   ============================================================ */\nms nav{\n  position:relative;z-index:2;display:flex;margin:16px 0 0;\n  background:linear-gradient(180deg,#33231a,#211610);border-top:2px solid #6b4f2a;\n}\nms nav::before{content:'';position:absolute;top:-2px;left:0;right:0;height:3px;\n  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.75}\nms nav label{\n  position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:5px;\n  padding:13px 2px 11px;cursor:pointer;color:var(--gold);font-size:12px;letter-spacing:.04em;\n  transition:color .2s,background .2s;\n}\nms nav label::before{\n  content:'';width:30px;height:30px;background:currentColor;\n  -webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;\n  transition:transform .2s,filter .2s;\n}\nms nav label::after{content:attr(t)}\nms nav label:hover{color:var(--gold2);background:rgba(197,164,78,.09)}\nms nav label:hover::before{transform:translateY(-2px) scale(1.08)}\nms nav label[f=\"1\"]{--i:var(--ic-shield)}ms nav label[f=\"2\"]{--i:var(--ic-book)}\nms nav label[f=\"3\"]{--i:var(--ic-people)}ms nav label[f=\"4\"]{--i:var(--ic-globe)}\nms nav label[f=\"5\"]{--i:var(--ic-scales)}ms nav label[f=\"6\"]{--i:var(--ic-scroll)}\nms nav label[f=\"7\"]{--i:var(--ic-glass)}ms nav label[f=\"8\"]{--i:var(--ic-swords)}\n/* active nav button */\nms input[id^=\"mp1_\"]:checked~nav label[f=\"1\"],ms input[id^=\"mp2_\"]:checked~nav label[f=\"2\"],\nms input[id^=\"mp3_\"]:checked~nav label[f=\"3\"],ms input[id^=\"mp4_\"]:checked~nav label[f=\"4\"],\nms input[id^=\"mp5_\"]:checked~nav label[f=\"5\"],ms input[id^=\"mp6_\"]:checked~nav label[f=\"6\"],\nms input[id^=\"mp7_\"]:checked~nav label[f=\"7\"],ms input[id^=\"mp8_\"]:checked~nav label[f=\"8\"]{\n  color:#fff6df;background:rgba(139,37,0,.32);box-shadow:inset 0 -4px 0 var(--ver);\n}\n\n/* ============================================================\n   DRAWER  (fixed to the screen, slides in from the right edge)\n   ============================================================ */\nms pan{\n  position:fixed;top:var(--topgap,60px);right:0;bottom:var(--botgap,98px);z-index:60;\n  width:min(440px,40vw);min-width:330px;overflow-y:auto;overflow-x:hidden;border-radius:12px 0 0 12px;\n  padding:0 20px 40px;display:none;\n  color:var(--pg);background-color:var(--dp);\n  background-image:var(--wm),\n    radial-gradient(rgba(255,225,170,.05) 1px,transparent 1.5px),\n    radial-gradient(rgba(0,0,0,.2) 1px,transparent 1.6px),\n    linear-gradient(155deg,var(--dp),var(--dp2));\n  background-repeat:no-repeat,repeat,repeat,no-repeat;\n  background-position:var(--wmpos,right -30px top 88px),0 0,5px 7px,0 0;\n  background-size:var(--wmsize,300px),9px 9px,15px 15px,cover;\n  box-shadow:-16px 0 40px rgba(0,0,0,.55),inset 6px 0 0 color-mix(in srgb,var(--ac,#6b4f2a) 65%,#000);\n  border-left:4px solid var(--ac,#6b4f2a);\n}\n@keyframes drawerIn{from{transform:translateX(112%)}to{transform:none}}\nms input[id^=\"mp1_\"]:checked~pan[n=\"1\"],ms input[id^=\"mp2_\"]:checked~pan[n=\"2\"],\nms input[id^=\"mp3_\"]:checked~pan[n=\"3\"],ms input[id^=\"mp4_\"]:checked~pan[n=\"4\"],\nms input[id^=\"mp5_\"]:checked~pan[n=\"5\"],ms input[id^=\"mp6_\"]:checked~pan[n=\"6\"],\nms input[id^=\"mp7_\"]:checked~pan[n=\"7\"],ms input[id^=\"mp8_\"]:checked~pan[n=\"8\"]{display:block;animation:drawerIn .42s cubic-bezier(.66,0,.28,1)}\n\n/* full-screen dimming mask (a label that closes the drawer) */\nms msk{position:fixed;inset:0;z-index:55;background:rgba(12,7,3,.62);\n  opacity:0;pointer-events:none;transition:opacity .46s ease;cursor:pointer}\nms input[id^=\"mp1_\"]:checked~msk,ms input[id^=\"mp2_\"]:checked~msk,ms input[id^=\"mp3_\"]:checked~msk,\nms input[id^=\"mp4_\"]:checked~msk,ms input[id^=\"mp5_\"]:checked~msk,ms input[id^=\"mp6_\"]:checked~msk,\nms input[id^=\"mp7_\"]:checked~msk,ms input[id^=\"mp8_\"]:checked~msk{opacity:1;pointer-events:auto}\n\n/* single shared close button (one markup, shown for any open panel) */\nms label[x]{\n  position:fixed;top:calc(var(--topgap,60px) + 8px);right:16px;z-index:65;\n  width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;\n  border-radius:50%;border:1px solid var(--gold);color:var(--gold);background:rgba(20,12,6,.85);\n  font-size:17px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s,background .3s,color .3s;\n}\nms label[x]::before{content:'✕'}\nms label[x]:hover{transform:rotate(90deg);color:#fff;border-color:var(--ver);background:var(--ver)}\nms input[id^=\"mp1_\"]:checked~label[x],ms input[id^=\"mp2_\"]:checked~label[x],ms input[id^=\"mp3_\"]:checked~label[x],\nms input[id^=\"mp4_\"]:checked~label[x],ms input[id^=\"mp5_\"]:checked~label[x],ms input[id^=\"mp6_\"]:checked~label[x],\nms input[id^=\"mp7_\"]:checked~label[x],ms input[id^=\"mp8_\"]:checked~label[x]{opacity:1;pointer-events:auto}\n\n/* sticky panel header — title text injected by CSS per panel (no HTML) */\nms pan>h{\n  position:sticky;top:0;z-index:5;display:block;margin:0 -20px 12px;padding:20px 56px 12px 24px;\n  background:linear-gradient(180deg,var(--dp) 72%,transparent);\n}\nms pan>h::before{display:block;color:var(--gold2);font-size:1.3em;font-weight:700;letter-spacing:.18em}\nms pan>h::after{display:block;color:var(--ac,#b8946b);font-size:.74em;font-style:italic;letter-spacing:.34em;margin-top:2px}\nms pan>h>i{display:block;height:14px;margin-top:7px;\n  background:\n    linear-gradient(90deg,var(--ac,var(--gold)),transparent 60%) left/40% 1.5px no-repeat,\n    radial-gradient(circle,var(--ac,var(--gold)) 0 3px,transparent 4px) left 42% center/10px 10px no-repeat;}\nms pan[n=\"1\"]>h::before{content:'人 物'}ms pan[n=\"1\"]>h::after{content:'PERSONA'}\nms pan[n=\"2\"]>h::before{content:'学 业'}ms pan[n=\"2\"]>h::after{content:'STUDIUM'}\nms pan[n=\"3\"]>h::before{content:'人物志'}ms pan[n=\"3\"]>h::after{content:'HOMINES'}\nms pan[n=\"4\"]>h::before{content:'世界状态'}ms pan[n=\"4\"]>h::after{content:'MUNDUS'}\nms pan[n=\"5\"]>h::before{content:'商 贸'}ms pan[n=\"5\"]>h::after{content:'COMMERCIUM'}\nms pan[n=\"6\"]>h::before{content:'任 务'}ms pan[n=\"6\"]>h::after{content:'PENSUM'}\nms pan[n=\"7\"]>h::before{content:'记 忆'}ms pan[n=\"7\"]>h::after{content:'MEMORIA'}\nms pan[n=\"8\"]>h::before{content:'行 动'}ms pan[n=\"8\"]>h::after{content:'ACTIO'}\n\n/* per-panel accent + watermark */\nms pan[n=\"1\"]{--ac:#c9a84e;--wm:var(--wm-shield)}\nms pan[n=\"2\"]{--ac:#5a86b0;--wm:var(--wm-astro);--wmpos:center top 70px;--wmsize:330px}\nms pan[n=\"3\"]{--ac:#c08a93;--wm:var(--wm-bust);--wmpos:center top 64px;--wmsize:340px}\nms pan[n=\"4\"]{--ac:#5fa386;--wm:var(--wm-compass);--wmpos:right -36px top 70px;--wmsize:320px}\nms pan[n=\"5\"]{--ac:#c7894a;--wm:var(--wm-scales);--wmpos:center top 72px;--wmsize:300px}\nms pan[n=\"6\"]{--ac:#b04a42;--wm:var(--wm-scroll);--wmpos:center top 80px;--wmsize:330px}\nms pan[n=\"7\"]{--ac:#9b7cbb;--wm:var(--wm-glass);--wmpos:center top 64px;--wmsize:280px}\nms pan[n=\"8\"]{--ac:#cc5a36;--wm:var(--wm-swords);--wmpos:center top 70px;--wmsize:330px}\n\n/* slim accent scrollbar */\nms pan::-webkit-scrollbar{width:7px}\nms pan::-webkit-scrollbar-thumb{background:linear-gradient(var(--ac,var(--gold)),#5e481f);border-radius:7px}\nms pan::-webkit-scrollbar-track{background:rgba(0,0,0,.25)}\n\n/* ============================================================\n   SHARED PRIMITIVES  (re-skinned by each panel via --ac)\n   ============================================================ */\nms sec{position:relative;display:block;margin:14px 0;padding:13px 14px;border-radius:6px;\n  background:rgba(24,16,10,.8);border:1px solid color-mix(in srgb,var(--ac,var(--gold)) 40%,transparent);\n  box-shadow:0 2px 8px rgba(0,0,0,.3)}\nms sec>sh{display:flex;align-items:center;gap:7px;color:var(--ac,var(--ver));font-size:1em;font-weight:700;\n  letter-spacing:.05em;margin:-2px 0 10px;padding-bottom:6px;\n  border-bottom:1px solid color-mix(in srgb,var(--ac,var(--gold)) 36%,transparent)}\nms sec>sh::before{content:'';flex:0 0 auto;width:15px;height:15px;background:var(--ac,var(--gold));\n  -webkit-mask:var(--shmk,var(--ic-diamond)) center/contain no-repeat;mask:var(--shmk,var(--ic-diamond)) center/contain no-repeat}\nms sec>sh i{color:#cdad77;font-weight:400;font-size:.84em;font-style:italic;letter-spacing:.02em}\nms sec>p{margin:.5em 0;color:#ecdcbb;font-size:.92em;text-align:justify}\n\nms row{display:flex;gap:9px;align-items:baseline;padding:6px 2px;border-bottom:1px dashed rgba(197,164,78,.2)}\nms row:last-child{border-bottom:0}\nms row>k{flex:0 0 auto;min-width:60px;color:var(--ac,var(--ver));font-size:.88em;font-weight:700}\nms row>k[w]{min-width:84px}\nms row>k::after{content:'：'}\nms row>v{flex:1 1 auto;color:#f0e2c4;font-size:.93em}\nms row>v b{color:var(--gold2);font-weight:700}\n\nms hero{display:block;text-align:center;padding:8px 0 14px;margin-bottom:4px;\n  border-bottom:1px solid var(--line)}\nms hero>name{display:block;color:var(--gold2);font-size:1.55em;font-weight:700;letter-spacing:.05em}\nms hero>sub{display:block;color:#d2ac74;font-size:.86em;letter-spacing:.05em;margin-top:3px}\nms hero>note{display:block;color:#b0926a;font-size:.8em;font-style:italic;margin-top:5px}\n\nms tags{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0}\nms g{display:inline-flex;align-items:center;gap:5px;padding:4px 13px 4px 10px;border-radius:20px;\n  font-size:.82em;color:#fbedcb;letter-spacing:.04em;\n  background:radial-gradient(120% 130% at 30% 18%,#a8341a,#6e1d00);border:1px solid #54160a;\n  box-shadow:inset 0 1px 2px rgba(255,255,255,.28),inset 0 -2px 5px rgba(0,0,0,.45),0 1px 3px rgba(0,0,0,.4)}\nms g::before{content:'';width:11px;height:11px;background:var(--gold2);\n  -webkit-mask:var(--ic-fleur) center/contain no-repeat;mask:var(--ic-fleur) center/contain no-repeat}\n\nms q{display:block;position:relative;margin:8px 4px;padding:8px 8px 8px 20px;\n  border-left:3px solid var(--ac,var(--ver));font-style:italic;color:var(--gold2);font-size:1em}\nms q::before{content:'“';position:absolute;left:5px;top:-4px;font-size:2.1em;color:var(--ac,var(--ver));opacity:.6;font-style:normal}\n\nms wn{display:block;position:relative;margin:8px 0;padding:9px 11px 9px 15px;border-radius:5px;\n  background:rgba(120,30,12,.24);border:1px solid rgba(160,82,45,.42);color:#edc1a8;font-size:.88em;\n  box-shadow:inset 5px 0 0 var(--wrn);animation:pulseR 3.6s ease-in-out infinite}\n@keyframes pulseR{0%,100%{box-shadow:inset 5px 0 0 var(--wrn)}50%{box-shadow:inset 5px 0 0 var(--wrn),0 0 10px rgba(160,60,30,.5)}}\nms wn k{color:#f2a482;font-weight:700}ms wn k::after{content:'：'}\n\nms purse{display:flex;align-items:baseline;justify-content:center;gap:9px;margin:4px 0 10px;\n  color:#d2ab72;font-size:.86em}\nms purse big{font-size:2em;color:var(--gold2);font-weight:700;text-shadow:0 0 9px rgba(197,164,78,.45)}\n\nms roster{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0}\nms roster i{font-style:normal;font-size:.86em;color:#ecdcbb;padding:4px 11px;border-radius:5px;\n  background:rgba(0,0,0,.22);border:1px solid color-mix(in srgb,var(--ac,var(--gold)) 28%,transparent)}\nms roster i b{color:var(--gold2);font-size:.82em;margin-left:6px;font-weight:400}\n\nms details{margin:8px 0;border:1px solid color-mix(in srgb,var(--ac,var(--gold)) 26%,transparent);\n  border-radius:6px;background:rgba(0,0,0,.16);overflow:hidden}\nms summary{cursor:pointer;list-style:none;padding:9px 14px 9px 30px;position:relative;\n  color:var(--gold2);font-size:.92em;font-weight:700;letter-spacing:.03em;transition:background .2s}\nms summary::-webkit-details-marker{display:none}\nms summary::before{content:'';position:absolute;left:12px;top:50%;width:0;height:0;\n  border:5px solid transparent;border-left-color:var(--ac,var(--gold));transform:translateY(-50%);transition:transform .25s}\nms details[open]>summary::before{transform:translate(-1px,-50%) rotate(90deg)}\nms summary:hover{background:color-mix(in srgb,var(--ac,var(--gold)) 12%,transparent)}\nms summary[s]::after{content:'';position:absolute;right:13px;top:50%;width:14px;height:14px;\n  transform:translateY(-50%);background:var(--ac,var(--gold));opacity:.8;\n  -webkit-mask:var(--ic-lock) center/contain no-repeat;mask:var(--ic-lock) center/contain no-repeat}\nms details>b{display:block;padding:5px 15px 13px;color:#e0cca6;font-size:.9em}\nms details>b p{margin:.4em 0}\n\n/* progress — single 0..100 step-5 map drives bars AND rings */\nms [p=\"0\"]{--pct:0%}ms [p=\"5\"]{--pct:5%}ms [p=\"10\"]{--pct:10%}ms [p=\"15\"]{--pct:15%}\nms [p=\"20\"]{--pct:20%}ms [p=\"25\"]{--pct:25%}ms [p=\"30\"]{--pct:30%}ms [p=\"35\"]{--pct:35%}\nms [p=\"40\"]{--pct:40%}ms [p=\"45\"]{--pct:45%}ms [p=\"50\"]{--pct:50%}ms [p=\"55\"]{--pct:55%}\nms [p=\"60\"]{--pct:60%}ms [p=\"65\"]{--pct:65%}ms [p=\"70\"]{--pct:70%}ms [p=\"75\"]{--pct:75%}\nms [p=\"80\"]{--pct:80%}ms [p=\"85\"]{--pct:85%}ms [p=\"90\"]{--pct:90%}ms [p=\"95\"]{--pct:95%}\nms [p=\"100\"]{--pct:100%}\n\n/* ============================================================\n   PANEL 1 — PERSONA : heraldic, gold double-frame\n   ============================================================ */\nms pan[n=\"1\"] sec{border-width:1px 1px 1px 3px;border-left-color:var(--gold);\n  box-shadow:inset 0 0 0 1px rgba(197,164,78,.12)}\nms pan[n=\"1\"] sec>sh{--shmk:var(--ic-fleur)}\nms pan[n=\"1\"] hero{position:relative;padding-top:58px}\nms pan[n=\"1\"] hero::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);\n  width:52px;height:62px;background:var(--gold);opacity:.85;\n  -webkit-mask:var(--ic-shield) center/contain no-repeat;mask:var(--ic-shield) center/contain no-repeat}\n\n/* ============================================================\n   PANEL 2 — STUDIUM : ruled-manuscript paper, blue ink\n   ============================================================ */\nms pan[n=\"2\"] sec{background-image:repeating-linear-gradient(transparent 0 26px,rgba(90,134,176,.14) 26px 27px)}\nms pan[n=\"2\"] sec>sh{--shmk:var(--ic-book)}\nms bar{display:flex;align-items:center;gap:9px;padding:6px 2px;border-bottom:1px dashed rgba(90,134,176,.22)}\nms bar k{flex:0 0 50px;color:var(--ac);font-size:.84em;font-weight:700}ms bar k::after{content:'：'}\nms bar t{flex:1 1 auto;position:relative;height:10px;border-radius:5px;background:rgba(0,0,0,.34);\n  border:1px solid rgba(197,164,78,.26);overflow:hidden}\nms bar t::before{content:'';position:absolute;inset:0;width:var(--pct,0%);\n  background:linear-gradient(90deg,#7a5e26,var(--gold2));box-shadow:0 0 7px rgba(197,164,78,.55)}\nms bar n{flex:0 0 32px;color:var(--gold2);font-size:.8em;text-align:right}\nms bar i{flex:1 1 100%;margin-left:59px;color:#a98a64;font-size:.74em;font-style:italic;padding-top:1px}\n/* reputation rings */\nms rings{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;padding:8px 0 2px}\nms ring{position:relative;width:70px;height:70px;border-radius:50%;isolation:isolate;\n  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;\n  background:conic-gradient(var(--gold) var(--pct,0%),rgba(0,0,0,.42) 0)}\nms ring::before{content:'';position:absolute;inset:6px;z-index:-1;border-radius:50%;\n  background:radial-gradient(circle at 40% 34%,#4a3527,var(--dp2));border:1px solid rgba(197,164,78,.36)}\nms ring rn{color:#ecdcbb;font-size:.66em;line-height:1.1}\nms ring rg{color:var(--gold2);font-size:1.2em;font-weight:700;line-height:1}\nms ring rp{color:#b8946b;font-size:.56em}\nms rep{display:flex;flex-direction:column;align-items:center;gap:2px;margin:12px 0 2px;padding:11px;\n  border:1px solid var(--line);border-radius:7px;\n  background:radial-gradient(120% 100% at 50% 0,rgba(197,164,78,.14),transparent)}\nms rep k{color:var(--ver);font-size:.82em;letter-spacing:.1em;font-weight:700}\nms rep big{font-size:2.5em;color:var(--gold2);font-weight:700;line-height:1;text-shadow:0 0 15px rgba(197,164,78,.5)}\nms rep i{color:#a98a64;font-size:.72em;font-style:italic;text-align:center}\n\n/* ============================================================\n   PANEL 3 — HOMINES : portrait gallery, medallion cards\n   ============================================================ */\nms pan[n=\"3\"] sec>sh{--shmk:var(--ic-people)}\nms card{position:relative;display:block;margin:11px 0;padding:13px 14px 13px 70px;border-radius:8px;\n  border:1px solid color-mix(in srgb,var(--ac) 40%,transparent);\n  background:linear-gradient(160deg,rgba(192,138,147,.1),rgba(0,0,0,.18))}\nms card::before{content:'';position:absolute;left:14px;top:14px;width:44px;height:44px;border-radius:50%;\n  background:radial-gradient(circle at 50% 36%,#5a3f44,#2a1c1f);border:2px solid var(--ac);\n  -webkit-mask:none}\nms card::after{content:'';position:absolute;left:20px;top:18px;width:32px;height:34px;\n  background:var(--ac);opacity:.85;-webkit-mask:var(--ic-bustsingle) center/contain no-repeat;mask:var(--ic-bustsingle) center/contain no-repeat}\nms card>name{display:block;color:var(--gold2);font-size:1.06em;font-weight:700;margin-bottom:5px;letter-spacing:.03em}\nms card>name rel{float:right;font-size:.6em;font-weight:400;color:#fff;background:var(--ac);\n  padding:2px 9px;border-radius:11px;letter-spacing:.04em}\nms card details{margin-top:8px}\n\n/* ============================================================\n   PANEL 4 — MUNDUS : chronicle with timeline rail + war table\n   ============================================================ */\nms pan[n=\"4\"] sec>sh{--shmk:var(--ic-globe)}\nms ev{position:relative;display:block;margin:8px 0 8px 12px;padding:10px 12px 10px 16px;border-radius:0 7px 7px 0;\n  background:rgba(95,163,134,.12);border-left:3px solid var(--ac)}\nms ev::before{content:'';position:absolute;left:-19px;top:14px;width:13px;height:13px;border-radius:50%;\n  background:var(--ac);box-shadow:0 0 0 3px var(--dp),0 0 0 4px var(--ac)}\nms ev no{color:#8fc4ab;font-size:.74em;font-family:\"Courier New\",monospace;letter-spacing:.06em}\nms ev nm{display:block;color:var(--gold2);font-size:1em;font-weight:700;margin:1px 0 5px}\nms fac{display:flex;justify-content:space-between;gap:9px;padding:8px 2px;border-bottom:1px dashed rgba(95,163,134,.26)}\nms fac k{color:var(--gold2);font-size:.9em;font-weight:700}\nms fac k::before{content:'⚜';color:var(--ac);margin-right:6px}\nms fac s{font-size:.82em;color:#cdb086;font-style:italic;text-align:right}\n\n/* ============================================================\n   PANEL 5 — COMMERCIUM : market ledger, coin glyphs\n   ============================================================ */\nms pan[n=\"5\"] sec>sh{--shmk:var(--ic-scales)}\nms pan[n=\"5\"] row:nth-of-type(even){background:rgba(199,137,74,.08)}\nms s{text-decoration:none}\nms v s{position:relative;color:var(--gold2);font-weight:700;font-variant-numeric:tabular-nums;padding-left:18px}\nms v s::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:13px;height:13px;\n  background:radial-gradient(circle at 38% 34%,var(--gold2),#9a7320);border-radius:50%;\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 1px 2px rgba(0,0,0,.5)}\n\n/* ============================================================\n   PANEL 6 — PENSUM : decree scroll, wax-seal status chips\n   ============================================================ */\nms pan[n=\"6\"] sec>sh{--shmk:var(--ic-scroll)}\nms pan[n=\"6\"] sec{border-radius:3px 14px 3px 14px;\n  background-image:linear-gradient(180deg,rgba(176,74,66,.06),transparent)}\nms pan[n=\"6\"] row>v b{display:inline-block;color:#fbeccb;font-size:.78em;font-weight:700;letter-spacing:.04em;\n  padding:1px 10px;margin-right:5px;border-radius:11px;vertical-align:middle;\n  background:radial-gradient(120% 130% at 30% 20%,var(--ac),#6e1d00);box-shadow:inset 0 1px 1px rgba(255,255,255,.25)}\n\n/* ============================================================\n   PANEL 7 — MEMORIA : stone tablets, sandy ground\n   ============================================================ */\nms pan[n=\"7\"] sec>sh{--shmk:var(--ic-glass)}\nms pan[n=\"7\"] sec{background-image:radial-gradient(rgba(155,124,187,.12) 1px,transparent 1.4px);background-size:6px 6px}\nms scr{overflow-x:auto;margin:6px 0}\nms scr::-webkit-scrollbar{height:6px}\nms scr::-webkit-scrollbar-thumb{background:var(--ac);border-radius:6px}\nms table{width:100%;border-collapse:collapse;font-size:.78em;min-width:330px}\nms th{background:#3a2a48;color:var(--gold2);font-weight:700;\n  padding:8px 9px;border:1px solid rgba(155,124,187,.5);text-align:left;white-space:nowrap}\nms td{padding:7px 9px;border:1px solid rgba(155,124,187,.28);color:#f2e8d6;vertical-align:top;background:#241a30}\nms tr:nth-child(even) td{background:#2f2440}\nms tr:hover td{background:#3d3052;color:#fff}\n\n/* ============================================================\n   PANEL 8 — ACTIO : crossroads, large choice cards w/ banner\n   ============================================================ */\nms pan[n=\"8\"]{padding-top:0}\nms opt{position:relative;display:flex;align-items:flex-start;gap:13px;width:100%;margin:0 0 14px;\n  padding:14px 15px 14px 16px;border-radius:8px;overflow:hidden;\n  background:linear-gradient(150deg,#f2e2bd,#e2cb9c);color:var(--ink);\n  border:1px solid var(--gold);box-shadow:0 4px 10px rgba(0,0,0,.35),inset 0 0 22px rgba(180,140,70,.2);\n  transition:transform .2s,box-shadow .2s,border-color .2s}\nms opt::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.16;\n  background:var(--ac);-webkit-mask:var(--wm-swords) center/contain no-repeat;mask:var(--wm-swords) center/contain no-repeat;\n  -webkit-mask-position:right -30px center;mask-position:right -30px center}\nms opt:hover{transform:translateY(-3px);box-shadow:0 9px 20px rgba(0,0,0,.45);border-color:var(--gold2)}\nms opt rn{flex:0 0 38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;\n  background:radial-gradient(circle at 34% 28%,#cc5a36,#6e1d00);color:var(--gold2);font-weight:700;font-size:1.05em;\n  border:1px solid #54160a;box-shadow:inset 0 1px 2px rgba(255,255,255,.32),0 2px 4px rgba(0,0,0,.4)}\nms opt v{flex:1 1 auto;font-size:.98em;color:#3a2414;padding-top:4px}\nms opt v b{display:block;color:var(--ver);font-weight:700;font-size:1.06em;margin-bottom:2px}\n\nms sec>b{display:block;text-align:center;color:#a98a64;font-size:.78em;font-style:italic;margin:9px 0 2px}\n\n/* ============================================================\n   ASSET LIBRARY — nav mask icons, decoration, watermark SVGs\n   black for masks; faint baked colour for watermark backgrounds\n   ============================================================ */\nms{\n  --ic-shield:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5 21 4.5V11c0 5.5-3.8 9.6-9 11.5C6.8 20.6 3 16.5 3 11V4.5z' fill='black'/%3E%3Cpath d='M12 5v12M7 9h10' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E\");\n  --ic-book:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4.5C5.5 3 8.5 3 11 4.6V20c-2.5-1.4-5.5-1.4-8 0zM21 4.5C18.5 3 15.5 3 13 4.6V20c2.5-1.4 5.5-1.4 8 0z' fill='black'/%3E%3C/svg%3E\");\n  --ic-people:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='3.2' fill='black'/%3E%3Ccircle cx='16.5' cy='9' r='2.6' fill='black'/%3E%3Cpath d='M2.5 20c0-3.5 2.5-6 5.5-6s5.5 2.5 5.5 6zM14 20c0-2.8 1.8-5 4-5s4 1.6 4.5 4.2' fill='black'/%3E%3C/svg%3E\");\n  --ic-globe:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M12 3v18M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E\");\n  --ic-scales:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v18M6 21h12M4 6h16M12 4 4 6l-2.6 6a3.2 3.2 0 0 0 5.2 0L4 6M12 4l8 2 2.6 6a3.2 3.2 0 0 1-5.2 0L20 6' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E\");\n  --ic-scroll:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h11a2 2 0 0 1 2 2v13a3 3 0 0 1-3 3H6a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z' fill='black'/%3E%3Cpath d='M8 8h7M8 11h7M8 14h5' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E\");\n  --ic-glass:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h14M5 21h14M7 3c0 5 10 5 10 9s-10 4-10 9M17 3c0 5-10 5-10 9s10 4 10 9' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M9 18h6l-3-3z' fill='black'/%3E%3C/svg%3E\");\n  --ic-swords:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3l9 9M21 3l-9 9-7 7 2 2 7-7M3 3l4 .5L8 8M21 3l-4 .5L16 8' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E\");\n  --ic-diamond:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 22 12 12 22 2 12Z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7 17 12 12 17 7 12Z' fill='black'/%3E%3C/svg%3E\");\n  --ic-fleur:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-2 3-2 5 0 7 2-2 2-4 0-7zM12 9c-3-2-7 0-6 4 1 3 4 2 6-1 2 3 5 4 6 1 1-4-3-6-6-4zM9 22h6M12 9v13' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E\");\n  --ic-lock:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='10' width='14' height='10' rx='2' fill='black'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E\");\n  --ic-bustsingle:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 26'%3E%3Ccircle cx='12' cy='8' r='6' fill='black'/%3E%3Cpath d='M1 26c0-7 5-11 11-11s11 4 11 11z' fill='black'/%3E%3C/svg%3E\");\n  --vine:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 60'%3E%3Cpath d='M6 0v60' stroke='black' stroke-width='1.4'/%3E%3Cpath d='M6 9c4 1 5 4 5 7-3 0-5-2-5-5zM6 21c-4 1-5 4-5 7 3 0 5-2 5-5zM6 36c4 1 5 4 5 7-3 0-5-2-5-5zM6 48c-4 1-5 4-5 7 3 0 5-2 5-5z' fill='black'/%3E%3Ccircle cx='6' cy='4' r='1.7' fill='black'/%3E%3Ccircle cx='6' cy='55' r='1.7' fill='black'/%3E%3C/svg%3E\");\n  --frame:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='5' y='5' width='90' height='90' rx='3' fill='none' stroke='rgba(197,164,78,.85)' stroke-width='2'/%3E%3Cg fill='none' stroke='rgba(231,207,134,.95)' stroke-width='3'%3E%3Cpath d='M5 26V14Q5 5 14 5H26'/%3E%3Cpath d='M95 26V14Q95 5 86 5H74'/%3E%3Cpath d='M5 74V86Q5 95 14 95H26'/%3E%3Cpath d='M95 74V86Q95 95 86 95H74'/%3E%3C/g%3E%3Cg fill='rgba(231,207,134,.95)'%3E%3Ccircle cx='14' cy='14' r='3.6'/%3E%3Ccircle cx='86' cy='14' r='3.6'/%3E%3Ccircle cx='14' cy='86' r='3.6'/%3E%3Ccircle cx='86' cy='86' r='3.6'/%3E%3C/g%3E%3C/svg%3E\");\n}\n/* ---- panel watermark SVGs (faint, accent-coloured, baked) ---- */\nms{\n  --wm-shield:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cg fill='none' stroke='rgba(201,168,78,.16)' stroke-width='3'%3E%3Cpath d='M50 5 92 20V60C92 90 74 110 50 116 26 110 8 90 8 60V20Z'/%3E%3Cpath d='M50 20V104M16 44H84'/%3E%3Cpath d='M50 44 64 58 50 72 36 58Z'/%3E%3C/g%3E%3C/svg%3E\");\n  --wm-astro:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='rgba(90,134,176,.2)' stroke-width='2'%3E%3Ccircle cx='60' cy='60' r='54'/%3E%3Ccircle cx='60' cy='60' r='40'/%3E%3Ccircle cx='60' cy='60' r='24'/%3E%3Cpath d='M60 2V118M2 60H118M23 23 97 97M97 23 23 97'/%3E%3C/g%3E%3C/svg%3E\");\n  --wm-bust:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 110'%3E%3Cg fill='none' stroke='rgba(192,138,147,.22)' stroke-width='2.6'%3E%3Ccircle cx='75' cy='36' r='20'/%3E%3Cpath d='M40 104c0-22 16-36 35-36s35 14 35 36'/%3E%3Ccircle cx='32' cy='50' r='14'/%3E%3Cpath d='M8 104c0-18 11-30 24-30'/%3E%3Ccircle cx='118' cy='50' r='14'/%3E%3Cpath d='M142 104c0-18-11-30-24-30'/%3E%3C/g%3E%3C/svg%3E\");\n  --wm-compass:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Ccircle cx='60' cy='60' r='52' fill='none' stroke='rgba(95,163,134,.22)' stroke-width='2'/%3E%3Cpath d='M60 8 68 52 112 60 68 68 60 112 52 68 8 60 52 52Z' fill='rgba(95,163,134,.16)' stroke='rgba(95,163,134,.28)' stroke-width='1.5'/%3E%3Cpath d='M60 26 64 56 60 60 56 56Z' fill='rgba(95,163,134,.3)'/%3E%3C/svg%3E\");\n  --wm-scales:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='rgba(199,137,74,.22)' stroke-width='2.6'%3E%3Cpath d='M60 14V98M38 102H82M20 32H100'/%3E%3Cpath d='M20 32 8 64A14 14 0 0 0 32 64Z'/%3E%3Cpath d='M100 32 88 64A14 14 0 0 0 112 64Z'/%3E%3Ccircle cx='60' cy='14' r='5'/%3E%3C/g%3E%3C/svg%3E\");\n  --wm-scroll:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 104'%3E%3Cg fill='none' stroke='rgba(176,74,66,.22)' stroke-width='2.6'%3E%3Cpath d='M26 22H96V82A10 10 0 0 1 86 92H16A10 10 0 0 0 26 82Z'/%3E%3Cpath d='M26 22A8 8 0 0 0 18 14 8 8 0 0 0 10 22 6 6 0 0 0 16 28H26'/%3E%3Cpath d='M40 42H82M40 56H82M40 70H66'/%3E%3C/g%3E%3C/svg%3E\");\n  --wm-glass:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 120'%3E%3Cg fill='none' stroke='rgba(155,124,187,.24)' stroke-width='3'%3E%3Cpath d='M16 8H74M16 112H74'/%3E%3Cpath d='M22 12H68L46 60 68 108H22L44 60Z'/%3E%3C/g%3E%3Cpath d='M46 60 60 102H32Z' fill='rgba(155,124,187,.22)'/%3E%3C/svg%3E\");\n  --wm-swords:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='rgba(204,90,54,.24)' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M20 22 94 96M100 22 26 96'/%3E%3Cpath d='M14 16 26 28M22 14 12 24M106 16 94 28M98 14 108 24'/%3E%3C/g%3E%3Cpath d='M60 46 78 52V66C78 80 70 88 60 92 50 88 42 80 42 66V52Z' fill='rgba(204,90,54,.16)' stroke='rgba(204,90,54,.3)' stroke-width='1.5'/%3E%3C/svg%3E\");\n}\n\n\n/* [B平台无独立头像元素]\n.mb-2 > div.shrink-0.w-10.h-10.relative.bg-white.rounded-full.block.md\\:block,\n.mb-2 > div.shrink-0.relative.w-10.h-10/* .bg-gray-100\\/90.rounded-full [B平台无头像] */.rounded-full.block.md\\:block{\n  display: none !important;\n}\n*/\n\n/* ============================================================\n   FAMA SOURCE TAGS — 声望来源标记美化\n   每个维度配独立图标 + 渐变背景 + 微光效果\n   ============================================================ */\n\n/* 声望来源折叠容器特化 */\nms pan[n=\"2\"] details[data-fama] {\n  margin: 12px 0;\n  border: 1px solid rgba(90, 134, 176, .3);\n  border-radius: 8px;\n  background: linear-gradient(135deg, rgba(26, 58, 92, .18), rgba(0, 0, 0, .22));\n  overflow: hidden;\n}\n\nms pan[n=\"2\"] details[data-fama] > summary {\n  background: linear-gradient(90deg, rgba(90, 134, 176, .14), transparent);\n  border-bottom: 1px solid rgba(90, 134, 176, .22);\n}\n\nms pan[n=\"2\"] details[data-fama] > summary::before {\n  border-left-color: #5a86b0;\n}\n\nms pan[n=\"2\"] details[data-fama] > b {\n  padding: 10px 12px 16px;\n  display: block;\n}\n\n/* 声望维度标题 — 带图标的卡片式 */\nms fmsec {\n  position: relative;\n  display: block;\n  margin: 10px 0;\n  padding: 11px 14px 11px 50px;\n  border-radius: 6px;\n  overflow: hidden;\n  border: 1px solid var(--fmc, rgba(197, 164, 78, .4));\n  background: \n    radial-gradient(140% 90% at 8% 50%, var(--fmb, rgba(201, 168, 78, .16)), transparent 68%),\n    linear-gradient(120deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .12));\n  box-shadow: 0 2px 6px rgba(0, 0, 0, .3);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms fmsec:hover {\n  transform: translateX(3px);\n  box-shadow: 0 4px 12px rgba(0, 0, 0, .4), inset 0 0 20px var(--fmb, rgba(201, 168, 78, .08));\n}\n\n/* 左侧图标区 */\nms fmsec::before {\n  content: '';\n  position: absolute;\n  left: 12px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 28px;\n  height: 28px;\n  background: var(--fmi, var(--ic-diamond));\n  -webkit-mask: var(--fmi) center/contain no-repeat;\n  mask: var(--fmi) center/contain no-repeat;\n  opacity: .88;\n  filter: drop-shadow(0 0 4px var(--fmc));\n}\n\n/* 维度标题文字 */\nms fmtitle {\n  display: block;\n  color: var(--fmc, var(--gold2));\n  font-size: 1.02em;\n  font-weight: 700;\n  letter-spacing: .06em;\n  margin-bottom: 6px;\n  text-shadow: 0 1px 3px rgba(0, 0, 0, .5);\n}\n\nms fmtitle::after {\n  content: attr(lv);\n  display: inline-block;\n  margin-left: 8px;\n  padding: 1px 9px;\n  border-radius: 10px;\n  font-size: .72em;\n  font-weight: 400;\n  color: #fff;\n  background: linear-gradient(135deg, var(--fmc), color-mix(in srgb, var(--fmc) 70%, #000));\n  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .3), 0 1px 3px rgba(0, 0, 0, .4);\n}\n\n/* 来源条目 */\nms fmrow {\n  display: flex;\n  gap: 8px;\n  align-items: baseline;\n  padding: 4px 0;\n  color: #e8d6b8;\n  font-size: .88em;\n}\n\nms fmrow > k {\n  flex: 0 0 auto;\n  color: color-mix(in srgb, var(--fmc, var(--gold2)) 85%, #fff);\n  font-weight: 700;\n  font-size: .92em;\n  letter-spacing: .02em;\n}\n\nms fmrow > k::after {\n  content: '：';\n}\n\nms fmrow > v {\n  flex: 1 1 auto;\n  color: #f5e6d0;\n  line-height: 1.5;\n}\n\n/* 五个维度的独立配色 + 图标 */\n\n/* 学界 Scholastica — 蓝色学术 */\nms fmsec[dim=\"sch\"] {\n  --fmc: #6b92c4;\n  --fmb: rgba(107, 146, 196, .16);\n  --fmi: var(--fmicon-book);\n}\n\n/* 王室 Curialis — 金紫权威 */\nms fmsec[dim=\"cur\"] {\n  --fmc: #d4a857;\n  --fmb: rgba(212, 168, 87, .16);\n  --fmi: var(--fmicon-crown);\n}\n\n/* 教廷 Ecclesiastica — 银白神圣 */\nms fmsec[dim=\"ecc\"] {\n  --fmc: #c9c4b8;\n  --fmb: rgba(201, 196, 184, .16);\n  --fmi: var(--fmicon-cross);\n}\n\n/* 民间 Vulgaris — 橙褐尘世 */\nms fmsec[dim=\"vul\"] {\n  --fmc: #c88a5e;\n  --fmb: rgba(200, 138, 94, .16);\n  --fmi: var(--fmicon-people);\n}\n\n/* 异邦 Externa — 青绿远方 */\nms fmsec[dim=\"ext\"] {\n  --fmc: #6fa889;\n  --fmb: rgba(111, 168, 137, .16);\n  --fmi: var(--fmicon-compass);\n}\n\n/* ============================================================\n   FAMA ICON LIBRARY — 精致的维度图标 SVG\n   ============================================================ */\nms {\n  /* 学界 — 翻开的书页 + 羽毛笔 */\n  --fmicon-book: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='%236b92c4'%3E%3Cpath d='M4 6h24v18H4z' opacity='.3'/%3E%3Cpath d='M4 6c3-2 7-2 10 0v18c-3-2-7-2-10 0z'/%3E%3Cpath d='M28 6c-3-2-7-2-10 0v18c3-2 7-2 10 0z'/%3E%3Cpath d='M16 4v22' stroke='%236b92c4' stroke-width='1.2'/%3E%3Cpath d='M26 2l-4 8 1.5-1.8L26 10z' fill='%236b92c4' opacity='.85'/%3E%3C/g%3E%3C/svg%3E\");\n\n  /* 王室 — 三叶冠 + 宝石 */\n  --fmicon-crown: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='%23d4a857'%3E%3Cpath d='M4 22h24v4H4z'/%3E%3Cpath d='M6 22l4-14 6 8 6-8 4 14z'/%3E%3Ccircle cx='10' cy='8' r='2.4' fill='%23f5d98b'/%3E%3Ccircle cx='16' cy='4' r='2.6' fill='%23f5d98b'/%3E%3Ccircle cx='22' cy='8' r='2.4' fill='%23f5d98b'/%3E%3Cpath d='M8 24h16v2H8z' fill='%23c99740'/%3E%3C/g%3E%3C/svg%3E\");\n\n  /* 教廷 — 拉丁十字 + 光环 */\n  --fmicon-cross: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='%23c9c4b8'%3E%3Cpath d='M14 4h4v24h-4z'/%3E%3Cpath d='M8 12h16v4H8z'/%3E%3Ccircle cx='16' cy='6' r='4.5' fill='none' stroke='%23e8e3d5' stroke-width='1.2' opacity='.7'/%3E%3Cpath d='M14 4h4v2h-4zM8 12h16v2H8z' fill='%23e8e3d5'/%3E%3C/g%3E%3C/svg%3E\");\n\n  /* 民间 — 三个剪影 + 市井屋顶 */\n  --fmicon-people: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='%23c88a5e'%3E%3Ccircle cx='10' cy='9' r='3.2'/%3E%3Ccircle cx='22' cy='10' r='2.8'/%3E%3Ccircle cx='16' cy='7' r='3.6'/%3E%3Cpath d='M4 26c0-3.5 2.5-6 6-6s6 2.5 6 6z'/%3E%3Cpath d='M22 26c0-3 2-5.5 4.5-5.5S31 23 31 26z'/%3E%3Cpath d='M12 26c0-3.5 2-6 4-6s4 2.5 4 6z'/%3E%3Cpath d='M1 28h30v2H1z' fill='%23a06a48'/%3E%3C/g%3E%3C/svg%3E\");\n\n  /* 异邦 — 八向罗盘 + 远方星辰 */\n  --fmicon-compass: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='%236fa889'%3E%3Ccircle cx='16' cy='16' r='13' fill='none' stroke='%236fa889' stroke-width='1.8'/%3E%3Cpath d='M16 3l1.8 10L16 16l-1.8-3z' fill='%238fc4a8'/%3E%3Cpath d='M16 29l-1.8-10L16 16l1.8 3z' fill='%235a8c76'/%3E%3Cpath d='M3 16l10 1.8L16 16l-3-1.8z' fill='%236fa889'/%3E%3Cpath d='M29 16l-10-1.8L16 16l3 1.8z' fill='%236fa889'/%3E%3Cpath d='M7 7l7 7-1-1zM25 7l-7 7 1-1zM7 25l7-7-1 1zM25 25l-7-7 1 1z' stroke='%236fa889' stroke-width='1.2' fill='none'/%3E%3Ccircle cx='16' cy='16' r='2.5' fill='%23f5d98b'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   微动画 — 鼠标悬停时图标轻微脉冲\n   ============================================================ */\nms fmsec:hover::before {\n  animation: iconPulse .8s ease-in-out infinite;\n}\n\n@keyframes iconPulse {\n  0%, 100% {\n    transform: translateY(-50%) scale(1);\n    opacity: .88;\n  }\n  50% {\n    transform: translateY(-50%) scale(1.12);\n    opacity: 1;\n    filter: drop-shadow(0 0 8px var(--fmc));\n  }\n}\n\n/* ============================================================\n   CHECKLIST — 五要素清单专用样式\n   每个要素独立配色 + 图标 + 进度可视化\n   ============================================================ */\n\n/* 清单折叠容器 */\nms details[data-checklist] {\n  margin: 12px 0;\n  border: 1px solid rgba(90, 134, 176, .32);\n  border-radius: 8px;\n  background: linear-gradient(135deg, rgba(26, 58, 92, .12), rgba(0, 0, 0, .18));\n  overflow: hidden;\n}\n\nms details[data-checklist] > summary {\n  background: linear-gradient(90deg, rgba(90, 134, 176, .16), transparent 70%);\n  padding: 10px 14px 10px 40px;\n  color: #7ba8d4;\n  font-weight: 700;\n  letter-spacing: .08em;\n  position: relative;\n}\n\nms details[data-checklist] > summary::before {\n  content: '';\n  position: absolute;\n  left: 14px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 18px;\n  height: 18px;\n  background: #7ba8d4;\n  -webkit-mask: var(--clicon-check) center/contain no-repeat;\n  mask: var(--clicon-check) center/contain no-repeat;\n}\n\nms details[data-checklist] > b {\n  display: block;\n  padding: 8px 10px 14px;\n}\n\n/* ============================================================\n   要素卡片 clsec — 五要素各自独立\n   ============================================================ */\nms clsec {\n  position: relative;\n  display: block;\n  margin: 10px 0;\n  padding: 11px 13px 11px 46px;\n  border-radius: 7px;\n  border-left: 3px solid var(--clc, #6b92c4);\n  background: \n    linear-gradient(95deg, var(--clbg, rgba(107, 146, 196, .12)), transparent 65%),\n    rgba(0, 0, 0, .16);\n  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms clsec:hover {\n  transform: translateX(4px);\n  box-shadow: 0 4px 10px rgba(0, 0, 0, .35);\n}\n\n/* 左侧图标 */\nms clsec::before {\n  content: '';\n  position: absolute;\n  left: 12px;\n  top: 15px;\n  width: 24px;\n  height: 24px;\n  background: var(--clc);\n  -webkit-mask: var(--cli, var(--clicon-book)) center/contain no-repeat;\n  mask: var(--cli) center/contain no-repeat;\n  opacity: .85;\n  filter: drop-shadow(0 0 4px var(--clc));\n}\n\n/* 要素标题行 */\nms cltitle {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 7px;\n}\n\nms clicon {\n  display: none; /* 图标由 clsec::before 承担 */\n}\n\nms clname {\n  color: var(--clc, #6b92c4);\n  font-size: .96em;\n  font-weight: 700;\n  letter-spacing: .04em;\n}\n\nms clname i {\n  font-style: italic;\n  font-weight: 400;\n  color: color-mix(in srgb, var(--clc) 75%, #fff);\n  font-size: .88em;\n  margin-left: 4px;\n}\n\n/* ============================================================\n   进度条组件 clprog — 用于听课和辩论\n   ============================================================ */\nms clprog {\n  display: block;\n  margin: 8px 0;\n}\n\nms clbar {\n  position: relative;\n  display: flex;\n  align-items: center;\n  height: 22px;\n  border-radius: 11px;\n  background: rgba(0, 0, 0, .35);\n  border: 1px solid rgba(197, 164, 78, .28);\n  overflow: hidden;\n  padding: 0 10px;\n}\n\nms clbar::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: var(--pct, 0%);\n  background: linear-gradient(90deg, var(--clc), color-mix(in srgb, var(--clc) 70%, #fff));\n  border-radius: 11px 0 0 11px;\n  box-shadow: 0 0 8px var(--clc);\n  transition: width .4s ease;\n}\n\nms clcur {\n  position: relative;\n  z-index: 1;\n  color: #fff;\n  font-weight: 700;\n  font-size: .9em;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .7);\n}\n\nms clreq {\n  position: relative;\n  z-index: 1;\n  color: #d4c5a8;\n  font-size: .84em;\n  margin-left: 2px;\n}\n\n/* ============================================================\n   任务条目 cltask — 作业和实践的完成状态\n   ============================================================ */\nms cltask {\n  position: relative;\n  display: block;\n  padding: 6px 8px 6px 28px;\n  margin: 5px 0;\n  border-radius: 5px;\n  background: rgba(0, 0, 0, .18);\n  color: #e8d6b8;\n  font-size: .88em;\n  border-left: 2px solid var(--tsc, #9a9a9a);\n  transition: background .2s, border-color .2s;\n}\n\nms cltask::before {\n  content: '';\n  position: absolute;\n  left: 7px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 14px;\n  height: 14px;\n  border-radius: 50%;\n  background: var(--tsc, #6e6e6e);\n  box-shadow: 0 0 5px var(--tsc);\n}\n\n/* 状态代码映射 */\nms cltask[st=\"done\"] { --tsc: #5fa386; } /* 已完成 — 绿 */\nms cltask[st=\"prog\"] { --tsc: #c88a5e; } /* 进行中 — 橙 */\nms cltask[st=\"pend\"] { --tsc: #6e6e6e; } /* 未开始 — 灰 */\n\nms cltask[st=\"done\"]::before {\n  content: '✓';\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: #fff;\n  font-size: 10px;\n  font-weight: 700;\n  background: radial-gradient(circle at 35% 30%, #7fc4a6, #5fa386);\n}\n\nms cltask:hover {\n  background: rgba(0, 0, 0, .28);\n}\n\n/* ============================================================\n   证人标签 clwit — 教席背书的徽章式展示\n   ============================================================ */\nms clwit {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  margin: 4px 6px 4px 0;\n  padding: 5px 12px 5px 10px;\n  border-radius: 14px;\n  font-size: .82em;\n  color: #fff;\n  background: var(--wc, rgba(110, 110, 110, .4));\n  border: 1px solid var(--wbc, rgba(110, 110, 110, .6));\n  box-shadow: 0 2px 4px rgba(0, 0, 0, .3);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms clwit::before {\n  content: '';\n  width: 12px;\n  height: 12px;\n  background: var(--wic);\n  -webkit-mask: var(--wi) center/contain no-repeat;\n  mask: var(--wi) center/contain no-repeat;\n}\n\nms clwit:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 4px 8px rgba(0, 0, 0, .4);\n}\n\n/* 证人状态 */\nms clwit[st=\"done\"] {\n  --wc: radial-gradient(120% 110% at 30% 25%, #7fc4a6, #4a8a6e);\n  --wbc: #5fa386;\n  --wic: #e8f5ef;\n  --wi: var(--clicon-seal);\n}\n\nms clwit[st=\"avail\"] {\n  --wc: radial-gradient(120% 110% at 30% 25%, #c4a87f, #8a734a);\n  --wbc: #a68a5e;\n  --wic: #f5ede8;\n  --wi: var(--clicon-quill);\n}\n\n/* ============================================================\n   通用行 clrow — 教席、身份等静态信息\n   ============================================================ */\nms clrow {\n  display: flex;\n  gap: 8px;\n  align-items: baseline;\n  padding: 5px 0;\n  color: #e8d6b8;\n  font-size: .86em;\n  border-bottom: 1px dashed rgba(197, 164, 78, .18);\n}\n\nms clrow:last-child {\n  border-bottom: 0;\n}\n\nms clrow > k {\n  flex: 0 0 auto;\n  color: color-mix(in srgb, var(--clc) 85%, #fff);\n  font-weight: 700;\n  font-size: .92em;\n}\n\nms clrow > k::after {\n  content: '：';\n}\n\nms clrow > v {\n  flex: 1 1 auto;\n  color: #f5e6d0;\n}\n\n/* ============================================================\n   五要素配色方案 — 每个要素独立视觉标识\n   ============================================================ */\n\n/* 听课 Lectiones — 蓝色学术 */\nms clsec[type=\"lec\"] {\n  --clc: #6b92c4;\n  --clbg: rgba(107, 146, 196, .12);\n  --cli: var(--clicon-book);\n}\n\n/* 作业 Opera — 琥珀抄写 */\nms clsec[type=\"ope\"] {\n  --clc: #d4a857;\n  --clbg: rgba(212, 168, 87, .12);\n  --cli: var(--clicon-quill);\n}\n\n/* 辩论 Disputationes — 紫红论战 */\nms clsec[type=\"dis\"] {\n  --clc: #c88aa8;\n  --clbg: rgba(200, 138, 168, .12);\n  --cli: var(--clicon-debate);\n}\n\n/* 实践 Practica — 橙褐实务 */\nms clsec[type=\"pra\"] {\n  --clc: #c88a5e;\n  --clbg: rgba(200, 138, 94, .12);\n  --cli: var(--clicon-hand);\n}\n\n/* 证人 Testes — 银灰庄严 */\nms clsec[type=\"tes\"] {\n  --clc: #b8b0a0;\n  --clbg: rgba(184, 176, 160, .12);\n  --cli: var(--clicon-seal);\n}\n\n/* ============================================================\n   ICON LIBRARY — 五要素 + 辅助图标\n   ============================================================ */\nms {\n  /* 听课 — 翻开的书 */\n  --clicon-book: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4c2.5-1.5 5.5-1.5 8 0v16c-2.5-1.5-5.5-1.5-8 0zM21 4c-2.5-1.5-5.5-1.5-8 0v16c2.5-1.5 5.5-1.5 8 0z' fill='%236b92c4'/%3E%3Cpath d='M12 3v18' stroke='%236b92c4' stroke-width='1.5'/%3E%3C/svg%3E\");\n\n  /* 作业 — 羽毛笔+墨瓶 */\n  --clicon-quill: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' fill='none' stroke='%23d4a857' stroke-width='1.8'/%3E%3Ccircle cx='5' cy='19' r='2.5' fill='%23d4a857'/%3E%3Cpath d='M8 14l2 2' stroke='%23d4a857' stroke-width='1.5'/%3E%3C/svg%3E\");\n\n  /* 辩论 — 对话气泡 */\n  --clicon-debate: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h10v6H8l-2 3v-3H3z' fill='%23c88aa8'/%3E%3Cpath d='M11 12h10v6h-5l-2 3v-3h-3z' fill='%23c88aa8' opacity='.75'/%3E%3C/svg%3E\");\n\n  /* 实践 — 手持工具 */\n  --clicon-hand: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 17v-6M12 17v-8M15 17V7M18 17v-4' stroke='%23c88a5e' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M6 21h16v2H6z' fill='%23c88a5e'/%3E%3C/svg%3E\");\n\n  /* 证人 — 蜡封印 */\n  --clicon-seal: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='%23b8b0a0'/%3E%3Cpath d='M12 6l2 4h4l-3 3 1 4-4-2-4 2 1-4-3-3h4z' fill='%23f5ede8'/%3E%3C/svg%3E\");\n\n  /* 清单总图标 — 勾选框 */\n  --clicon-check: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='3' fill='none' stroke='%237ba8d4' stroke-width='2'/%3E%3Cpath d='M7 12l4 4 6-8' fill='none' stroke='%237ba8d4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   微动画 — 悬停时图标轻微旋转\n   ============================================================ */\nms clsec:hover::before {\n  animation: iconRotate .6s ease-in-out;\n}\n\n@keyframes iconRotate {\n  0%, 100% {\n    transform: rotate(0deg);\n  }\n  50% {\n    transform: rotate(8deg) scale(1.08);\n  }\n}\n\n/* ============================================================\n   PANEL 4 — MUNDUS : 历史编年与世界线推演\n   三层叙事 + 势力图谱 + 偏差度可视化\n   ============================================================ */\n\n/* ============================================================\n   历史事件卡 evcard — 可展开的编年体\n   ============================================================ */\nms sec[data-event] {\n  background-image: \n    repeating-linear-gradient(\n      transparent 0 28px,\n      rgba(95, 163, 134, .08) 28px 29px\n    );\n}\n\nms evcard {\n  position: relative;\n  display: block;\n  margin: 14px 0;\n  border-radius: 8px;\n  border: 1px solid color-mix(in srgb, var(--ac) 40%, transparent);\n  background: \n    linear-gradient(135deg, rgba(95, 163, 134, .1), rgba(0, 0, 0, .2)),\n    rgba(20, 14, 10, .85);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, .35);\n  overflow: hidden;\n}\n\n/* 事件头部 */\nms evhead {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 12px 14px;\n  background: linear-gradient(95deg, rgba(95, 163, 134, .18), transparent 70%);\n  border-bottom: 1px solid rgba(95, 163, 134, .32);\n}\n\nms evno {\n  flex: 0 0 auto;\n  color: #8fc4ab;\n  font-size: .74em;\n  font-family: \"Courier New\", monospace;\n  letter-spacing: .06em;\n  padding: 3px 8px;\n  border-radius: 4px;\n  background: rgba(0, 0, 0, .3);\n  border: 1px solid rgba(143, 196, 171, .4);\n}\n\nms evname {\n  flex: 1 1 auto;\n  color: var(--gold2);\n  font-size: 1.08em;\n  font-weight: 700;\n  letter-spacing: .04em;\n}\n\nms evscale {\n  flex: 0 0 auto;\n  padding: 4px 11px;\n  border-radius: 12px;\n  font-size: .78em;\n  font-weight: 700;\n  color: #fff;\n  background: var(--lvc, #6e6e6e);\n  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .3), 0 2px 4px rgba(0, 0, 0, .4);\n}\n\nms evscale::before {\n  content: attr(lv) ' · ';\n  opacity: .85;\n}\n\n/* L等级配色 */\nms evcard[scale=\"L1\"] { --lvc: #7a8a9a; }\nms evcard[scale=\"L2\"] { --lvc: #8a9a7a; }\nms evcard[scale=\"L3\"] { --lvc: #c88a5e; }\nms evcard[scale=\"L4\"] { --lvc: #c87a5e; }\nms evcard[scale=\"L5\"] { --lvc: #b04a42; }\n\n/* ============================================================\n   三层叙事 evlayer — 渐进式信息披露\n   ============================================================ */\nms evlayer {\n  position: relative;\n  display: block;\n  margin: 10px 12px;\n  padding: 12px 14px 12px 18px;\n  border-radius: 6px;\n  border-left: 3px solid var(--layc, #6fa889);\n  background: \n    linear-gradient(95deg, var(--layb, rgba(111, 168, 137, .08)), transparent 65%),\n    rgba(0, 0, 0, .16);\n}\n\nms layertitle {\n  display: block;\n  color: var(--layc, #8fc4ab);\n  font-size: .92em;\n  font-weight: 700;\n  letter-spacing: .08em;\n  margin-bottom: 8px;\n  padding-bottom: 5px;\n  border-bottom: 1px dashed rgba(197, 164, 78, .22);\n}\n\nms layertitle::before {\n  content: '';\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  margin-right: 6px;\n  background: var(--layc);\n  -webkit-mask: var(--layi, var(--ic-globe)) center/contain no-repeat;\n  mask: var(--layi) center/contain no-repeat;\n  vertical-align: middle;\n}\n\n/* 三层配色 */\nms evlayer[type=\"hist\"] {\n  --layc: #8a9aaa;\n  --layb: rgba(138, 154, 170, .08);\n  --layi: var(--layicon-scroll);\n}\n\nms evlayer[type=\"paris\"] {\n  --layc: #c88a5e;\n  --layb: rgba(200, 138, 94, .08);\n  --layi: var(--layicon-city);\n}\n\nms evlayer[type=\"schola\"] {\n  --layc: #6b92c4;\n  --layb: rgba(107, 146, 196, .08);\n  --layi: var(--layicon-book);\n}\n\n/* ============================================================\n   反应条目 evreact — 各方势力的具体反应\n   ============================================================ */\nms evreact {\n  display: block;\n  margin: 6px 0 0;\n}\n\nms reactitem {\n  position: relative;\n  display: flex;\n  gap: 10px;\n  align-items: flex-start;\n  padding: 7px 0 7px 32px;\n  margin: 5px 0;\n  color: #e8d6b8;\n  font-size: .88em;\n  line-height: 1.6;\n}\n\nms reactitem::before {\n  content: '';\n  position: absolute;\n  left: 6px;\n  top: 9px;\n  width: 18px;\n  height: 18px;\n  background: var(--layc, #8fc4ab);\n  -webkit-mask: var(--ri) center/contain no-repeat;\n  mask: var(--ri) center/contain no-repeat;\n  opacity: .8;\n}\n\nms ricon {\n  display: none; /* 图标由 reactitem::before 承担 */\n}\n\nms rcontent {\n  flex: 1 1 auto;\n  color: #f0e2c4;\n}\n\n/* 反应图标映射 */\nms reactitem:has(ricon[type=\"bell\"])::before { --ri: var(--reacticon-bell); }\nms reactitem:has(ricon[type=\"bishop\"])::before { --ri: var(--reacticon-bishop); }\nms reactitem:has(ricon[type=\"master\"])::before { --ri: var(--reacticon-master); }\nms reactitem:has(ricon[type=\"student\"])::before { --ri: var(--reacticon-student); }\nms reactitem:has(ricon[type=\"king\"])::before { --ri: var(--reacticon-crown); }\nms reactitem:has(ricon[type=\"merchant\"])::before { --ri: var(--reacticon-coin); }\n\n/* ============================================================\n   经济影响标签 eveconomy\n   ============================================================ */\nms eveconomy {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin: 10px 12px 8px;\n  padding-top: 8px;\n  border-top: 1px dashed rgba(197, 164, 78, .18);\n}\n\nms ecotag {\n  display: inline-flex;\n  align-items: center;\n  gap: 5px;\n  padding: 4px 10px;\n  border-radius: 12px;\n  font-size: .78em;\n  color: #f5e6d0;\n  background: linear-gradient(120deg, rgba(199, 137, 74, .3), rgba(160, 82, 45, .2));\n  border: 1px solid rgba(199, 137, 74, .5);\n}\n\nms ecotag::before {\n  content: '⚖';\n  color: var(--gold2);\n  font-size: 1.1em;\n}\n\n/* ============================================================\n   巴黎城快照 snapshot — 紧凑的状态卡片\n   ============================================================ */\nms snapshot {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 10px;\n  margin: 6px 0;\n}\n\nms snapitem {\n  position: relative;\n  display: block;\n  padding: 10px 12px 10px 38px;\n  border-radius: 6px;\n  background: \n    linear-gradient(120deg, rgba(95, 163, 134, .12), rgba(0, 0, 0, .18));\n  border: 1px solid rgba(95, 163, 134, .28);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms snapitem::before {\n  content: '';\n  position: absolute;\n  left: 10px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 20px;\n  height: 20px;\n  background: var(--ac);\n  -webkit-mask: var(--si) center/contain no-repeat;\n  mask: var(--si) center/contain no-repeat;\n  opacity: .85;\n}\n\nms snapitem:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 4px 10px rgba(0, 0, 0, .35);\n}\n\nms snapitem k {\n  display: block;\n  color: #8fc4ab;\n  font-size: .82em;\n  font-weight: 700;\n  margin-bottom: 3px;\n}\n\nms snapitem v {\n  display: block;\n  color: #f0e2c4;\n  font-size: .88em;\n  line-height: 1.4;\n}\n\n/* 快照图标映射 */\nms snapitem[icon=\"schola\"] { --si: var(--ic-book); }\nms snapitem[icon=\"church\"] { --si: var(--layicon-cross); }\nms snapitem[icon=\"coin\"] { --si: var(--reacticon-coin); }\nms snapitem[icon=\"mood\"] { --si: var(--reacticon-bell); }\n\n/* ============================================================\n   势力图谱 fac — 带立场色彩的势力卡\n   ============================================================ */\nms fac {\n  position: relative;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 10px;\n  padding: 9px 12px 9px 18px;\n  margin: 6px 0;\n  border-radius: 6px;\n  border-left: 3px solid var(--fstc, #8fc4ab);\n  background: \n    linear-gradient(95deg, var(--fstb, rgba(143, 196, 171, .08)), transparent 70%),\n    rgba(0, 0, 0, .16);\n  transition: transform .2s;\n}\n\nms fac:hover {\n  transform: translateX(4px);\n}\n\nms fac k {\n  flex: 1 1 auto;\n  color: var(--gold2);\n  font-size: .92em;\n  font-weight: 700;\n}\n\nms fac k::before {\n  content: '⚜';\n  color: var(--fstc);\n  margin-right: 7px;\n  font-size: 1.1em;\n}\n\nms fac s {\n  flex: 0 0 auto;\n  font-size: .84em;\n  color: #d4c5a8;\n  font-style: italic;\n  text-align: right;\n}\n\n/* 势力立场配色 */\nms fac[stance=\"ally\"] { --fstc: #5fa386; --fstb: rgba(95, 163, 134, .12); }\nms fac[stance=\"neutral\"] { --fstc: #c88a5e; --fstb: rgba(200, 138, 94, .08); }\nms fac[stance=\"tense\"] { --fstc: #c87a5e; --fstb: rgba(200, 122, 94, .1); }\nms fac[stance=\"hostile\"] { --fstc: #b04a42; --fstb: rgba(176, 74, 66, .12); }\n\n/* ============================================================\n   世界线推演 devtrack — Causarum 偏差度可视化\n   ============================================================ */\nms sec[data-causarum] {\n  background: \n    radial-gradient(circle at 50% 0, rgba(155, 124, 187, .12), transparent 60%),\n    rgba(20, 14, 10, .9);\n  border: 1px solid rgba(155, 124, 187, .32);\n}\n\nms devtrack {\n  position: relative;\n  display: block;\n  padding: 14px 16px;\n}\n\n/* 当前阶段指示 */\nms devphase {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 16px;\n  padding: 10px 14px;\n  border-radius: 8px;\n  background: linear-gradient(120deg, rgba(155, 124, 187, .2), rgba(0, 0, 0, .25));\n  border: 1px solid rgba(155, 124, 187, .4);\n}\n\nms picon {\n  display: block;\n  width: 28px;\n  height: 28px;\n  background: var(--ac);\n  -webkit-mask: var(--devicon) center/contain no-repeat;\n  mask: var(--devicon) center/contain no-repeat;\n}\n\nms pname {\n  flex: 1 1 auto;\n  color: #c9b8d4;\n  font-size: 1.02em;\n  font-weight: 700;\n  letter-spacing: .06em;\n}\n\n/* 偏差度刻度尺 */\nms devmeter {\n  position: relative;\n  display: block;\n  height: 12px;\n  margin: 20px 0 26px;\n  border-radius: 6px;\n  background: rgba(0, 0, 0, .4);\n  border: 1px solid rgba(197, 164, 78, .28);\n  overflow: hidden;\n}\n\nms devmeter::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: var(--dev, 0%);\n  background: linear-gradient(90deg, #5fa386, #c88a5e 50%, #b04a42);\n  transition: width .6s ease;\n}\n\nms devlabel {\n  position: absolute;\n  top: 18px;\n  font-size: .72em;\n  color: #a98a64;\n  white-space: nowrap;\n  transform: translateX(-50%);\n}\n\nms devlabel[pos=\"0\"] { left: 8%; }\nms devlabel[pos=\"33\"] { left: 50%; }\nms devlabel[pos=\"66\"] { left: 92%; }\n\n/* 偏差阶段配色 */\nms devtrack[phase=\"stable\"] { --devicon: var(--devicon-wheel); --dev: 15%; }\nms devtrack[phase=\"drift\"] { --devicon: var(--devicon-wave); --dev: 50%; }\nms devtrack[phase=\"chaos\"] { --devicon: var(--devicon-storm); --dev: 85%; }\n\n/* 偏差事件列表 */\nms devlist {\n  display: block;\n  margin-top: 14px;\n}\n\nms devitem {\n  position: relative;\n  display: flex;\n  gap: 10px;\n  align-items: flex-start;\n  padding: 8px 10px 8px 28px;\n  margin: 6px 0;\n  border-radius: 5px;\n  background: rgba(0, 0, 0, .18);\n  border-left: 2px solid var(--dlvc, #9b7cbb);\n}\n\nms devitem::before {\n  content: '';\n  position: absolute;\n  left: 8px;\n  top: 10px;\n  width: 12px;\n  height: 12px;\n  border-radius: 50%;\n  background: var(--dlvc);\n  box-shadow: 0 0 6px var(--dlvc);\n}\n\nms devitem[lv=\"L3\"] { --dlvc: #c88a5e; }\nms devitem[lv=\"L4\"] { --dlvc: #c87a5e; }\nms devitem[lv=\"L5\"] { --dlvc: #b04a42; }\n\nms devtag {\n  flex: 0 0 auto;\n  padding: 2px 8px;\n  border-radius: 10px;\n  font-size: .74em;\n  color: #fff;\n  background: var(--dlvc);\n}\n\nms devcontent {\n  flex: 1 1 auto;\n  color: #e8d6b8;\n  font-size: .86em;\n  line-height: 1.5;\n}\n\n/* ============================================================\n   ICON LIBRARY — Panel 4 专用图标\n   ============================================================ */\nms {\n  /* 层级图标 */\n  --layicon-scroll: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h11a2 2 0 0 1 2 2v13a3 3 0 0 1-3 3H6a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z' fill='%238a9aaa'/%3E%3Cpath d='M8 8h7M8 11h7M8 14h5' stroke='%23f5e6d0' stroke-width='1.3'/%3E%3C/svg%3E\");\n  \n  --layicon-city: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 20h4V8h4v12h4V4h6v16' fill='none' stroke='%23c88a5e' stroke-width='1.8'/%3E%3Cpath d='M1 22h22' stroke='%23c88a5e' stroke-width='2'/%3E%3C/svg%3E\");\n  \n  --layicon-cross: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v20h-4z' fill='%23c9c4b8'/%3E%3Cpath d='M6 10h12v4H6z' fill='%23c9c4b8'/%3E%3C/svg%3E\");\n\n  /* 反应图标 */\n  --reacticon-bell: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7v4l-2 2v2h18v-2l-2-2V9a7 7 0 0 0-7-7zM10 20a2 2 0 1 0 4 0' fill='%23c88a5e'/%3E%3C/svg%3E\");\n  \n  --reacticon-bishop: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l-3 6h6z' fill='%23c9c4b8'/%3E%3Cpath d='M9 8v6h6V8z' fill='%23c9c4b8'/%3E%3Cpath d='M7 20h10v2H7z' fill='%23c9c4b8'/%3E%3Cpath d='M8 14h8v6H8z' fill='%23e8e3d5'/%3E%3C/svg%3E\");\n  \n  --reacticon-master: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4c2.5-1.5 5.5-1.5 8 0v16c-2.5-1.5-5.5-1.5-8 0zM21 4c-2.5-1.5-5.5-1.5-8 0v16c2.5-1.5 5.5-1.5 8 0z' fill='%236b92c4'/%3E%3C/svg%3E\");\n  \n  --reacticon-student: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='%236b92c4'/%3E%3Cpath d='M6 20c0-4 2.5-7 6-7s6 3 6 7z' fill='%236b92c4'/%3E%3C/svg%3E\");\n  \n  --reacticon-crown: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 18h16v2H4zM6 18l4-12 2 6 2-6 4 12z' fill='%23d4a857'/%3E%3C/svg%3E\");\n  \n  --reacticon-coin: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='%23c7894a'/%3E%3Cpath d='M12 6v12M8 9h8M8 15h8' stroke='%23f5e6d0' stroke-width='1.5'/%3E%3C/svg%3E\");\n\n  /* 偏差阶段图标 */\n  --devicon-wheel: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%239b7cbb' stroke-width='2'/%3E%3Cpath d='M12 3v18M3 12h18M7 7l10 10M17 7L7 17' stroke='%239b7cbb' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%239b7cbb'/%3E%3C/svg%3E\");\n  \n  --devicon-wave: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12c3-4 6-4 9 0s6 4 9 0' fill='none' stroke='%239b7cbb' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M2 8c3-4 6-4 9 0s6 4 9 0M2 16c3-4 6-4 9 0s6 4 9 0' fill='none' stroke='%239b7cbb' stroke-width='1.5' stroke-linecap='round' opacity='.6'/%3E%3C/svg%3E\");\n  \n  --devicon-storm: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L7 12h6l-6 10 12-12h-6z' fill='%239b7cbb'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   PANEL 1 — PERSONA : 角色核心 + 财产 + 体力\n   联动 Pecunia + Vita 协议\n   ============================================================ */\n\n/* ============================================================\n   钱袋 purse — 三级货币可视化\n   ============================================================ */\nms sec[data-pecunia] {\n  background-image: \n    radial-gradient(circle at 8% 18%, rgba(201, 168, 78, .12), transparent 45%);\n}\n\nms purse {\n  display: flex;\n  justify-content: space-around;\n  gap: 12px;\n  margin: 12px 0;\n  padding: 14px 10px;\n  border-radius: 8px;\n  background: \n    linear-gradient(135deg, rgba(197, 164, 78, .08), rgba(0, 0, 0, .2)),\n    rgba(20, 14, 10, .85);\n  border: 1px solid rgba(197, 164, 78, .35);\n  box-shadow: inset 0 0 20px rgba(80, 50, 20, .15);\n}\n\nms coin {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 6px;\n  flex: 1 1 0;\n  padding: 10px 8px;\n  border-radius: 6px;\n  background: radial-gradient(circle at 50% 30%, var(--coinc), color-mix(in srgb, var(--coinc) 60%, #000));\n  border: 1px solid color-mix(in srgb, var(--coinc) 70%, #000);\n  box-shadow: \n    0 3px 8px rgba(0, 0, 0, .4),\n    inset 0 1px 2px rgba(255, 255, 255, .3);\n}\n\nms coin::before {\n  content: '';\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n  background: radial-gradient(circle at 38% 34%, var(--coinc), color-mix(in srgb, var(--coinc) 70%, #000));\n  border: 2px solid color-mix(in srgb, var(--coinc) 85%, #fff);\n  box-shadow: \n    inset 0 0 0 1px rgba(255, 255, 255, .4),\n    0 2px 5px rgba(0, 0, 0, .5);\n}\n\nms cname {\n  color: #f5e6d0;\n  font-size: .78em;\n  font-weight: 700;\n  letter-spacing: .04em;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n\nms cval {\n  color: #fff;\n  font-size: 1.5em;\n  font-weight: 700;\n  line-height: 1;\n  text-shadow: 0 2px 4px rgba(0, 0, 0, .7);\n}\n\n/* 三级货币配色 */\nms coin[tier=\"livre\"] { --coinc: #d4a857; } /* 金色利弗尔 */\nms coin[tier=\"sou\"] { --coinc: #c0c0c0; }   /* 银色苏 */\nms coin[tier=\"denier\"] { --coinc: #cd7f32; } /* 铜色德尼耶 */\n\n/* 等值换算 */\nms conversion {\n  display: block;\n  text-align: center;\n  margin: 10px 0 4px;\n  color: #b8946b;\n  font-size: .82em;\n  font-style: italic;\n}\n\nms conversion big {\n  color: var(--gold2);\n  font-size: 1.3em;\n  font-weight: 700;\n  margin: 0 4px;\n}\n\n/* ============================================================\n   借贷警示 debt — Pecunia 信贷联动\n   ============================================================ */\nms debt {\n  position: relative;\n  display: block;\n  margin: 12px 0 8px;\n  padding: 11px 14px 11px 46px;\n  border-radius: 7px;\n  border-left: 4px solid var(--dstc, #a0522d);\n  background: \n    linear-gradient(95deg, var(--dstb, rgba(160, 82, 45, .16)), transparent 65%),\n    rgba(20, 12, 6, .85);\n  box-shadow: \n    inset 5px 0 0 var(--dstc),\n    0 2px 6px rgba(0, 0, 0, .35);\n  animation: debtPulse 3s ease-in-out infinite;\n}\n\n@keyframes debtPulse {\n  0%, 100% {\n    box-shadow: inset 5px 0 0 var(--dstc), 0 2px 6px rgba(0, 0, 0, .35);\n  }\n  50% {\n    box-shadow: inset 5px 0 0 var(--dstc), 0 0 12px rgba(160, 60, 30, .5);\n  }\n}\n\nms debt::before {\n  content: '';\n  position: absolute;\n  left: 12px;\n  top: 14px;\n  width: 24px;\n  height: 24px;\n  background: var(--dstc);\n  -webkit-mask: var(--debticon) center/contain no-repeat;\n  mask: var(--debticon) center/contain no-repeat;\n  opacity: .9;\n}\n\nms dtitle {\n  display: block;\n  color: #f2a482;\n  font-size: .9em;\n  font-weight: 700;\n  letter-spacing: .06em;\n  margin-bottom: 6px;\n}\n\nms ditem {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: baseline;\n  padding: 5px 0;\n  color: #edc1a8;\n  font-size: .86em;\n  border-bottom: 1px dashed rgba(160, 82, 45, .28);\n}\n\nms ditem:last-child {\n  border-bottom: 0;\n}\n\nms dcreditor {\n  flex: 0 0 auto;\n  color: #f5d6c8;\n  font-weight: 700;\n}\n\nms dcreditor::after {\n  content: '：';\n}\n\nms damount {\n  flex: 1 1 auto;\n  color: #f2a482;\n}\n\nms ddue {\n  flex: 0 0 100%;\n  color: #d4a890;\n  font-size: .9em;\n  font-style: italic;\n  margin-top: 2px;\n}\n\n/* 借贷状态配色 */\nms debt[st=\"safe\"] { --dstc: #c88a5e; --dstb: rgba(200, 138, 94, .12); }\nms debt[st=\"warn\"] { --dstc: #c87a5e; --dstb: rgba(200, 122, 94, .14); }\nms debt[st=\"danger\"] { --dstc: #b04a42; --dstb: rgba(176, 74, 66, .18); }\n\n/* ============================================================\n   持有物 inventory — 紧凑标签式展示\n   ============================================================ */\nms inventory {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin: 8px 0;\n}\n\nms invitem {\n  position: relative;\n  display: inline-flex;\n  flex-direction: column;\n  gap: 3px;\n  padding: 8px 11px 8px 36px;\n  border-radius: 6px;\n  background: \n    linear-gradient(120deg, var(--itc, rgba(197, 164, 78, .12)), rgba(0, 0, 0, .18));\n  border: 1px solid color-mix(in srgb, var(--itc, var(--gold)) 40%, transparent);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms invitem::before {\n  content: '';\n  position: absolute;\n  left: 9px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 20px;\n  height: 20px;\n  background: var(--iti, var(--invicon-generic));\n  -webkit-mask: var(--iti) center/contain no-repeat;\n  mask: var(--iti) center/contain no-repeat;\n  opacity: .85;\n}\n\nms invitem:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 4px 10px rgba(0, 0, 0, .4);\n}\n\nms iname {\n  color: var(--gold2);\n  font-size: .88em;\n  font-weight: 700;\n  line-height: 1.2;\n}\n\nms iutil {\n  color: #d4c5a8;\n  font-size: .74em;\n  line-height: 1.3;\n  font-style: italic;\n}\n\n/* 物品类型配色 + 图标 */\nms invitem[type=\"book\"] { \n  --itc: rgba(107, 146, 196, .14);\n  --iti: var(--invicon-book);\n}\nms invitem[type=\"tool\"] { \n  --itc: rgba(200, 138, 94, .14);\n  --iti: var(--invicon-tool);\n}\nms invitem[type=\"cloth\"] { \n  --itc: rgba(184, 176, 160, .14);\n  --iti: var(--invicon-cloth);\n}\nms invitem[type=\"relic\"] { \n  --itc: rgba(197, 164, 78, .18);\n  --iti: var(--invicon-relic);\n}\nms invitem[type=\"consume\"] { \n  --itc: rgba(95, 163, 134, .14);\n  --iti: var(--invicon-potion);\n}\nms invitem[type=\"weapon\"] { \n  --itc: rgba(176, 74, 66, .14);\n  --iti: var(--invicon-sword);\n}\n\n/* ============================================================\n   体力条 vitbar — Vita 模块联动\n   ============================================================ */\nms sec[data-vita] {\n  background-image: \n    linear-gradient(135deg, rgba(139, 37, 0, .08), transparent 60%);\n  border-left: 3px solid var(--ver);\n}\n\nms vitbar {\n  display: block;\n  margin: 10px 0;\n}\n\nms vnum {\n  display: block;\n  text-align: center;\n  color: #e8d6b8;\n  font-size: .92em;\n  margin-bottom: 8px;\n}\n\nms vcur {\n  color: var(--gold2);\n  font-size: 1.3em;\n  font-weight: 700;\n}\n\nms vmax {\n  color: #b8946b;\n}\n\nms vgauge {\n  position: relative;\n  display: block;\n  height: 18px;\n  border-radius: 9px;\n  background: rgba(0, 0, 0, .4);\n  border: 1px solid rgba(197, 164, 78, .3);\n  overflow: hidden;\n  margin-bottom: 8px;\n}\n\nms vgauge::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: var(--v, 100%);\n  background: linear-gradient(90deg, var(--vgc), color-mix(in srgb, var(--vgc) 70%, #fff));\n  border-radius: 9px 0 0 9px;\n  box-shadow: 0 0 10px var(--vgc);\n  transition: width .4s ease;\n}\n\n/* 体力状态配色 */\nms vgauge:has(~ vstate[st=\"full\"]) { --vgc: #5fa386; }\nms vgauge:has(~ vstate[st=\"good\"]) { --vgc: #7fc4a6; }\nms vgauge:has(~ vstate[st=\"fair\"]) { --vgc: #c88a5e; }\nms vgauge:has(~ vstate[st=\"tired\"]) { --vgc: #c87a5e; }\nms vgauge:has(~ vstate[st=\"weak\"]) { --vgc: #b04a42; }\n\nms vstate {\n  display: block;\n  text-align: center;\n  padding: 5px;\n  border-radius: 5px;\n  font-size: .84em;\n  font-weight: 700;\n  color: #fff;\n  background: var(--vgc);\n  box-shadow: 0 2px 5px rgba(0, 0, 0, .3);\n}\n\n/* 体力修正项 */\nms vitmod {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n  margin: 10px 0 4px;\n}\n\nms vmoditem {\n  display: inline-flex;\n  align-items: center;\n  gap: 5px;\n  padding: 4px 10px;\n  border-radius: 12px;\n  font-size: .76em;\n  color: #fff;\n  background: var(--vmc);\n  box-shadow: 0 2px 4px rgba(0, 0, 0, .3);\n}\n\nms vmoditem::before {\n  content: '';\n  width: 10px;\n  height: 10px;\n  background: #fff;\n  border-radius: 50%;\n}\n\nms vmoditem[type=\"buff\"] { --vmc: #5fa386; }\nms vmoditem[type=\"debuff\"] { --vmc: #b04a42; }\n\n/* ============================================================\n   ICON LIBRARY — Panel 1 专用图标\n   ============================================================ */\nms {\n  /* 借贷警示图标 */\n  --debticon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L2 7v6c0 6 4 11 10 13 6-2 10-7 10-13V7z' fill='%23a0522d'/%3E%3Cpath d='M11 7h2v7h-2zM11 16h2v2h-2z' fill='%23f5e6d0'/%3E%3C/svg%3E\");\n\n  /* 持有物类型图标 */\n  --invicon-book: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z' fill='%236b92c4'/%3E%3Cpath d='M8 8h8M8 11h8M8 14h5' stroke='%23f5e6d0' stroke-width='1.2'/%3E%3C/svg%3E\");\n  \n  --invicon-tool: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' fill='none' stroke='%23c88a5e' stroke-width='2'/%3E%3Ccircle cx='5' cy='19' r='2' fill='%23c88a5e'/%3E%3C/svg%3E\");\n  \n  --invicon-cloth: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h12l3 8v8H3v-8z' fill='%23b8b0a0'/%3E%3Cpath d='M8 4l1 8M16 4l-1 8M12 4v8' stroke='%23f5e6d0' stroke-width='1.5'/%3E%3C/svg%3E\");\n  \n  --invicon-relic: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l-3 6h6z' fill='%23d4a857'/%3E%3Cpath d='M9 8v6h6V8z' fill='%23d4a857'/%3E%3Cpath d='M7 20h10v2H7z' fill='%23d4a857'/%3E%3Cpath d='M8 14h8v6H8z' fill='%23f5d98b'/%3E%3C/svg%3E\");\n  \n  --invicon-potion: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2h6v4H9z' fill='%235fa386'/%3E%3Cpath d='M8 6h8l-2 14H10z' fill='%235fa386'/%3E%3Cpath d='M10 10h4v6h-4z' fill='%237fc4a6' opacity='.7'/%3E%3C/svg%3E\");\n  \n  --invicon-sword: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' fill='none' stroke='%23b04a42' stroke-width='2.5'/%3E%3Cpath d='M5 17l2 2' stroke='%23b04a42' stroke-width='2'/%3E%3C/svg%3E\");\n  \n  --invicon-generic: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' fill='%23c5a44e'/%3E%3Cpath d='M8 12h8M12 8v8' stroke='%23f5e6d0' stroke-width='2'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   PANEL 5 — COMMERCIUM : 巴黎经济 + 借贷 + 结算\n   对接 Pecunia 协议，紧凑实用\n   ============================================================ */\n\n/* ============================================================\n   市价速览 pricegrid — 常用商品快速定位\n   ============================================================ */\nms pricegrid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));\n  gap: 10px;\n  margin: 10px 0;\n}\n\nms pricecard {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 5px;\n  padding: 10px 8px;\n  border-radius: 6px;\n  background: \n    radial-gradient(circle at 50% 25%, var(--pcc, rgba(199, 137, 74, .12)), rgba(0, 0, 0, .2));\n  border: 1px solid color-mix(in srgb, var(--pcc, var(--ac)) 40%, transparent);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms pricecard:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 4px 10px rgba(0, 0, 0, .4);\n}\n\nms pricecard::before {\n  content: '';\n  width: 24px;\n  height: 24px;\n  background: var(--pci, var(--priceicon-coin));\n  -webkit-mask: var(--pci) center/contain no-repeat;\n  mask: var(--pci) center/contain no-repeat;\n  opacity: .85;\n}\n\nms pname {\n  color: #e8d6b8;\n  font-size: .78em;\n  font-weight: 700;\n  text-align: center;\n  line-height: 1.2;\n}\n\nms pval {\n  color: var(--gold2);\n  font-size: .92em;\n  font-weight: 700;\n}\n\n/* 价格档位配色 */\nms pricecard[tier=\"low\"] { \n  --pcc: rgba(200, 138, 94, .10);\n  --pci: var(--priceicon-bread);\n}\nms pricecard[tier=\"mid\"] { \n  --pcc: rgba(197, 164, 78, .12);\n  --pci: var(--priceicon-quill);\n}\nms pricecard[tier=\"high\"] { \n  --pcc: rgba(212, 168, 87, .14);\n  --pci: var(--priceicon-gem);\n}\n\n/* ============================================================\n   价格行 prow — 统一格式，紧凑排版\n   ============================================================ */\nms prow {\n  display: flex;\n  justify-content: space-between;\n  align-items: baseline;\n  gap: 10px;\n  padding: 5px 2px;\n  border-bottom: 1px dashed rgba(199, 137, 74, .18);\n  font-size: .88em;\n}\n\nms prow:last-child {\n  border-bottom: 0;\n}\n\nms prow k {\n  flex: 1 1 auto;\n  color: #d4c5a8;\n  font-weight: 700;\n}\n\nms prow v {\n  flex: 0 0 auto;\n  color: #f0e2c4;\n  text-align: right;\n  white-space: nowrap;\n}\n\nms prow v s {\n  position: relative;\n  color: var(--gold2);\n  font-weight: 700;\n  padding-left: 16px;\n}\n\nms prow v s::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 11px;\n  height: 11px;\n  border-radius: 50%;\n  background: radial-gradient(circle at 38% 34%, var(--gold2), #9a7320);\n  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4), 0 1px 2px rgba(0, 0, 0, .5);\n}\n\n/* ============================================================\n   物价扰动 disturb — 突出显示市场波动\n   ============================================================ */\nms disturb {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 12px 10px 40px;\n  margin: 8px 0;\n  border-radius: 6px;\n  border-left: 3px solid var(--dtc, #c88a5e);\n  background: \n    linear-gradient(95deg, var(--dtb, rgba(200, 138, 94, .12)), transparent 70%),\n    rgba(0, 0, 0, .18);\n  animation: disturbPulse 2.8s ease-in-out infinite;\n}\n\n@keyframes disturbPulse {\n  0%, 100% {\n    box-shadow: 0 2px 5px rgba(0, 0, 0, .3);\n  }\n  50% {\n    box-shadow: 0 0 12px rgba(200, 138, 94, .4);\n  }\n}\n\nms disturb::before {\n  content: '';\n  position: absolute;\n  left: 11px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 20px;\n  height: 20px;\n  background: var(--dtc);\n  -webkit-mask: var(--disturb-icon) center/contain no-repeat;\n  mask: var(--disturb-icon) center/contain no-repeat;\n}\n\nms dtag {\n  flex: 0 0 auto;\n  padding: 3px 10px;\n  border-radius: 11px;\n  font-size: .78em;\n  font-weight: 700;\n  color: #fff;\n  background: var(--dtc);\n  box-shadow: 0 2px 4px rgba(0, 0, 0, .3);\n}\n\nms dcause {\n  flex: 1 1 auto;\n  color: #e8d6b8;\n  font-size: .84em;\n}\n\nms dimpact {\n  flex: 0 0 auto;\n  color: var(--dtc);\n  font-size: .88em;\n  font-weight: 700;\n}\n\n/* 扰动类型配色 */\nms disturb[type=\"shortage\"] { --dtc: #b04a42; --dtb: rgba(176, 74, 66, .14); }\nms disturb[type=\"war\"] { --dtc: #c87a5e; --dtb: rgba(200, 122, 94, .12); }\nms disturb[type=\"harvest\"] { --dtc: #5fa386; --dtb: rgba(95, 163, 134, .12); }\nms disturb[type=\"trade\"] { --dtc: #c88a5e; --dtb: rgba(200, 138, 94, .12); }\n\n/* ============================================================\n   借贷渠道 lender — 卡片式渠道展示\n   ============================================================ */\nms lender {\n  position: relative;\n  display: block;\n  margin: 10px 0;\n  padding: 12px 14px 12px 46px;\n  border-radius: 7px;\n  border-left: 3px solid var(--ldc, var(--ac));\n  background: \n    linear-gradient(100deg, var(--ldb, rgba(199, 137, 74, .10)), transparent 65%),\n    rgba(0, 0, 0, .18);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms lender:hover {\n  transform: translateX(4px);\n  box-shadow: 0 4px 10px rgba(0, 0, 0, .35);\n}\n\nms lender::before {\n  content: '';\n  position: absolute;\n  left: 12px;\n  top: 15px;\n  width: 24px;\n  height: 24px;\n  background: var(--ldc);\n  -webkit-mask: var(--ldi) center/contain no-repeat;\n  mask: var(--ldi) center/contain no-repeat;\n  opacity: .85;\n}\n\nms lname {\n  display: block;\n  color: var(--gold2);\n  font-size: .96em;\n  font-weight: 700;\n  margin-bottom: 5px;\n}\n\nms lrate {\n  display: inline-block;\n  padding: 2px 9px;\n  border-radius: 10px;\n  font-size: .74em;\n  color: #fff;\n  background: var(--ldc);\n  margin-bottom: 6px;\n}\n\nms lfeature {\n  display: block;\n  color: #e8d6b8;\n  font-size: .84em;\n  margin: 4px 0;\n}\n\nms lrisk {\n  display: block;\n  color: #b8946b;\n  font-size: .78em;\n  font-style: italic;\n}\n\n/* 借贷渠道配色 */\nms lender[type=\"temple\"] { \n  --ldc: #b8b0a0;\n  --ldb: rgba(184, 176, 160, .10);\n  --ldi: var(--lendericon-temple);\n}\nms lender[type=\"jewish\"] { \n  --ldc: #c88a5e;\n  --ldb: rgba(200, 138, 94, .10);\n  --ldi: var(--lendericon-coin);\n}\nms lender[type=\"lombard\"] { \n  --ldc: #d4a857;\n  --ldb: rgba(212, 168, 87, .10);\n  --ldi: var(--lendericon-merchant);\n}\nms lender[type=\"abbey\"] { \n  --ldc: #6b92c4;\n  --ldb: rgba(107, 146, 196, .10);\n  --ldi: var(--lendericon-cross);\n}\nms lender[type=\"private\"] { \n  --ldc: #c88aa8;\n  --ldb: rgba(200, 138, 168, .10);\n  --ldi: var(--lendericon-hand);\n}\n\n/* ============================================================\n   结算提醒 settle — 醒目的到期倒计时\n   ============================================================ */\nms sec[data-settle] {\n  background: \n    linear-gradient(135deg, rgba(176, 74, 66, .08), transparent 60%);\n  border: 1px solid rgba(176, 74, 66, .32);\n}\n\nms settle {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 10px;\n  padding: 11px 14px;\n  margin: 8px 0;\n  border-radius: 6px;\n  background: \n    linear-gradient(95deg, rgba(176, 74, 66, .12), transparent 70%),\n    rgba(20, 12, 6, .85);\n  border-left: 4px solid #b04a42;\n  box-shadow: 0 2px 6px rgba(0, 0, 0, .35);\n}\n\nms sname {\n  flex: 0 0 auto;\n  color: #f5d6c8;\n  font-size: .9em;\n  font-weight: 700;\n}\n\nms samount {\n  flex: 1 1 auto;\n  color: #f2a482;\n  font-size: .88em;\n  text-align: right;\n}\n\nms samount s {\n  color: var(--gold2);\n  font-weight: 700;\n}\n\nms sdue {\n  flex: 0 0 100%;\n  color: #edc1a8;\n  font-size: .82em;\n  margin-top: 2px;\n}\n\nms sdays, ms shours {\n  display: inline-block;\n  padding: 2px 8px;\n  border-radius: 9px;\n  font-weight: 700;\n  color: #fff;\n  background: var(--sstc);\n  margin: 0 3px;\n}\n\n/* 结算状态配色 */\nms sdays[st=\"safe\"], ms shours[st=\"safe\"] { --sstc: #5fa386; }\nms sdays[st=\"warn\"], ms shours[st=\"warn\"] { --sstc: #c88a5e; }\nms sdays[st=\"danger\"], ms shours[st=\"danger\"] { --sstc: #b04a42; }\n\n/* ============================================================\n   ICON LIBRARY — Panel 5 专用图标\n   ============================================================ */\nms {\n  /* 价格卡图标 */\n  --priceicon-bread: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8h16v10H4z' fill='%23c88a5e'/%3E%3Cpath d='M4 8c0-2 2-4 4-4h8c2 0 4 2 4 4' fill='%23d4a075'/%3E%3Ccircle cx='8' cy='12' r='1.5' fill='%23a06a48'/%3E%3Ccircle cx='12' cy='14' r='1.5' fill='%23a06a48'/%3E%3Ccircle cx='16' cy='11' r='1.5' fill='%23a06a48'/%3E%3C/svg%3E\");\n  \n  --priceicon-quill: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' fill='none' stroke='%23c5a44e' stroke-width='2'/%3E%3Ccircle cx='5' cy='19' r='2' fill='%23c5a44e'/%3E%3C/svg%3E\");\n  \n  --priceicon-gem: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l-6 6h12z' fill='%23d4a857'/%3E%3Cpath d='M6 8l6 14 6-14z' fill='%23f5d98b'/%3E%3Cpath d='M12 8l-4 6 4 8 4-8z' fill='%23c99740'/%3E%3C/svg%3E\");\n  \n  --priceicon-coin: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='%23c7894a'/%3E%3Cpath d='M12 6v12M8 9h8M8 15h8' stroke='%23f5e6d0' stroke-width='1.5'/%3E%3C/svg%3E\");\n\n  /* 扰动图标 */\n  --disturb-icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L2 12l10 10 10-10z' fill='%23c88a5e'/%3E%3Cpath d='M11 8h2v5h-2zM11 15h2v2h-2z' fill='%23f5e6d0'/%3E%3C/svg%3E\");\n\n  /* 借贷渠道图标 */\n  --lendericon-temple: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5L21 4.5V11c0 5.5-3.8 9.6-9 11.5C6.8 20.6 3 16.5 3 11V4.5z' fill='%23b8b0a0'/%3E%3Cpath d='M12 5v12M7 9h10' stroke='%23f5e6d0' stroke-width='1.4'/%3E%3C/svg%3E\");\n  \n  --lendericon-coin: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='10' r='7' fill='%23c88a5e'/%3E%3Ccircle cx='15' cy='14' r='7' fill='%23d4a075' opacity='.85'/%3E%3C/svg%3E\");\n  \n  --lendericon-merchant: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8l3-6h12l3 6v12H3z' fill='%23d4a857'/%3E%3Cpath d='M6 8v12M18 8v12M12 8v12' stroke='%23f5e6d0' stroke-width='1.5'/%3E%3C/svg%3E\");\n  \n --lendericon-cross: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v20h-4z' fill='%236b92c4'/%3E%3Cpath d='M6 10h12v4H6z' fill='%236b92c4'/%3E%3C/svg%3E\");\n  \n  --lendericon-hand: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 14v-4M11 14v-6M14 14V7M17 14v-3' stroke='%23c88aa8' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M5 14h14v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z' fill='%23c88aa8'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   响应式优化 — 小屏幕下堆叠布局\n   ============================================================ */\n@media (max-width: 420px) {\n  ms pricegrid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  \n  ms prow {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 4px;\n  }\n  \n  ms prow v {\n    text-align: left;\n  }\n  \n  ms settle {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n  \n  ms samount {\n    text-align: left;\n  }\n}\n\n/* ============================================================\n   折叠容器统一样式 — Panel 5 特化\n   ============================================================ */\nms pan[n=\"5\"] details {\n  margin: 10px 0;\n  border: 1px solid rgba(199, 137, 74, .3);\n  border-radius: 7px;\n  background: linear-gradient(135deg, rgba(199, 137, 74, .08), rgba(0, 0, 0, .2));\n  overflow: hidden;\n}\n\nms pan[n=\"5\"] details > summary {\n  background: linear-gradient(95deg, rgba(199, 137, 74, .14), transparent 70%);\n  padding: 10px 14px 10px 40px;\n  color: #e7cf86;\n  font-weight: 700;\n  letter-spacing: .06em;\n  position: relative;\n  cursor: pointer;\n  transition: background .2s;\n}\n\nms pan[n=\"5\"] details > summary::before {\n  content: '';\n  position: absolute;\n  left: 14px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 16px;\n  height: 16px;\n  background: #c7894a;\n  -webkit-mask: var(--ic-scales) center/contain no-repeat;\n  mask: var(--ic-scales) center/contain no-repeat;\n  opacity: .85;\n}\n\nms pan[n=\"5\"] details > summary:hover {\n  background: linear-gradient(95deg, rgba(199, 137, 74, .22), transparent 70%);\n}\n\nms pan[n=\"5\"] details > b {\n  display: block;\n  padding: 8px 12px 12px;\n}\n\n/* ============================================================\n   货币符号美化 — 统一铜币外观\n   ============================================================ */\nms pan[n=\"5\"] s {\n  text-decoration: none;\n  position: relative;\n  color: var(--gold2);\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n\n/* ============================================================\n   PANEL 6 — PENSUM : 任务追踪 + 告解账本 + 已行之路\n   联动 Vita 模块,分层展示进度\n   ============================================================ */\n\n/* ============================================================\n   任务卡 quest — 阶段式进度展示\n   ============================================================ */\nms quest {\n  position: relative;\n  display: block;\n  margin: 12px 0;\n  padding: 13px 15px 13px 50px;\n  border-radius: 8px;\n  border-left: 4px solid var(--qtc, #b04a42);\n  background: \n    linear-gradient(95deg, var(--qtb, rgba(176, 74, 66, .12)), transparent 70%),\n    rgba(20, 14, 10, .85);\n  box-shadow: 0 3px 8px rgba(0, 0, 0, .35);\n  transition: transform .2s, box-shadow .2s;\n}\n\nms quest:hover {\n  transform: translateX(4px);\n  box-shadow: 0 5px 14px rgba(0, 0, 0, .45);\n}\n\n/* 左侧任务类型图标 */\nms quest::before {\n  content: '';\n  position: absolute;\n  left: 14px;\n  top: 16px;\n  width: 26px;\n  height: 26px;\n  background: var(--qtc);\n  -webkit-mask: var(--qti) center/contain no-repeat;\n  mask: var(--qti) center/contain no-repeat;\n  opacity: .88;\n  filter: drop-shadow(0 0 4px var(--qtc));\n}\n\n/* 任务头部 */\nms qhead {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 10px;\n  margin-bottom: 8px;\n}\n\nms qname {\n  flex: 1 1 auto;\n  color: var(--gold2);\n  font-size: 1.02em;\n  font-weight: 700;\n  letter-spacing: .04em;\n}\n\nms qstatus {\n  flex: 0 0 auto;\n  padding: 3px 11px;\n  border-radius: 12px;\n  font-size: .74em;\n  font-weight: 700;\n  color: #fff;\n  background: var(--qstc);\n  box-shadow: 0 2px 4px rgba(0, 0, 0, .35);\n}\n\n/* 任务描述 */\nms qdesc {\n  display: block;\n  color: #e8d6b8;\n  font-size: .88em;\n  line-height: 1.6;\n  margin-bottom: 10px;\n}\n\n/* 进度阶梯 */\nms qprogress {\n  position: relative;\n  display: block;\n  padding-left: 20px;\n  margin-top: 10px;\n}\n\nms qprogress::before {\n  content: '';\n  position: absolute;\n  left: 6px;\n  top: 8px;\n  bottom: 8px;\n  width: 2px;\n  background: linear-gradient(180deg, var(--qtc), transparent);\n  opacity: .4;\n}\n\nms qstep {\n  position: relative;\n  display: block;\n  padding: 7px 10px 7px 28px;\n  margin: 5px 0;\n  border-radius: 5px;\n  font-size: .84em;\n  color: var(--qstepc);\n  background: var(--qstepb);\n  border-left: 2px solid var(--qstepbc);\n}\n\nms qstep::before {\n  content: '';\n  position: absolute;\n  left: -26px;\n  top: 11px;\n  width: 12px;\n  height: 12px;\n  border-radius: 50%;\n  background: var(--qstepbc);\n  box-shadow: 0 0 0 3px var(--dp), 0 0 6px var(--qstepbc);\n}\n\n/* 阶段状态配色 */\nms qstep[done] {\n  --qstepc: #b8d4c6;\n  --qstepb: rgba(95, 163, 134, .12);\n  --qstepbc: #5fa386;\n}\n\nms qstep[done]::before {\n  content: '✓';\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: #fff;\n  font-size: 9px;\n  font-weight: 700;\n}\n\nms qstep[active] {\n  --qstepc: #f0e2c4;\n  --qstepb: rgba(197, 164, 78, .16);\n  --qstepbc: var(--gold2);\n  animation: activeStep 2.2s ease-in-out infinite;\n}\n\n@keyframes activeStep {\n  0%, 100% {\n    box-shadow: 0 0 0 rgba(197, 164, 78, 0);\n  }\n  50% {\n    box-shadow: 0 0 12px rgba(197, 164, 78, .5);\n  }\n}\n\nms qstep[pending] {\n  --qstepc: #9a8a7a;\n  --qstepb: rgba(0, 0, 0, .12);\n  --qstepbc: #6e6e6e;\n}\n\n/* 任务类型配色 */\nms quest[tier=\"main\"] {\n  --qtc: #b04a42;\n  --qtb: rgba(176, 74, 66, .12);\n  --qti: var(--questicon-main);\n  --qstc: #b04a42;\n}\n\nms quest[tier=\"academic\"] {\n  --qtc: #6b92c4;\n  --qtb: rgba(107, 146, 196, .12);\n  --qti: var(--questicon-book);\n  --qstc: #6b92c4;\n}\n\nms quest[tier=\"personal\"] {\n  --qtc: #c88aa8;\n  --qtb: rgba(200, 138, 168, .12);\n  --qti: var(--questicon-heart);\n  --qstc: #c88aa8;\n}\n\nms quest[tier=\"friend\"] {\n  --qtc: #c88a5e;\n  --qtb: rgba(200, 138, 94, .12);\n  --qti: var(--questicon-hand);\n  --qstc: #c88a5e;\n}\n\n/* 任务状态配色 */\nms quest[st=\"active\"] qstatus { --qstc: var(--gold2); }\nms quest[st=\"ready\"] qstatus { --qstc: #5fa386; }\nms quest[st=\"blocked\"] qstatus { --qstc: #c87a5e; }\nms quest[st=\"failed\"] qstatus { --qstc: #6e6e6e; }\n\n/* ============================================================\n   告解账本 — Vita 联动，红色警示\n   ============================================================ */\nms sec[data-confess] {\n  background: \n    linear-gradient(135deg, rgba(139, 37, 0, .12), transparent 60%),\n    rgba(20, 12, 6, .9);\n  border: 1px solid rgba(160, 82, 45, .4);\n  box-shadow: 0 3px 10px rgba(139, 37, 0, .3);\n}\n\nms sec[data-confess] > sh {\n  color: #f2a482;\n  border-bottom-color: rgba(160, 82, 45, .35);\n}\n\n/* 告解警示横幅 */\nms confwarn {\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 12px 15px 12px 50px;\n  margin: 0 0 12px;\n  border-radius: 7px;\n  border-left: 5px solid #b04a42;\n  background: \n    linear-gradient(95deg, rgba(176, 74, 66, .20), transparent 70%),\n    rgba(20, 8, 6, .92);\n  box-shadow: \n    inset 6px 0 0 rgba(176, 74, 66, .4),\n    0 3px 10px rgba(0, 0, 0, .45);\n  animation: confPulse 3s ease-in-out infinite;\n}\n\n@keyframes confPulse {\n  0%, 100% {\n    box-shadow: inset 6px 0 0 rgba(176, 74, 66, .4), 0 3px 10px rgba(0, 0, 0, .45);\n  }\n  50% {\n    box-shadow: inset 6px 0 0 rgba(176, 74, 66, .6), 0 0 16px rgba(176, 74, 66, .5);\n  }\n}\n\nms confwarn::before {\n  content: '';\n  position: absolute;\n  left: 14px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 26px;\n  height: 26px;\n  background: #b04a42;\n  -webkit-mask: var(--conficon-warn) center/contain no-repeat;\n  mask: var(--conficon-warn) center/contain no-repeat;\n  animation: iconShake .6s ease-in-out infinite;\n}\n\n@keyframes iconShake {\n  0%, 100% { transform: translateY(-50%) rotate(0deg); }\n  25% { transform: translateY(-50%) rotate(-8deg); }\n  75% { transform: translateY(-50%) rotate(8deg); }\n}\n\nms cwicon {\n  display: none;\n}\n\nms cwtext {\n  flex: 1 1 auto;\n  color: #f5d6c8;\n  font-size: .92em;\n  font-weight: 700;\n}\n\nms cwnum {\n  color: #ff8a6a;\n  font-size: 1.3em;\n  margin: 0 4px;\n}\n\nms cwpenalty {\n  flex: 0 0 auto;\n  padding: 4px 12px;\n  border-radius: 14px;\n  font-size: .8em;\n  color: #fff;\n  background: linear-gradient(135deg, #b04a42, #8a2a1a);\n  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .3), 0 2px 5px rgba(0, 0, 0, .4);\n}\n\nms cwval {\n  color: #ff8a6a;\n  font-weight: 700;\n  font-size: 1.1em;\n  margin-left: 4px;\n}\n\n/* 污点条目 */\nms confitem {\n  position: relative;\n  display: block;\n  margin: 8px 0;\n  padding: 10px 12px 10px 42px;\n  border-radius: 6px;\n  border-left: 3px solid var(--cfc);\n  background: \n    linear-gradient(95deg, var(--cfb), transparent 70%),\n    rgba(0, 0, 0, .22);\n}\n\nms confitem::before {\n  content: '';\n  position: absolute;\n  left: 12px;\n  top: 13px;\n  width: 20px;\n  height: 20px;\n  background: var(--cfc);\n  -webkit-mask: var(--cfi) center/contain no-repeat;\n  mask: var(--cfi) center/contain no-repeat;\n  opacity: .85;\n}\n\nms cftag {\n  display: inline-block;\n  padding: 2px 9px;\n  border-radius: 10px;\n  font-size: .74em;\n  font-weight: 700;\n  color: #fff;\n  background: var(--cfc);\n  margin-right: 6px;\n  margin-bottom: 4px;\n}\n\nms cfdesc {\n  display: block;\n  color: #f0e2c4;\n  font-size: .88em;\n  line-height: 1.5;\n  margin: 4px 0;\n}\n\nms cftime {\n  display: inline-block;\n  color: #b8946b;\n  font-size: .78em;\n  font-style: italic;\n  margin-right: 12px;\n}\n\nms cfwitness {\n  display: inline-block;\n  color: #d4a890;\n  font-size: .78em;\n}\n\n/* 污点严重度配色 */\nms confitem[weight=\"light\"] {\n  --cfc: #c88a5e;\n  --cfb: rgba(200, 138, 94, .10);\n  --cfi: var(--conficon-light);\n}\n\nms confitem[weight=\"medium\"] {\n  --cfc: #c87a5e;\n  --cfb: rgba(200, 122, 94, .12);\n  --cfi: var(--conficon-medium);\n}\n\nms confitem[weight=\"heavy\"] {\n  --cfc: #b04a42;\n  --cfb: rgba(176, 74, 66, .14);\n  --cfi: var(--conficon-heavy);\n}\n\n/* 污点类型图标映射 */\nms confitem[type=\"lust\"] { --cfi: var(--conficon-lust); }\nms confitem[type=\"greed\"] { --cfi: var(--conficon-greed); }\nms confitem[type=\"pride\"] { --cfi: var(--conficon-pride); }\nms confitem[type=\"wrath\"] { --cfi: var(--conficon-wrath); }\nms confitem[type=\"heresy\"] { --cfi: var(--conficon-heresy); }\n\n/* 告解规则说明 */\nms confnote {\n  display: block;\n  margin: 12px 0 4px;\n  padding: 10px 12px;\n  border-radius: 6px;\n  font-size: .8em;\n  color: #d4a890;\n  font-style: italic;\n  line-height: 1.6;\n  background: rgba(0, 0, 0, .18);\n  border: 1px dashed rgba(160, 82, 45, .28);\n}\n\n/* ============================================================\n   已行之路 archive — 已完成任务归档\n   ============================================================ */\nms sec[data-archive] {\n  background-image: \n    repeating-linear-gradient(\n      transparent 0 30px,\n      rgba(155, 124, 187, .06) 30px 31px\n    );\n}\n\nms archive {\n  display: block;\n  margin: 8px 0;\n}\n\nms architem {\n  position: relative;\n  display: block;\n  margin: 10px 0;\n  padding: 11px 14px 11px 18px;\n  border-radius: 6px;\n  border-left: 3px solid var(--atc);\n  background: \n    linear-gradient(95deg, var(--atb), transparent 70%),\n    rgba(0, 0, 0, .14);\n  opacity: .88;\n  transition: opacity .2s;\n}\n\nms architem:hover {\n  opacity: 1;\n}\n\nms aname {\n  display: block;\n  color: var(--atc);\n  font-size: .92em;\n  font-weight: 700;\n  margin-bottom: 4px;\n}\n\nms atime {\n  display: inline-block;\n  color: #9a8a7a;\n  font-size: .76em;\n  font-style: italic;\n  margin-right: 10px;\n}\n\nms aoutcome {\n  display: block;\n  color: #d4c5a8;\n  font-size: .84em;\n  line-height: 1.5;\n  margin: 5px 0;\n}\n\nms architem details {\n  margin-top: 8px;\n}\n\nms astep {\n  display: block;\n  padding: 5px 8px;\n  margin: 3px 0;\n  border-left: 2px solid var(--atc);\n  color: #b8a898;\n  font-size: .8em;\n  line-height: 1.4;\n  background: rgba(0, 0, 0, .12);\n  border-radius: 4px;\n}\n\n/* 归档任务类型配色 */\nms architem[tier=\"main\"] { --atc: #b04a42; --atb: rgba(176, 74, 66, .08); }\nms architem[tier=\"academic\"] { --atc: #6b92c4; --atb: rgba(107, 146, 196, .08); }\nms architem[tier=\"personal\"] { --atc: #c88aa8; --atb: rgba(200, 138, 168, .08); }\nms architem[tier=\"friend\"] { --atc: #c88a5e; --atb: rgba(200, 138, 94, .08); }\n\n/* ============================================================\n   ICON LIBRARY — Panel 6 专用图标\n   ============================================================ */\nms {\n  /* 任务类型图标 */\n  --questicon-main: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l-6 6h12z' fill='%23b04a42'/%3E%3Cpath d='M6 8v10h12V8z' fill='%23b04a42'/%3E%3Cpath d='M12 10l2 3-2 3-2-3z' fill='%23f5e6d0'/%3E%3C/svg%3E\");\n  \n  --questicon-book: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4c2.5-1.5 5.5-1.5 8 0v16c-2.5-1.5-5.5-1.5-8 0zM21 4c-2.5-1.5-5.5-1.5-8 0v16c2.5-1.5 5.5-1.5 8 0z' fill='%236b92c4'/%3E%3C/svg%3E\");\n  \n  --questicon-heart: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21l-1.5-1.4C5.4 15.1 2 12 2 8.5 2 6 4 4 6.5 4c1.5 0 3 .8 3.5 2 .5-1.2 2-2 3.5-2C16 4 18 6 18 8.5c0 3.5-3.4 6.6-8.5 11.1z' fill='%23c88aa8'/%3E%3C/svg%3E\");\n  \n  --questicon-hand: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 14v-4M11 14v-6M14 14V7M17 14v-3' stroke='%23c88a5e' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M5 14h14v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z' fill='%23c88a5e'/%3E%3C/svg%3E\");\n\n  /* 告解警示图标 */\n  --conficon-warn: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L2 20h20z' fill='%23b04a42'/%3E%3Cpath d='M11 9h2v6h-2zM11 17h2v2h-2z' fill='%23f5e6d0'/%3E%3C/svg%3E\");\n\n  /* 污点严重度图标 */\n  --conficon-light: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='%23c88a5e' stroke-width='2'/%3E%3Cpath d='M12 8v4l3 2' fill='none' stroke='%23c88a5e' stroke-width='1.8'/%3E%3C/svg%3E\");\n  \n  --conficon-medium: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='%23c87a5e' opacity='.3'/%3E%3Ccircle cx='12' cy='12' r='4' fill='%23c87a5e'/%3E%3C/svg%3E\");\n  \n  --conficon-heavy: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L3 7v6c0 6 4 11 9 13 5-2 9-7 9-13V7z' fill='%23b04a42'/%3E%3Cpath d='M9 12l2 2 4-4' fill='none' stroke='%23f5e6d0' stroke-width='2'/%3E%3C/svg%3E\");\n\n  /* 污点类型图标 */\n  --conficon-lust: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21l-1.5-1.4C5.4 15.1 2 12 2 8.5 2 6 4 4 6.5 4c1.5 0 3 .8 3.5 2 .5-1.2 2-2 3.5-2C16 4 18 6 18 8.5c0 3.5-3.4 6.6-8.5 11.1z' fill='currentColor'/%3E%3C/svg%3E\");\n  \n  --conficon-greed: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='currentColor'/%3E%3Cpath d='M12 6v12M8 9h8M8 15h8' stroke='%23f5e6d0' stroke-width='2'/%3E%3C/svg%3E\");\n  \n  --conficon-pride: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 18h16v2H4zM6 18l4-12 2 6 2-6 4 12z' fill='currentColor'/%3E%3C/svg%3E\");\n  \n  --conficon-wrath: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' fill='none' stroke='currentColor' stroke-width='2.5'/%3E%3C/svg%3E\");\n  \n  --conficon-heresy: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12v18H6z' fill='currentColor'/%3E%3Cpath d='M10 7h4v10h-4z' fill='%23f5e6d0'/%3E%3Cpath d='M12 9v6' stroke='%23f5e6d0' stroke-width='2'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   响应式优化\n   ============================================================ */\n@media (max-width: 420px) {\n  ms quest {\n    padding-left: 14px;\n  }\n  \n  ms quest::before {\n    display: none;\n  }\n  \n  ms qhead {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 6px;\n  }\n  \n  ms confwarn {\n    flex-direction: column;\n    align-items: flex-start;\n    padding-left: 14px;\n  }\n  \n  ms confwarn::before {\n    display: none;\n  }\n}\n\n/* ============================================================\n   THINKING ANIMATION — 天主的车轴运转中\n   思维链加载动画,完成后自动收束\n   ============================================================ */\n\n/* 隐藏 think 标签内容,仅显示加载动画 */\nms think {\n  position: relative;\n  display: block;\n  min-height: 120px;\n  margin: 20px 0;\n  padding: 0;\n  overflow: hidden;\n  border-radius: 10px;\n  background: \n    radial-gradient(circle at 50% 40%, rgba(155, 124, 187, .12), transparent 70%),\n    linear-gradient(135deg, rgba(58, 40, 28, .9), rgba(39, 26, 17, .95));\n  border: 1px solid rgba(155, 124, 187, .3);\n  box-shadow: \n    0 4px 16px rgba(0, 0, 0, .5),\n    inset 0 0 30px rgba(80, 50, 30, .2);\n}\n\n/* 隐藏所有实际内容 */\nms think * {\n  display: none !important;\n}\n\n/* 加载容器 */\nms think::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: inherit;\n  z-index: 10;\n}\n\n/* 中心旋转轴轮 */\nms think::after {\n  content: '';\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 80px;\n  height: 80px;\n  margin: -40px 0 0 -40px;\n  background: \n    radial-gradient(circle at 50% 50%, \n      rgba(155, 124, 187, .3) 0%, \n      transparent 70%),\n    conic-gradient(\n      from 0deg,\n      transparent 0deg,\n      rgba(155, 124, 187, .8) 90deg,\n      rgba(197, 164, 78, .8) 180deg,\n      rgba(155, 124, 187, .8) 270deg,\n      transparent 360deg\n    );\n  border-radius: 50%;\n  border: 2px solid rgba(155, 124, 187, .4);\n  box-shadow: \n    0 0 20px rgba(155, 124, 187, .4),\n    inset 0 0 15px rgba(155, 124, 187, .2);\n  animation: wheelRotate 3s linear infinite;\n  z-index: 11;\n}\n\n@keyframes wheelRotate {\n  0% {\n    transform: rotate(0deg);\n    box-shadow: \n      0 0 20px rgba(155, 124, 187, .4),\n      inset 0 0 15px rgba(155, 124, 187, .2);\n  }\n  50% {\n    box-shadow: \n      0 0 30px rgba(155, 124, 187, .6),\n      inset 0 0 20px rgba(155, 124, 187, .3);\n  }\n  100% {\n    transform: rotate(360deg);\n    box-shadow: \n      0 0 20px rgba(155, 124, 187, .4),\n      inset 0 0 15px rgba(155, 124, 187, .2);\n  }\n}\n\n/* 内圈装饰 */\nms think {\n  --spoke-color: rgba(197, 164, 78, .6);\n}\n\nms think::before {\n  background-image: \n    /* 辐条1 */\n    linear-gradient(90deg, transparent 48%, var(--spoke-color) 48%, var(--spoke-color) 52%, transparent 52%),\n    /* 辐条2 */\n    linear-gradient(45deg, transparent 48%, var(--spoke-color) 48%, var(--spoke-color) 52%, transparent 52%),\n    /* 辐条3 */\n    linear-gradient(0deg, transparent 48%, var(--spoke-color) 48%, var(--spoke-color) 52%, transparent 52%),\n    /* 辐条4 */\n    linear-gradient(135deg, transparent 48%, var(--spoke-color) 48%, var(--spoke-color) 52%, transparent 52%);\n  background-size: 60px 60px;\n  background-position: center;\n  background-repeat: no-repeat;\n  animation: spokeRotate 3s linear infinite reverse;\n  opacity: .5;\n}\n\n@keyframes spokeRotate {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n/* 标题文字 — 浮动在轮轴上方 */\nms think summary {\n  display: block !important;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -90px);\n  color: #c9b8d4;\n  font-size: 1.1em;\n  font-weight: 700;\n  letter-spacing: .12em;\n  text-align: center;\n  text-shadow: 0 2px 8px rgba(0, 0, 0, .7);\n  z-index: 12;\n  animation: titlePulse 2s ease-in-out infinite;\n}\n\n@keyframes titlePulse {\n  0%, 100% {\n    opacity: .85;\n    text-shadow: 0 2px 8px rgba(0, 0, 0, .7);\n  }\n  50% {\n    opacity: 1;\n    text-shadow: 0 0 16px rgba(155, 124, 187, .6), 0 2px 8px rgba(0, 0, 0, .7);\n  }\n}\n\n/* 底部状态文字 */\nms think summary::after {\n  content: '天主的车轴运转中';\n  display: block;\n  margin-top: 140px;\n  font-size: .7em;\n  font-weight: 400;\n  color: #9a8a7a;\n  letter-spacing: .18em;\n  animation: dotsPulse 1.5s ease-in-out infinite;\n}\n\n@keyframes dotsPulse {\n  0%, 100% { content: '天主的车轴运转中'; }\n  33% { content: '天主的车轴运转中.'; }\n  66% { content: '天主的车轴运转中..'; }\n}\n\n/* 外圈光晕脉冲 */\nms think {\n  animation: haloBreath 4s ease-in-out infinite;\n}\n\n@keyframes haloBreath {\n  0%, 100% {\n    box-shadow: \n      0 4px 16px rgba(0, 0, 0, .5),\n      inset 0 0 30px rgba(80, 50, 30, .2);\n  }\n  50% {\n    box-shadow: \n      0 4px 20px rgba(155, 124, 187, .3),\n      0 0 40px rgba(155, 124, 187, .2),\n      inset 0 0 40px rgba(155, 124, 187, .15);\n  }\n}\n\n/* ============================================================\n   收束动画 — 当 think 标签闭合时触发\n   ============================================================ */\n\n/* 完成状态 — 通过 JS 添加 .complete 类触发 */\nms think.complete {\n  animation: shrinkAway .8s cubic-bezier(.66, 0, .34, 1) forwards;\n}\n\n@keyframes shrinkAway {\n  0% {\n    max-height: 120px;\n    opacity: 1;\n    transform: scaleY(1);\n    margin: 20px 0;\n  }\n  100% {\n    max-height: 0;\n    opacity: 0;\n    transform: scaleY(0);\n    margin: 0;\n    padding: 0;\n    border-width: 0;\n  }\n}\n\nms think.complete::after {\n  animation: wheelFade .6s ease-out forwards;\n}\n\n@keyframes wheelFade {\n  0% {\n    opacity: 1;\n    transform: rotate(0deg) scale(1);\n  }\n  100% {\n    opacity: 0;\n    transform: rotate(180deg) scale(0.3);\n  }\n}\n\nms think.complete summary::after {\n  content: '万事万物';\n  animation: none;\n  opacity: 0;\n}\n\n/* ============================================================\n   响应式优化\n   ============================================================ */\n@media (max-width: 480px) {\n  ms think {\n    min-height: 100px;\n  }\n  \n  ms think::after {\n    width: 60px;\n    height: 60px;\n    margin: -30px 0 0 -30px;\n  }\n  \n  ms think summary {\n    font-size: .95em;\n    transform: translate(-50%, -70px);\n  }\n  \n  ms think summary::after {\n    margin-top: 110px;\n    font-size: .65em;\n  }\n}\n\n/* ============================================================\n   辅助：粒子效果（可选）\n   为车轴周围添加微光粒子\n   ============================================================ */\nms think {\n  --particle: radial-gradient(circle, rgba(197, 164, 78, .8) 0%, transparent 70%);\n}\n\nms think::before {\n  background-image: \n    var(--particle),\n    var(--particle),\n    var(--particle),\n    var(--particle),\n    var(--particle);\n  background-size: 3px 3px, 4px 4px, 2px 2px, 3px 3px, 4px 4px;\n  background-position: \n    45% 35%,\n    55% 38%,\n    48% 62%,\n    52% 65%,\n    50% 50%;\n  background-repeat: no-repeat;\n  animation: \n    spokeRotate 3s linear infinite reverse,\n    particleFloat 6s ease-in-out infinite;\n}\n\n@keyframes particleFloat {\n  0%, 100% {\n    background-position: \n      45% 35%,\n      55% 38%,\n      48% 62%,\n      52% 65%,\n      50% 50%;\n  }\n  25% {\n    background-position: \n      46% 34%,\n      54% 39%,\n      49% 63%,\n      51% 64%,\n      50% 51%;\n  }\n  50% {\n    background-position: \n      44% 36%,\n      56% 37%,\n      47% 61%,\n      53% 66%,\n      50% 49%;\n  }\n  75% {\n    background-position: \n      45% 35.5%,\n      55% 38.5%,\n      48% 62.5%,\n      52% 65.5%,\n      50% 50.5%;\n  }\n}\n\n/* ============================================================\n   JS 触发逻辑建议（供参考）\n   ============================================================ */\n/*\n// 监听 think 标签内容加载完成\ndocument.addEventListener('DOMContentLoaded', () => {\n  const thinkElements = document.querySelectorAll('ms think');\n  \n  thinkElements.forEach(think => {\n    // 创建 MutationObserver 监听内容变化\n    const observer = new MutationObserver((mutations) => {\n      // 检测到 </think> 闭合标签\n      if (think.textContent.trim().length > 0) {\n        // 添加完成类，触发收束动画\n        think.classList.add('complete');\n        \n        // 800ms 后完全移除（与动画时长同步）\n        setTimeout(() => {\n          think.style.display = 'none';\n        }, 800);\n        \n        observer.disconnect();\n      }\n    });\n    \n    observer.observe(think, {\n      childList: true,\n      subtree: true,\n      characterData: true\n    });\n  });\n});\n*/\n\n/* ============================================================\n   体力条 vitbar — Vita 模块联动（修复版）\n   ============================================================ */\nms sec[data-vita] {\n  background-image: \n    linear-gradient(135deg, rgba(139, 37, 0, .08), transparent 60%);\n  border-left: 3px solid var(--ver);\n}\n\nms vitbar {\n  display: block;\n  margin: 10px 0;\n}\n\nms vnum {\n  display: block;\n  text-align: center;\n  color: #e8d6b8;\n  font-size: .92em;\n  margin-bottom: 8px;\n}\n\nms vcur {\n  color: var(--gold2);\n  font-size: 1.3em;\n  font-weight: 700;\n}\n\nms vmax {\n  color: #b8946b;\n}\n\nms vgauge {\n  position: relative;\n  display: block;\n  height: 18px;\n  border-radius: 9px;\n  background: rgba(0, 0, 0, .4);\n  border: 1px solid rgba(197, 164, 78, .3);\n  overflow: hidden;\n  margin-bottom: 8px;\n}\n\n/* 体力百分比映射（每 5% 一档） */\nms vgauge[v=\"0\"] { --vpct: 0%; }\nms vgauge[v=\"5\"] { --vpct: 5%; }\nms vgauge[v=\"10\"] { --vpct: 10%; }\nms vgauge[v=\"15\"] { --vpct: 15%; }\nms vgauge[v=\"20\"] { --vpct: 20%; }\nms vgauge[v=\"25\"] { --vpct: 25%; }\nms vgauge[v=\"30\"] { --vpct: 30%; }\nms vgauge[v=\"35\"] { --vpct: 35%; }\nms vgauge[v=\"40\"] { --vpct: 40%; }\nms vgauge[v=\"45\"] { --vpct: 45%; }\nms vgauge[v=\"50\"] { --vpct: 50%; }\nms vgauge[v=\"55\"] { --vpct: 55%; }\nms vgauge[v=\"60\"] { --vpct: 60%; }\nms vgauge[v=\"65\"] { --vpct: 65%; }\nms vgauge[v=\"70\"] { --vpct: 70%; }\nms vgauge[v=\"75\"] { --vpct: 75%; }\nms vgauge[v=\"80\"] { --vpct: 80%; }\nms vgauge[v=\"85\"] { --vpct: 85%; }\nms vgauge[v=\"90\"] { --vpct: 90%; }\nms vgauge[v=\"95\"] { --vpct: 95%; }\nms vgauge[v=\"100\"] { --vpct: 100%; }\n\nms vgauge::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: var(--vpct, 100%);\n  background: linear-gradient(90deg, var(--vgc, #5fa386), color-mix(in srgb, var(--vgc, #5fa386) 70%, #fff));\n  border-radius: 9px 0 0 9px;\n  box-shadow: 0 0 10px var(--vgc, #5fa386);\n  transition: width .4s ease, background .3s ease;\n}\n\n/* 体力状态配色 */\nms vgauge:has(~ vstate[st=\"full\"]) { --vgc: #5fa386; }\nms vgauge:has(~ vstate[st=\"good\"]) { --vgc: #7fc4a6; }\nms vgauge:has(~ vstate[st=\"normal\"]) { --vgc: #c88a5e; }\nms vgauge:has(~ vstate[st=\"tired\"]) { --vgc: #c87a5e; }\nms vgauge:has(~ vstate[st=\"weak\"]) { --vgc: #b04a42; }\n\nms vstate {\n  display: block;\n  text-align: center;\n  padding: 5px;\n  border-radius: 5px;\n  font-size: .84em;\n  font-weight: 700;\n  color: #fff;\n  background: var(--vgc, #5fa386);\n  box-shadow: 0 2px 5px rgba(0, 0, 0, .3);\n}\n\n/* 体力修正项 */\nms vitmod {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n  margin: 10px 0 4px;\n}\n\nms vmoditem {\n  display: inline-flex;\n  align-items: center;\n  gap: 5px;\n  padding: 4px 10px;\n  border-radius: 12px;\n  font-size: .76em;\n  color: #fff;\n  background: var(--vmc);\n  box-shadow: 0 2px 4px rgba(0, 0, 0, .3);\n}\n\nms vmoditem::before {\n  content: '';\n  width: 10px;\n  height: 10px;\n  background: #fff;\n  border-radius: 50%;\n}\n\nms vmoditem[type=\"buff\"] { --vmc: #5fa386; }\nms vmoditem[type=\"debuff\"] { --vmc: #b04a42; }\n\n/* ============================================================\n   欧陆往事·双语叙事渲染系统 v2\n   色彩重构：深墨/朱砂/暮铜\n   ============================================================ */\n\n/* ============================================================\n   双语对话容器 dualog\n   ============================================================ */\n\nms dualog {\n  display: inline-flex;\n  flex-direction: column;\n  align-items: flex-start;\n  gap: 2px;\n  margin: 0 4px;\n  padding: 4px 6px;\n  border-radius: 3px;\n  background: linear-gradient(180deg, rgba(245, 230, 200, .18), rgba(235, 220, 190, .1));\n  transition: background .3s ease;\n  position: relative;\n}\n\nms dualog:hover {\n  background: rgba(245, 230, 200, .28);\n}\n\n/* 原文层 — 主体文字 */\nms dualog > orig {\n  display: block;\n  color: var(--orig-color, #2c1810);\n  font-family: var(--orig-font, \"Garamond\", \"Palatino Linotype\", serif);\n  font-size: 1.05em;\n  font-weight: var(--orig-weight, 600);\n  font-style: var(--orig-style, normal);\n  letter-spacing: .03em;\n  line-height: 1.4;\n  text-shadow: var(--orig-shadow, 0 1px 1px rgba(0, 0, 0, .15));\n}\n\n/* 译文层 — 注疏体小字 */\nms dualog > trans {\n  display: block;\n  color: #5a4434;\n  font-family: \"Georgia\", \"Songti SC\", \"Noto Serif SC\", serif;\n  font-size: .82em;\n  font-style: italic;\n  font-weight: 500;\n  letter-spacing: .02em;\n  line-height: 1.3;\n  opacity: .85;\n  padding-left: 8px;\n  border-left: 1px solid rgba(90, 68, 52, .35);\n  transition: opacity .2s;\n}\n\nms dualog:hover > trans {\n  opacity: 1;\n}\n\n/* ============================================================\n   对话类型变体\n   ============================================================ */\n\n/* NPC对话 — 浓墨 */\nms dualog[type=\"npc\"] {\n  --orig-color: #2c1810;\n  --orig-font: \"Garamond\", \"Palatino Linotype\", serif;\n  --orig-weight: 600;\n  --orig-style: normal;\n  --orig-shadow: 0 1px 1px rgba(0, 0, 0, .2);\n}\n\nms dualog[type=\"npc\"]::before {\n  content: '「';\n  position: absolute;\n  left: -8px;\n  top: 2px;\n  color: #4a3a2a;\n  font-size: 1.2em;\n  opacity: .75;\n}\n\nms dualog[type=\"npc\"]::after {\n  content: '」';\n  position: absolute;\n  right: -8px;\n  bottom: 2px;\n  color: #4a3a2a;\n  font-size: 1.2em;\n  opacity: .75;\n}\n\nms dualog[type=\"npc\"] > trans {\n  color: #5a4434;\n}\n\n/* 玩家对话 — 暗金铜锈 */\nms dualog[type=\"pc\"] {\n  --orig-color: #6e4d0a;\n  --orig-font: \"Garamond\", \"Palatino Linotype\", serif;\n  --orig-weight: 700;\n  --orig-style: normal;\n  --orig-shadow: 0 1px 2px rgba(110, 77, 10, .3);\n  background: \n    radial-gradient(circle at 30% 20%, rgba(154, 122, 46, .22), transparent 70%),\n    rgba(197, 164, 78, .14);\n}\n\nms dualog[type=\"pc\"] > orig {\n  text-shadow: var(--orig-shadow);\n}\n\nms dualog[type=\"pc\"] > trans {\n  color: #7a6240;\n  opacity: .9;\n}\n\nms dualog[type=\"pc\"]::before {\n  content: '「';\n  position: absolute;\n  left: -10px;\n  top: 0;\n  color: #9a7a2e;\n  font-size: 1.3em;\n  font-weight: 700;\n  opacity: .85;\n  filter: drop-shadow(0 0 3px rgba(154, 122, 46, .4));\n}\n\nms dualog[type=\"pc\"]::after {\n  content: '」';\n  position: absolute;\n  right: -10px;\n  bottom: 0;\n  color: #9a7a2e;\n  font-size: 1.3em;\n  font-weight: 700;\n  opacity: .85;\n  filter: drop-shadow(0 0 3px rgba(154, 122, 46, .4));\n}\n\n/* 圣咏/祷文 — 深紫檀 */\nms dualog[type=\"chant\"] {\n  --orig-color: #4a3a52;\n  --orig-font: \"UnifrakturMaguntia\", \"Old English Text MT\", serif;\n  --orig-weight: 500;\n  --orig-style: normal;\n  --orig-shadow: 0 0 8px rgba(74, 58, 82, .35);\n  background: \n    radial-gradient(circle at 50% 20%, rgba(155, 124, 187, .18), transparent 70%),\n    rgba(184, 176, 160, .1);\n  padding: 8px 12px;\n  border-radius: 4px;\n}\n\nms dualog[type=\"chant\"] > orig {\n  font-size: 1.1em;\n  text-shadow: var(--orig-shadow);\n  animation: chantGlow 4s ease-in-out infinite;\n}\n\n@keyframes chantGlow {\n  0%, 100% {\n    text-shadow: 0 0 8px rgba(74, 58, 82, .35);\n  }\n  50% {\n    text-shadow: 0 0 14px rgba(155, 124, 187, .5);\n  }\n}\n\nms dualog[type=\"chant\"] > trans {\n  color: #5a4a5a;\n  opacity: .75;\n  font-style: normal;\n  font-size: .78em;\n}\n\n/* ============================================================\n   行内引文 quote\n   ============================================================ */\n\nms quote {\n  display: inline;\n  color: var(--quote-color, #3a281c);\n  font-family: var(--quote-font, \"Garamond\", serif);\n  font-size: var(--quote-size, .98em);\n  font-style: italic;\n  font-weight: 600;\n  letter-spacing: .04em;\n  padding: 0 3px;\n  border-bottom: 1px dotted rgba(58, 40, 28, .4);\n  position: relative;\n}\n\n/* 拉丁引文 — 铁胆墨 */\nms quote[lang=\"lat\"] {\n  --quote-color: #3a281c;\n  --quote-font: \"Cinzel\", \"Trajan Pro\", \"Georgia\", serif;\n  --quote-size: .94em;\n  font-variant: small-caps;\n  letter-spacing: .06em;\n  font-weight: 600;\n}\n\nms quote[lang=\"lat\"]::after {\n  content: ' (' attr(trans) ')';\n  font-family: \"Georgia\", \"Songti SC\", serif;\n  font-size: .88em;\n  font-variant: normal;\n  font-style: normal;\n  font-weight: 500;\n  color: #5a4434;\n  opacity: .9;\n  letter-spacing: .02em;\n}\n\n/* 普罗旺斯语引文 — 日暮金 */\nms quote[lang=\"prov\"] {\n  --quote-color: #9a7a2e;\n  --quote-font: \"Corsiva\", \"Brush Script MT\", cursive;\n  --quote-size: 1em;\n  font-weight: 600;\n  text-shadow: 0 1px 2px rgba(154, 122, 46, .25);\n}\n\nms quote[lang=\"prov\"]::after {\n  content: ' (' attr(trans) ')';\n  font-family: \"Georgia\", \"Songti SC\", serif;\n  font-size: .86em;\n  font-style: normal;\n  font-weight: 500;\n  color: #6e5e4e;\n  opacity: .9;\n}\n\n/* 古法语引文 */\nms quote[lang=\"ofr\"] {\n  --quote-color: #4a3a2a;\n  --quote-font: \"Garamond\", serif;\n  --quote-size: .96em;\n  font-weight: 600;\n}\n\nms quote[lang=\"ofr\"]::after {\n  content: ' (' attr(trans) ')';\n  font-family: \"Georgia\", \"Songti SC\", serif;\n  font-size: .88em;\n  font-style: normal;\n  font-weight: 500;\n  color: #5a4434;\n  opacity: .9;\n}\n\n/* ============================================================\n   特殊效果元素\n   ============================================================ */\n\n/* 五感描写 — 石板苔痕 */\nms sense {\n  display: inline;\n  color: #6e5e4e;\n  font-family: \"Georgia\", serif;\n  font-size: .94em;\n  font-style: italic;\n  font-weight: 500;\n  letter-spacing: .03em;\n  padding: 0 2px;\n  text-shadow: 0 1px 2px rgba(110, 94, 78, .2);\n  filter: blur(0.3px);\n  transition: filter .2s;\n}\n\nms sense::before {\n  content: '〔';\n  opacity: .7;\n}\n\nms sense::after {\n  content: '〕';\n  opacity: .7;\n}\n\nms sense:hover {\n  filter: blur(0);\n}\n\n/* 怒吼/呵斥 — 深朱砂 */\nms shout {\n  display: inline;\n  color: #721c00;\n  font-family: \"Georgia\", \"Palatino Linotype\", serif;\n  font-size: 1.1em;\n  font-weight: 700;\n  letter-spacing: .04em;\n  padding: 2px 6px;\n  background: linear-gradient(135deg, rgba(114, 28, 0, .15), rgba(139, 37, 0, .1));\n  border-bottom: 2px solid #721c00;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);\n  animation: shoutTremble .8s ease-in-out infinite;\n}\n\n@keyframes shoutTremble {\n  0%, 100% {\n    transform: translateX(0);\n  }\n  25% {\n    transform: translateX(-1px);\n  }\n  75% {\n    transform: translateX(1px);\n  }\n}\n\n/* 低语/密谈 */\nms whisper {\n  display: inline;\n  color: #5a4a3a;\n  font-family: \"Georgia\", serif;\n  font-size: .88em;\n  font-weight: 400;\n  font-style: italic;\n  letter-spacing: .08em;\n  opacity: .8;\n  padding: 0 3px;\n  transition: opacity .2s;\n}\n\nms whisper::before {\n  content: '(';\n  opacity: .6;\n}\n\nms whisper::after {\n  content: ')';\n  opacity: .6;\n}\n\nms whisper:hover {\n  opacity: 1;\n}\n\n/* 编年旁白 */\nms scribe {\n  display: block;\n  color: #5a4a3a;\n  font-family: \"Crimson Text\", \"Baskerville\", serif;\n  font-size: .88em;\n  font-style: italic;\n  font-weight: 500;\n  letter-spacing: .04em;\n  line-height: 1.8;\n  padding: 10px 14px 10px 20px;\n  margin: 14px 0;\n  border-left: 3px solid #7a6a5a;\n  background: \n    linear-gradient(90deg, rgba(122, 106, 90, .1), transparent 85%),\n    rgba(245, 235, 215, .15);\n  opacity: .95;\n}\n\nms scribe::before {\n  content: '⸎';\n  position: absolute;\n  left: 6px;\n  color: #7a6a5a;\n  opacity: .7;\n}\n\n/* 圣物/异象 — 暮光金箔 */\nms relic {\n  display: inline;\n  position: relative;\n  color: #9a7a2e;\n  font-family: \"Cinzel Decorative\", \"Trajan Pro\", serif;\n  font-size: 1.04em;\n  font-weight: 700;\n  letter-spacing: .06em;\n  padding: 3px 12px;\n  background: \n    linear-gradient(135deg, rgba(154, 122, 46, .2), rgba(197, 164, 78, .14)),\n    repeating-linear-gradient(\n      45deg,\n      transparent,\n      transparent 4px,\n      rgba(154, 122, 46, .1) 4px,\n      rgba(154, 122, 46, .1) 8px\n    );\n  border: 1px solid rgba(154, 122, 46, .45);\n  border-radius: 4px;\n  text-shadow: 0 0 8px rgba(154, 122, 46, .35);\n  box-shadow: \n    inset 0 0 10px rgba(154, 122, 46, .15),\n    0 3px 8px rgba(154, 122, 46, .25);\n  animation: relicShimmer 3.5s ease-in-out infinite;\n}\n\n@keyframes relicShimmer {\n  0%, 100% {\n    box-shadow: \n      inset 0 0 10px rgba(154, 122, 46, .15),\n      0 3px 8px rgba(154, 122, 46, .25);\n  }\n  50% {\n    box-shadow: \n      inset 0 0 16px rgba(154, 122, 46, .25),\n      0 0 14px rgba(154, 122, 46, .4);\n  }\n}\n\nms relic::before,\nms relic::after {\n  content: '✦';\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  color: rgba(154, 122, 46, .6);\n  font-size: .7em;\n  animation: ornamentPulse 2.5s ease-in-out infinite;\n}\n\nms relic::before {\n  left: -12px;\n}\n\nms relic::after {\n  right: -12px;\n  animation-delay: 1.25s;\n}\n\n@keyframes ornamentPulse {\n  0%, 100% {\n    opacity: .6;\n    transform: translateY(-50%) scale(1);\n  }\n  50% {\n    opacity: 1;\n    transform: translateY(-50%) scale(1.2);\n  }\n}\n\n/* 武器/战斗 — 冷铁 */\nms iron {\n  display: inline;\n  color: #3a3a3a;\n  font-family: \"Impact\", \"Arial Black\", sans-serif;\n  font-size: 1.02em;\n  font-weight: 700;\n  letter-spacing: .02em;\n  padding: 2px 6px;\n  background: linear-gradient(135deg, rgba(58, 58, 58, .14), rgba(90, 90, 90, .1));\n  border-bottom: 2px solid #3a3a3a;\n  text-shadow: \n    1px 1px 0 rgba(0, 0, 0, .4),\n    -1px -1px 0 rgba(255, 255, 255, .12);\n  box-shadow: \n    inset 0 1px 2px rgba(255, 255, 255, .18),\n    0 2px 4px rgba(0, 0, 0, .3);\n}\n\n/* ============================================================\n   响应式调整\n   ============================================================ */\n@media (max-width: 600px) {\n  ms dualog {\n    gap: 1px;\n    padding: 3px 5px;\n  }\n  \n  ms dualog > orig {\n    font-size: .98em;\n  }\n  \n  ms dualog > trans {\n    font-size: .76em;\n    padding-left: 6px;\n  }\n  \n  ms quote[lang=\"lat\"]::after,\n  ms quote[lang=\"prov\"]::after,\n  ms quote[lang=\"ofr\"]::after {\n    display: block;\n    margin-top: 2px;\n    padding-left: 12px;\n    border-left: 1px solid rgba(90, 68, 52, .25);\n  }\n  \n  ms relic::before,\n  ms relic::after {\n    display: none;\n  }\n}\n\n/* ============================================================\n   打印样式优化\n   ============================================================ */\n@media print {\n  ms dualog > trans {\n    opacity: 1;\n    color: #444;\n  }\n  \n  ms dualog,\n  ms quote,\n  ms relic {\n    background: none !important;\n    box-shadow: none !important;\n    animation: none !important;\n  }\n  \n  ms sense {\n    filter: none;\n  }\n}\n\n/* 隐藏默认加载元素 */\n.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {\n    display: none !important;\n}\n\n/* 输入聊天框 - 羊皮纸美学 */\n.is-user > .border.border-muted {\n    background: linear-gradient(135deg, #f4e8d0 0%, #e8d9b8 50%, #f4e8d0 100%) !important;\n    border: 3px solid #8b6914 !important;\n    border-radius: 8px !important;\n    box-shadow: \n        inset 0 0 15px rgba(139, 105, 20, 0.1),\n        0 4px 12px rgba(0, 0, 0, 0.25),\n        0 0 0 1px rgba(139, 105, 20, 0.3) !important;\n    position: relative !important;\n    isolation: isolate !important;\n}\n\n/* 装饰性边角纹饰 */\n.is-user > .border.border-muted::before {\n    content: '' !important;\n    position: absolute !important;\n    top: -3px !important;\n    left: -3px !important;\n    right: -3px !important;\n    bottom: -3px !important;\n    border: 2px solid transparent !important;\n    border-image: repeating-linear-gradient(\n        45deg,\n        #8b6914,\n        #8b6914 8px,\n        transparent 8px,\n        transparent 16px\n    ) 1 !important;\n    pointer-events: none !important;\n    z-index: -1 !important;\n}\n\n/* 文本区域 */\n.is-user > .border.border-muted .rili-markdown-renderer {\n    color: #3d2817 !important;\n    font-family: 'Garamond', 'Palatino', 'Georgia', serif !important;\n    font-weight: 500 !important;\n    background: transparent !important;\n    z-index: 1 !important;\n    position: relative !important;\n}\n\n/* 底部附加元素 - 暗金色调 */\n.is-user > .border.border-muted .bg-muted.rounded.flex.p-0\\.5 > button.rounded-full.size-7,\n.is-user > .border.border-muted .MuiTypography-root.MuiTypography-body2,\n/* [Token消耗hover逻辑转换未启用]\n.is-user > .border.border-muted .bg-muted.rounded.flex.p-0\\.5 > button.rounded-full.size-7,\n.is-user > .border.border-muted .MuiTypography-root.MuiTypography-body2,\n.is-user > .border.border-muted .text-orange-500 {\n    color: #8b6914 !important;\n    font-family: 'Garamond', 'Times New Roman', serif !important;\n}\n*/\n\n/* 加载动画容器 - 必须设置相对定位和足够高度 */\n.flex.items-center.justify-center.size-6 {\n    position: relative !important;\n    width: 100% !important;\n    height: 120px !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n}\n\n/* 加载动画 - 哥特式玫瑰窗外圈旋转 */\n.flex.items-center.justify-center.size-6::before {\n    content: '' !important;\n    position: absolute !important;\n    width: 80px !important;\n    height: 80px !important;\n    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><g fill=\"none\" stroke=\"%238b6914\" stroke-width=\"1.5\"><circle cx=\"50\" cy=\"50\" r=\"45\" opacity=\"0.3\"/><circle cx=\"50\" cy=\"50\" r=\"35\" opacity=\"0.5\"/><circle cx=\"50\" cy=\"50\" r=\"25\" opacity=\"0.7\"/><path d=\"M50,5 L50,25 M50,75 L50,95 M5,50 L25,50 M75,50 L95,50\" opacity=\"0.6\"/><path d=\"M15,15 L30,30 M70,70 L85,85 M85,15 L70,30 M30,70 L15,85\" opacity=\"0.6\"/><circle cx=\"50\" cy=\"10\" r=\"4\" fill=\"%238b6914\" opacity=\"0.8\"/><circle cx=\"50\" cy=\"90\" r=\"4\" fill=\"%238b6914\" opacity=\"0.8\"/><circle cx=\"10\" cy=\"50\" r=\"4\" fill=\"%238b6914\" opacity=\"0.8\"/><circle cx=\"90\" cy=\"50\" r=\"4\" fill=\"%238b6914\" opacity=\"0.8\"/><circle cx=\"20\" cy=\"20\" r=\"3\" fill=\"%238b6914\" opacity=\"0.7\"/><circle cx=\"80\" cy=\"80\" r=\"3\" fill=\"%238b6914\" opacity=\"0.7\"/><circle cx=\"80\" cy=\"20\" r=\"3\" fill=\"%238b6914\" opacity=\"0.7\"/><circle cx=\"20\" cy=\"80\" r=\"3\" fill=\"%238b6914\" opacity=\"0.7\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 50 50\" to=\"360 50 50\" dur=\"8s\" repeatCount=\"indefinite\"/></g></svg>') !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n    z-index: 1 !important;\n}\n\n/* 加载动画 - 内圈藤蔓纹饰与提示文字 */\n.flex.items-center.justify-center.size-6::after {\n    content: '' !important;\n    position: absolute !important;\n    width: 280px !important;\n    height: 60px !important;\n    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 280 60\"><defs><path id=\"vine\" d=\"M5,30 Q15,10 25,30 T45,30 T65,30 T85,30 T105,30 T125,30 T145,30 T165,30 T185,30 T205,30 T225,30 T245,30 T265,30\" fill=\"none\" stroke=\"%23a0826d\" stroke-width=\"1.2\" opacity=\"0.5\"><animate attributeName=\"d\" dur=\"4s\" repeatCount=\"indefinite\" values=\"M5,30 Q15,10 25,30 T45,30 T65,30 T85,30 T105,30 T125,30 T145,30 T165,30 T185,30 T205,30 T225,30 T245,30 T265,30; M5,30 Q15,50 25,30 T45,30 T65,30 T85,30 T105,30 T125,30 T145,30 T165,30 T185,30 T205,30 T225,30 T245,30 T265,30; M5,30 Q15,10 25,30 T45,30 T65,30 T85,30 T105,30 T125,30 T145,30 T165,30 T185,30 T205,30 T225,30 T245,30 T265,30\"/></path></defs><use href=\"%23vine\" y=\"0\"/><use href=\"%23vine\" y=\"0\" transform=\"scale(1,-1) translate(0,-60)\"/><text x=\"140\" y=\"35\" font-family=\"Garamond, Georgia, serif\" font-size=\"13\" fill=\"%233d2817\" text-anchor=\"middle\" font-weight=\"600\" letter-spacing=\"1\">【推荐Ⅱ记忆游玩】<animate attributeName=\"opacity\" dur=\"2s\" values=\"0.5;1;0.5\" repeatCount=\"indefinite\"/></text><circle cx=\"25\" cy=\"30\" r=\"2\" fill=\"%238b6914\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"30;20;30\" repeatCount=\"indefinite\"/></circle><circle cx=\"85\" cy=\"30\" r=\"2\" fill=\"%238b6914\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"30;40;30\" repeatCount=\"indefinite\" begin=\"0.5s\"/></circle><circle cx=\"145\" cy=\"30\" r=\"2\" fill=\"%238b6914\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"30;20;30\" repeatCount=\"indefinite\" begin=\"1s\"/></circle><circle cx=\"205\" cy=\"30\" r=\"2\" fill=\"%238b6914\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"30;40;30\" repeatCount=\"indefinite\" begin=\"1.5s\"/></circle></svg>') !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n    z-index: 2 !important;\n}\n\n/* 移动端适配 */\n@media (max-width: 480px) {\n    .flex.items-center.justify-center.size-6::before {\n        width: 60px !important;\n        height: 60px !important;\n    }\n    .flex.items-center.justify-center.size-6::after {\n        width: 240px !important;\n        height: 50px !important;\n    }\n}\n\n/* 低动效模式 - 降低频率但保留动画 */\n@media (prefers-reduced-motion: reduce) {\n    .flex.items-center.justify-center.size-6::before {\n        animation-duration: 16s !important;\n    }\n}\n\n/* ========== 评论区主容器 - 羊皮卷基底 ========== */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"] {\n    background: linear-gradient(135deg, #f4e8d0 0%, #e8d5b7 25%, #f0e3ca 50%, #e3d2b8 75%, #f4e8d0 100%) !important;\n    position: relative !important;\n    box-shadow: inset 0 0 60px rgba(139, 90, 43, 0.15), \n                0 8px 32px rgba(101, 67, 33, 0.3) !important;\n}\n\n/* 羊皮纸纹理叠加层 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"]::before {\n    content: '' !important;\n    position: absolute !important;\n    top: 0 !important;\n    left: 0 !important;\n    right: 0 !important;\n    bottom: 0 !important;\n    background-image: \n        repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(139, 90, 43, 0.03) 2px, rgba(139, 90, 43, 0.03) 4px),\n        repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(139, 90, 43, 0.03) 2px, rgba(139, 90, 43, 0.03) 4px),\n        radial-gradient(circle at 20% 30%, rgba(160, 120, 70, 0.1) 0%, transparent 50%),\n        radial-gradient(circle at 80% 70%, rgba(140, 100, 60, 0.08) 0%, transparent 50%) !important;\n    pointer-events: none !important;\n    z-index: 1 !important;\n}\n\n/* 顶部烫金装饰边框 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"]::after {\n    content: '' !important;\n    position: absolute !important;\n    top: 0 !important;\n    left: 0 !important;\n    right: 0 !important;\n    height: 4px !important;\n    background: linear-gradient(90deg, \n        transparent 0%, \n        #d4af37 5%, \n        #f0e68c 15%, \n        #d4af37 25%,\n        #b8941e 35%,\n        #d4af37 45%,\n        #f0e68c 55%,\n        #d4af37 65%,\n        #b8941e 75%,\n        #d4af37 85%,\n        #f0e68c 95%,\n        transparent 100%) !important;\n    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.6) !important;\n    pointer-events: none !important;\n    z-index: 2 !important;\n}\n\n/* ========== 评论区标题装饰 ========== */\ndiv.text-lg.font-bold {\n    color: #5c4033 !important;\n    font-family: 'Cinzel', 'Trajan Pro', Georgia, serif !important;\n    text-shadow: \n        1px 1px 0 rgba(212, 175, 55, 0.3),\n        2px 2px 4px rgba(92, 64, 51, 0.2) !important;\n    letter-spacing: 2px !important;\n    position: relative !important;\n    padding: 20px 0 16px 0 !important;\n    z-index: 2 !important;\n}\n\n/* 标题左侧装饰花纹 */\ndiv.text-lg.font-bold::before {\n    content: '✦' !important;\n    position: absolute !important;\n    left: -32px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    font-size: 20px !important;\n    color: #d4af37 !important;\n    text-shadow: 0 0 12px rgba(212, 175, 55, 0.8) !important;\n}\n\n/* 标题右侧装饰花纹 */\ndiv.text-lg.font-bold::after {\n    content: '✦' !important;\n    position: absolute !important;\n    right: -32px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    font-size: 20px !important;\n    color: #d4af37 !important;\n    text-shadow: 0 0 12px rgba(212, 175, 55, 0.8) !important;\n}\n\n/* ========== 评分区域装饰 ========== */\np.MuiTypography-body1.text-grey-600 {\n    color: #6b5744 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    font-weight: 600 !important;\n    letter-spacing: 1px !important;\n    position: relative !important;\n    z-index: 2 !important;\n}\n\n/* 评分容器装饰背景 */\nspan.MuiRating-root {\n    position: relative !important;\n    padding: 8px 12px !important;\n    background: linear-gradient(135deg, rgba(212, 175, 55, 0.08), rgba(184, 148, 30, 0.12)) !important;\n    border-radius: 8px !important;\n    border: 1px solid rgba(212, 175, 55, 0.25) !important;\n    box-shadow: inset 0 1px 3px rgba(139, 90, 43, 0.1) !important;\n    z-index: 2 !important;\n}\n\n/* 未选中星星 - 古铜色 */\nspan.MuiRating-iconEmpty svg {\n    color: #a67c52 !important;\n    filter: drop-shadow(0 1px 2px rgba(92, 64, 51, 0.3)) !important;\n    transition: all 0.3s ease !important;\n}\n\n/* 选中星星 - 烫金效果 */\nspan.MuiRating-iconFilled svg {\n    color: #d4af37 !important;\n    filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.8)) drop-shadow(0 2px 4px rgba(139, 90, 43, 0.4)) !important;\n    transition: all 0.3s ease !important;\n}\n\nspan.MuiRating-iconFilled svg:hover {\n    filter: drop-shadow(0 0 10px rgba(212, 175, 55, 1)) drop-shadow(0 3px 6px rgba(139, 90, 43, 0.5)) !important;\n    transform: scale(1.1) !important;\n}\n\n/* 评分数字 - 烫金色 */\n/* [Token消耗hover逻辑转换未启用]\nspan.text-orange-500 {\n    color: #d4af37 !important;\n    font-weight: 700 !important;\n    text-shadow: 0 1px 3px rgba(139, 90, 43, 0.4) !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n}\n*/\n\n/* ========== 输入框区域 - 蜡封信笺风格 ========== */\ndiv.flex.flex-col.border-gray-200 {\n    background: linear-gradient(135deg, #faf6ed 0%, #f0e8d8 100%) !important;\n    border: 2px solid #c9a961 !important;\n    border-radius: 12px !important;\n    box-shadow: \n        inset 0 2px 8px rgba(139, 90, 43, 0.08),\n        0 4px 16px rgba(92, 64, 51, 0.15) !important;\n    position: relative !important;\n    padding: 16px !important;\n    z-index: 2 !important;\n}\n\n/* 输入框左上角蜡封装饰 */\ndiv.flex.flex-col.border-gray-200::before {\n    content: '◈' !important;\n    position: absolute !important;\n    top: -12px !important;\n    left: 20px !important;\n    width: 24px !important;\n    height: 24px !important;\n    background: radial-gradient(circle, #8b1a1a 0%, #6b0f0f 100%) !important;\n    border-radius: 50% !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    color: #d4af37 !important;\n    font-size: 12px !important;\n    box-shadow: \n        0 2px 6px rgba(139, 26, 26, 0.5),\n        inset 0 1px 2px rgba(255, 255, 255, 0.2) !important;\n    z-index: 3 !important;\n}\n\n/* 输入框 */\ntextarea.rc-textarea {\n    background: rgba(255, 255, 255, 0.6) !important;\n    border: 1px solid rgba(201, 169, 97, 0.4) !important;\n    border-radius: 8px !important;\n    color: #5c4033 !important;\n    font-family: 'Crimson Text', Georgia, serif !important;\n    padding: 12px !important;\n    box-shadow: inset 0 1px 4px rgba(139, 90, 43, 0.06) !important;\n    transition: all 0.3s ease !important;\n}\n\ntextarea.rc-textarea:focus {\n    background: rgba(255, 255, 255, 0.85) !important;\n    border-color: #d4af37 !important;\n    box-shadow: \n        inset 0 1px 4px rgba(139, 90, 43, 0.1),\n        0 0 0 3px rgba(212, 175, 55, 0.15) !important;\n    outline: none !important;\n}\n\ntextarea.rc-textarea::placeholder {\n    color: #a89176 !important;\n    font-style: italic !important;\n}\n\n/* 字数统计 */\ndiv.bg-gray-100.text-gray-500 {\n    background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(184, 148, 30, 0.15)) !important;\n    color: #8b7355 !important;\n    border: 1px solid rgba(201, 169, 97, 0.3) !important;\n    border-radius: 6px !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    font-size: 11px !important;\n    padding: 4px 10px !important;\n    box-shadow: inset 0 1px 2px rgba(139, 90, 43, 0.08) !important;\n}\n\n/* ========== 发送按钮 - 羽毛笔墨水瓶 ========== */\ndiv.cursor-pointer.group.flex.items-center.justify-center {\n    background: linear-gradient(135deg, #8b6914 0%, #d4af37 50%, #8b6914 100%) !important;\n    border: 2px solid #6b5313 !important;\n    border-radius: 10px !important;\n    box-shadow: \n        0 4px 12px rgba(139, 105, 20, 0.4),\n        inset 0 1px 2px rgba(255, 255, 255, 0.3),\n        inset 0 -2px 4px rgba(0, 0, 0, 0.2) !important;\n    transition: all 0.3s ease !important;\n    position: relative !important;\n    overflow: hidden !important;\n}\n\ndiv.cursor-pointer.group.flex.items-center.justify-center::before {\n    content: '' !important;\n    position: absolute !important;\n    top: -50% !important;\n    left: -50% !important;\n    width: 200% !important;\n    height: 200% !important;\n    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.3) 50%, transparent 70%) !important;\n    transform: rotate(45deg) !important;\n    transition: all 0.5s ease !important;\n}\n\ndiv.cursor-pointer.group.flex.items-center.justify-center:hover::before {\n    left: 100% !important;\n}\n\ndiv.cursor-pointer.group.flex.items-center.justify-center:hover {\n    background: linear-gradient(135deg, #a67c1a 0%, #f0d86c 50%, #a67c1a 100%) !important;\n    box-shadow: \n        0 6px 20px rgba(212, 175, 55, 0.6),\n        inset 0 1px 3px rgba(255, 255, 255, 0.4) !important;\n    transform: translateY(-2px) !important;\n}\n\ndiv.cursor-pointer.group.flex.items-center.justify-center:active {\n    transform: translateY(0) !important;\n    box-shadow: \n        0 2px 8px rgba(139, 105, 20, 0.4),\n        inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;\n}\n\n/* 发送按钮图标 */\ndiv[data-state=\"closed\"] svg[data-icon=\"Send03\"] {\n    color: #faf6ed !important;\n    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;\n    transition: all 0.3s ease !important;\n}\n\ndiv.cursor-pointer.group:hover svg[data-icon=\"Send03\"] {\n    color: #ffffff !important;\n    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.8)) !important;\n    transform: translateX(3px) !important;\n}\n\n/* ========== 华丽分割线 - 手绘羽毛笔风格 ========== */\ndiv.style_divider__mW0YX {\n    height: 2px !important;\n    background: linear-gradient(90deg, \n        transparent 0%,\n        rgba(212, 175, 55, 0.3) 10%,\n        #d4af37 30%,\n        rgba(212, 175, 55, 0.6) 50%,\n        #d4af37 70%,\n        rgba(212, 175, 55, 0.3) 90%,\n        transparent 100%) !important;\n    position: relative !important;\n    margin: 24px 0 !important;\n    box-shadow: 0 1px 3px rgba(139, 90, 43, 0.2) !important;\n}\n\n/* 分割线中央装饰 */\ndiv.style_divider__mW0YX::before {\n    content: '❦' !important;\n    position: absolute !important;\n    top: 50% !important;\n    left: 50% !important;\n    transform: translate(-50%, -50%) !important;\n    background: linear-gradient(135deg, #f4e8d0, #e8d5b7) !important;\n    color: #d4af37 !important;\n    font-size: 20px !important;\n    width: 40px !important;\n    height: 40px !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    border-radius: 50% !important;\n    border: 2px solid #d4af37 !important;\n    box-shadow: \n        0 0 12px rgba(212, 175, 55, 0.6),\n        inset 0 1px 3px rgba(255, 255, 255, 0.5) !important;\n}\n\n/* 分割线两侧小装饰 */\ndiv.style_divider__mW0YX::after {\n    content: '✦' !important;\n    position: absolute !important;\n    top: 50% !important;\n    left: 15% !important;\n    transform: translateY(-50%) !important;\n    color: #d4af37 !important;\n    font-size: 12px !important;\n    text-shadow: 0 0 8px rgba(212, 175, 55, 0.8) !important;\n}\n\n/* ========== 排序按钮 - 古典书签风格 ========== */\n.flex.w-full.items-center.justify-between.gap-2.px-2.css-1dmzxoz {\n    position: relative !important;\n    z-index: 2 !important;\n}\n\nbutton.MuiButton-containedPrimary, button.MuiButton-outlinedPrimary {\n    background: linear-gradient(135deg, #e8d5b7 0%, #d4c5a9 100%) !important;\n    border: 2px solid #c9a961 !important;\n    color: #5c4033 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    font-weight: 600 !important;\n    letter-spacing: 1px !important;\n    border-radius: 8px !important;\n    box-shadow: \n        0 2px 6px rgba(92, 64, 51, 0.2),\n        inset 0 1px 2px rgba(255, 255, 255, 0.5) !important;\n    transition: all 0.3s ease !important;\n    position: relative !important;\n    overflow: hidden !important;\n}\n\n/* 选中状态 - 烫金效果 */\nbutton.MuiButton-containedPrimary {\n    background: linear-gradient(135deg, #d4af37 0%, #f0e68c 50%, #d4af37 100%) !important;\n    border-color: #b8941e !important;\n    color: #3d2817 !important;\n    box-shadow: \n        0 4px 12px rgba(212, 175, 55, 0.5),\n        inset 0 1px 3px rgba(255, 255, 255, 0.6),\n        0 0 20px rgba(212, 175, 55, 0.3) !important;\n    font-weight: 700 !important;\n}\n\n/* 按钮左上角书签折角效果 */\nbutton.MuiButton-containedPrimary::before,\nbutton.MuiButton-outlinedPrimary::before {\n    content: '' !important;\n    position: absolute !important;\n    top: 0 !important;\n    right: 0 !important;\n    width: 0 !important;\n    height: 0 !important;\n    border-style: solid !important;\n    border-width: 0 16px 16px 0 !important;\n    border-color: transparent #8b6914 transparent transparent !important;\n    transition: all 0.3s ease !important;\n}\n\nbutton.MuiButton-containedPrimary::before {\n    border-color: transparent #6b5313 transparent transparent !important;\n}\n\nbutton.MuiButton-containedPrimary:hover,\nbutton.MuiButton-outlinedPrimary:hover {\n    background: linear-gradient(135deg, #f0e68c 0%, #d4af37 50%, #f0e68c 100%) !important;\n    border-color: #a67c1a !important;\n    transform: translateY(-2px) !important;\n    box-shadow: \n        0 6px 16px rgba(212, 175, 55, 0.4),\n        inset 0 1px 3px rgba(255, 255, 255, 0.7) !important;\n}\n\n/* ========== 评论列表区域 ========== */\ndiv.p-3.overflow-y-auto {\n    position: relative !important;\n    z-index: 2 !important;\n}\n\n/* 单条评论 - 羊皮纸卡片 */\ndiv.group.ml-0 {\n    background: linear-gradient(135deg, rgba(250, 246, 237, 0.95), rgba(240, 232, 216, 0.9)) !important;\n    border: 1px solid rgba(201, 169, 97, 0.4) !important;\n    border-radius: 12px !important;\n    padding: 16px !important;\n    margin-bottom: 16px !important;\n    box-shadow: \n        0 3px 10px rgba(92, 64, 51, 0.12),\n        inset 0 1px 2px rgba(255, 255, 255, 0.6) !important;\n    position: relative !important;\n    transition: all 0.3s ease !important;\n}\n\n/* 评论卡片左侧装饰条 */\ndiv.group.ml-0::before {\n    content: '' !important;\n    position: absolute !important;\n    left: 0 !important;\n    top: 20% !important;\n    bottom: 20% !important;\n    width: 4px !important;\n    background: linear-gradient(180deg, \n        transparent 0%,\n        #d4af37 20%,\n        #f0e68c 50%,\n        #d4af37 80%,\n        transparent 100%) !important;\n    border-radius: 0 2px 2px 0 !important;\n    opacity: 0 !important;\n    transition: all 0.3s ease !important;\n}\n\ndiv.group.ml-0:hover {\n    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(250, 246, 237, 0.95)) !important;\n    border-color: rgba(212, 175, 55, 0.6) !important;\n    box-shadow: \n        0 6px 20px rgba(92, 64, 51, 0.18),\n        inset 0 1px 3px rgba(255, 255, 255, 0.8) !important;\n    transform: translateX(4px) !important;\n}\n\ndiv.group.ml-0:hover::before {\n    opacity: 1 !important;\n}\n\n/* 用户头像 - 古典画框 */\ndiv.group img.rounded-full {\n    border: 3px solid #d4af37 !important;\n    box-shadow: \n        0 0 0 2px #f4e8d0,\n        0 3px 10px rgba(92, 64, 51, 0.3) !important;\n    transition: all 0.3s ease !important;\n}\n\ndiv.group:hover img.rounded-full {\n    border-color: #f0e68c !important;\n    box-shadow: \n        0 0 0 2px #fff,\n        0 0 16px rgba(212, 175, 55, 0.6) !important;\n    transform: scale(1.05) !important;\n}\n\n/* 用户名 */\ndiv.text-sm.text-grey-600 span.font-bold {\n    color: #5c4033 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    letter-spacing: 0.5px !important;\n    text-shadow: 0 1px 2px rgba(212, 175, 55, 0.2) !important;\n}\n\n/* \"（你）\"标签 */\nspan.text-\\[10px\\] {\n    background: linear-gradient(135deg, #d4af37, #f0e68c) !important;\n    color: #3d2817 !important;\n    padding: 2px 8px !important;\n    border-radius: 12px !important;\n    font-weight: 600 !important;\n    box-shadow: 0 2px 4px rgba(139, 105, 20, 0.3) !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n}\n\n/* 评论内容 */\ndiv.break-all {\n    color: #5c4033 !important;\n    font-family: 'Crimson Text', Georgia, serif !important;\n    line-height: 1.7 !important;\n    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8) !important;\n}\n\n/* 时间戳 */\ndiv.text-xs.text-grey-600 {\n    color: #8b7355 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    font-size: 11px !important;\n    letter-spacing: 0.5px !important;\n}\n\n/* ========== 点赞按钮 - 烫金心形 ========== */\nbutton.text-gray-400 {\n    color: #a67c52 !important;\n    background: linear-gradient(135deg, rgba(212, 175, 55, 0.08), rgba(184, 148, 30, 0.12)) !important;\n    border: 1px solid rgba(201, 169, 97, 0.3) !important;\n    border-radius: 8px !important;\n    padding: 6px 12px !important;\n    transition: all 0.3s ease !important;\n    box-shadow: 0 2px 4px rgba(92, 64, 51, 0.1) !important;\n}\n\nbutton.text-gray-400:hover {\n    color: #d4af37 !important;\n    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(240, 230, 140, 0.2)) !important;\n    border-color: #d4af37 !important;\n    box-shadow: \n        0 4px 12px rgba(212, 175, 55, 0.3),\n        0 0 16px rgba(212, 175, 55, 0.2) !important;\n    transform: translateY(-2px) !important;\n}\n\nbutton.text-gray-400 svg {\n    filter: drop-shadow(0 1px 2px rgba(92, 64, 51, 0.2)) !important;\n    transition: all 0.3s ease !important;\n}\n\nbutton.text-gray-400:hover svg {\n    filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.8)) !important;\n    transform: scale(1.1) !important;\n}\n\n/* 回复文字 */\nspan.cursor-pointer {\n    color: #8b6914 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.5px !important;\n    transition: all 0.3s ease !important;\n    position: relative !important;\n}\n\nspan.cursor-pointer::after {\n    content: '' !important;\n    position: absolute !important;\n    bottom: -2px !important;\n    left: 0 !important;\n    width: 0 !important;\n    height: 2px !important;\n    background: linear-gradient(90deg, #d4af37, #f0e68c) !important;\n    transition: width 0.3s ease !important;\n}\n\nspan.cursor-pointer:hover {\n    color: #d4af37 !important;\n    text-shadow: 0 0 8px rgba(212, 175, 55, 0.6) !important;\n}\n\nspan.cursor-pointer:hover::after {\n    width: 100% !important;\n}\n\n/* 回复区域边框 - 羽毛笔连线 */\ndiv.ml-8.border-l {\n    border-left: 2px dashed rgba(212, 175, 55, 0.4) !important;\n    position: relative !important;\n    padding-left: 16px !important;\n}\n\ndiv.ml-8.border-l::before {\n    content: '✒' !important;\n    position: absolute !important;\n    left: -10px !important;\n    top: 0 !important;\n    color: #d4af37 !important;\n    font-size: 16px !important;\n    text-shadow: 0 0 8px rgba(212, 175, 55, 0.6) !important;\n}\n\n/* ========== 分页栏美化(仅颜色) ========== */\n.MuiPaginationItem-root {\n    color: #6b5744 !important;\n    background: linear-gradient(135deg, rgba(244, 232, 208, 0.6), rgba(232, 213, 183, 0.5)) !important;\n    border: 1px solid rgba(201, 169, 97, 0.3) !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    transition: all 0.3s ease !important;\n}\n\n.MuiPaginationItem-root:hover {\n    background: linear-gradient(135deg, rgba(212, 175, 55, 0.2), rgba(240, 230, 140, 0.25)) !important;\n    border-color: #d4af37 !important;\n    color: #5c4033 !important;\n}\n\n.MuiPaginationItem-root.Mui-selected {\n    background: linear-gradient(135deg, #d4af37, #f0e68c) !important;\n    border-color: #b8941e !important;\n    color: #3d2817 !important;\n    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.4) !important;\n}\n\n.MuiPaginationItem-root.Mui-disabled {\n    background: rgba(232, 213, 183, 0.3) !important;\n    border-color: rgba(201, 169, 97, 0.2) !important;\n    color: #a89176 !important;\n}\n\n.MuiPaginationItem-icon {\n    color: #8b6914 !important;\n}\n\n.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f {\n    background: linear-gradient(135deg, rgba(250, 246, 237, 0.8), rgba(240, 232, 216, 0.7)) !important;\n    border: 1px solid rgba(201, 169, 97, 0.4) !important;\n    border-radius: 8px !important;\n}\n\n.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiBox-root {\n    color: #6b5744 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n    font-weight: 600 !important;\n}\n\n.MuiInputBase-input {\n    background: rgba(255, 255, 255, 0.8) !important;\n    border: 1px solid rgba(201, 169, 97, 0.4) !important;\n    border-radius: 6px !important;\n    color: #5c4033 !important;\n    font-family: 'Cinzel', Georgia, serif !important;\n}\n\n.MuiInputBase-input:focus {\n    border-color: #d4af37 !important;\n    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2) !important;\n}\n\n/* ========== 整体角落装饰 - 羊皮卷卷边效果 ========== */\n/* 左上角卷边 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"] > *:first-child::before {\n    content: '' !important;\n    position: fixed !important;\n    top: 0 !important;\n    left: 0 !important;\n    width: 60px !important;\n    height: 60px !important;\n    background: \n        radial-gradient(circle at 0% 0%, transparent 0%, transparent 40%, rgba(139, 90, 43, 0.15) 40%, rgba(139, 90, 43, 0.15) 45%, transparent 45%),\n        linear-gradient(135deg, #d4c5a9 0%, #e8d5b7 100%) !important;\n    clip-path: polygon(0 0, 100% 0, 0 100%) !important;\n    box-shadow: 2px 2px 8px rgba(92, 64, 51, 0.3) !important;\n    z-index: 10 !important;\n    pointer-events: none !important;\n}\n\n/* 右上角卷边 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"] > *:first-child::after {\n    content: '' !important;\n    position: fixed !important;\n    top: 0 !important;\n    right: 0 !important;\n    width: 60px !important;\n    height: 60px !important;\n    background: \n        radial-gradient(circle at 100% 0%, transparent 0%, transparent 40%, rgba(139, 90, 43, 0.15) 40%, rgba(139, 90, 43, 0.15) 45%, transparent 45%),\n        linear-gradient(225deg, #d4c5a9 0%, #e8d5b7 100%) !important;\n    clip-path: polygon(100% 0, 100% 100%, 0 0) !important;\n    box-shadow: -2px 2px 8px rgba(92, 64, 51, 0.3) !important;\n    z-index: 10 !important;\n    pointer-events: none !important;\n}\n\n/* ========== 飘浮的羽毛装饰（纯CSS动画） ========== */\n@keyframes float-feather {\n    0%, 100% {\n        transform: translateY(0) rotate(0deg);\n        opacity: 0.4;\n    }\n    25% {\n        transform: translateY(-10px) rotate(5deg);\n        opacity: 0.6;\n    }\n    50% {\n        transform: translateY(-5px) rotate(-3deg);\n        opacity: 0.5;\n    }\n    75% {\n        transform: translateY(-12px) rotate(8deg);\n        opacity: 0.7;\n    }\n}\n\n/* 右侧飘浮羽毛 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"] > div:nth-child(2)::before {\n    content: '🪶' !important;\n    position: fixed !important;\n    top: 15% !important;\n    right: 5% !important;\n    font-size: 28px !important;\n    opacity: 0.3 !important;\n    filter: sepia(0.8) hue-rotate(20deg) !important;\n    animation: float-feather 6s ease-in-out infinite !important;\n    z-index: 1 !important;\n    pointer-events: none !important;\n}\n\n/* 左侧飘浮羽毛 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"] > div:nth-child(3)::before {\n    content: '🪶' !important;\n    position: fixed !important;\n    top: 40% !important;\n    left: 3% !important;\n    font-size: 24px !important;\n    opacity: 0.25 !important;\n    filter: sepia(0.8) hue-rotate(20deg) !important;\n    animation: float-feather 8s ease-in-out infinite 2s !important;\n    transform: rotate(-15deg) !important;\n    z-index: 1 !important;\n    pointer-events: none !important;\n}\n\n/* ========== 古典花纹边框装饰 ========== */\n@keyframes border-glow {\n    0%, 100% {\n        opacity: 0.6;\n        filter: drop-shadow(0 0 4px rgba(212, 175, 55, 0.4));\n    }\n    50% {\n        opacity: 1;\n        filter: drop-shadow(0 0 12px rgba(212, 175, 55, 0.8));\n    }\n}\n\n/* 顶部边框花纹 - 左侧 */\ndiv.text-lg.font-bold ~ * {\n    position: relative !important;\n}\n\ndiv.text-lg.font-bold ~ *::before {\n    content: '⟨ ❖ ⟩' !important;\n    position: absolute !important;\n    top: -40px !important;\n    left: 10% !important;\n    color: #d4af37 !important;\n    font-size: 14px !important;\n    letter-spacing: 8px !important;\n    animation: border-glow 3s ease-in-out infinite !important;\n    z-index: 2 !important;\n    pointer-events: none !important;\n}\n\n/* 顶部边框花纹 - 右侧 */\ndiv.text-lg.font-bold ~ *::after {\n    content: '⟨ ❖ ⟩' !important;\n    position: absolute !important;\n    top: -40px !important;\n    right: 10% !important;\n    color: #d4af37 !important;\n    font-size: 14px !important;\n    letter-spacing: 8px !important;\n    animation: border-glow 3s ease-in-out infinite 1.5s !important;\n    z-index: 2 !important;\n    pointer-events: none !important;\n}\n\n/* ========== 蜡印装饰增强 ========== */\n@keyframes wax-seal-pulse {\n    0%, 100% {\n        transform: scale(1);\n        box-shadow: 0 2px 6px rgba(139, 26, 26, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.2);\n    }\n    50% {\n        transform: scale(1.05);\n        box-shadow: 0 3px 10px rgba(139, 26, 26, 0.7), inset 0 1px 3px rgba(255, 255, 255, 0.3);\n    }\n}\n\ndiv.flex.flex-col.border-gray-200::before {\n    animation: wax-seal-pulse 2s ease-in-out infinite !important;\n}\n\n/* ========== 墨水瓶装饰（发送按钮额外效果） ========== */\n@keyframes ink-drip {\n    0% {\n        transform: translateY(-2px);\n        opacity: 0;\n    }\n    50% {\n        opacity: 0.6;\n    }\n    100% {\n        transform: translateY(8px);\n        opacity: 0;\n    }\n}\n\ndiv.cursor-pointer.group.flex.items-center.justify-center::after {\n    content: '💧' !important;\n    position: absolute !important;\n    bottom: -5px !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    font-size: 8px !important;\n    opacity: 0 !important;\n    filter: sepia(1) hue-rotate(200deg) brightness(0.4) !important;\n}\n\ndiv.cursor-pointer.group.flex.items-center.justify-center:active::after {\n    animation: ink-drip 0.6s ease-out !important;\n}\n\n/* ========== 古籍书脊装饰（评论卡片左侧增强） ========== */\ndiv.group.ml-0::after {\n    content: '' !important;\n    position: absolute !important;\n    left: -1px !important;\n    top: 0 !important;\n    bottom: 0 !important;\n    width: 8px !important;\n    background: \n        repeating-linear-gradient(\n            0deg,\n            #8b6914,\n            #8b6914 3px,\n            #6b5313 3px,\n            #6b5313 6px\n        ) !important;\n    opacity: 0 !important;\n    transition: opacity 0.3s ease !important;\n    border-radius: 12px 0 0 12px !important;\n}\n\ndiv.group.ml-0:hover::after {\n    opacity: 0.4 !important;\n}\n\n/* ========== 文字选中效果 - 烫金高亮 ========== */\ndiv.break-all::selection,\ndiv.text-sm.text-grey-600 span.font-bold::selection,\ndiv.text-xs.text-grey-600::selection,\ntextarea.rc-textarea::selection {\n    background: rgba(212, 175, 55, 0.35) !important;\n    color: #3d2817 !important;\n}\n\n/* ========== 滚动条美化 - 羊皮卷轴 ========== */\ndiv.p-3.overflow-y-auto::-webkit-scrollbar {\n    width: 12px !important;\n}\n\ndiv.p-3.overflow-y-auto::-webkit-scrollbar-track {\n    background: linear-gradient(180deg, #e8d5b7, #d4c5a9) !important;\n    border-radius: 10px !important;\n    border: 1px solid rgba(139, 90, 43, 0.2) !important;\n    box-shadow: inset 0 0 6px rgba(92, 64, 51, 0.1) !important;\n}\n\ndiv.p-3.overflow-y-auto::-webkit-scrollbar-thumb {\n    background: linear-gradient(180deg, #d4af37, #b8941e, #d4af37) !important;\n    border-radius: 10px !important;\n    border: 2px solid #8b6914 !important;\n    box-shadow: \n        inset 0 1px 2px rgba(255, 255, 255, 0.3),\n        0 2px 6px rgba(139, 105, 20, 0.4) !important;\n}\n\ndiv.p-3.overflow-y-auto::-webkit-scrollbar-thumb:hover {\n    background: linear-gradient(180deg, #f0e68c, #d4af37, #f0e68c) !important;\n    box-shadow: \n        inset 0 1px 3px rgba(255, 255, 255, 0.5),\n        0 3px 10px rgba(212, 175, 55, 0.6) !important;\n}\n\n/* 滚动条顶部装饰 */\ndiv.p-3.overflow-y-auto::-webkit-scrollbar-button:start {\n    height: 16px !important;\n    background: radial-gradient(circle, #d4af37 30%, transparent 30%) !important;\n    background-size: 6px 6px !important;\n    background-position: center !important;\n    background-repeat: no-repeat !important;\n}\n\n/* 滚动条底部装饰 */\ndiv.p-3.overflow-y-auto::-webkit-scrollbar-button:end {\n    height: 16px !important;\n    background: radial-gradient(circle, #d4af37 30%, transparent 30%) !important;\n    background-size: 6px 6px !important;\n    background-position: center !important;\n    background-repeat: no-repeat !important;\n}\n\n/* 增强版 - 四角古典装饰框 */\ndiv[class*=\"w-full\"][class*=\"bg-white\"][class*=\"bottom-0\"] {\n    outline: 2px solid rgba(212, 175, 55, 0.3) !important;\n    outline-offset: -8px !important;\n}\n\n/* 增强版 - 评论区顶部拱门装饰 */\ndiv.text-lg.font-bold {\n    background: radial-gradient(ellipse at top, rgba(212, 175, 55, 0.15) 0%, transparent 60%) !important;\n    padding-bottom: 24px !important;\n}\n\n\n/* ====== 输入框 · 彩饰手抄本 ====== */\n.is-user > .border.border-muted{\n  min-height: 128px !important; \n    background-color: #f0e0bc !important;\n    background-image: \n        /* 水印层1: 中央盾徽十字 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\"><g opacity=\"0.08\"><path d=\"M100,40 L100,160 M40,100 L160,100\" stroke=\"%238b4513\" stroke-width=\"2\"/><circle cx=\"100\" cy=\"100\" r=\"30\" fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.5\"/><path d=\"M100,70 L110,90 L130,90 L115,103 L120,123 L100,112 L80,123 L85,103 L70,90 L90,90 Z\" fill=\"%238b4513\" opacity=\"0.5\"/></g></svg>'),\n        /* 水印层2: 重复的小十字图案 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"60\" height=\"60\" viewBox=\"0 0 60 60\"><g opacity=\"0.05\" fill=\"%238b4513\"><path d=\"M30,15 L30,45 M15,30 L45,30\" stroke=\"%238b4513\" stroke-width=\"1\" fill=\"none\"/><circle cx=\"30\" cy=\"30\" r=\"2\"/></g></svg>'),\n        /* 羊皮纸纤维纹理 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"120\" height=\"120\" viewBox=\"0 0 120 120\"><g opacity=\"0.15\" stroke=\"%23a0826d\" fill=\"none\" stroke-width=\"0.3\"><path d=\"M0,30 Q30,28 60,32 T120,30 M0,60 Q40,58 80,62 T120,60 M0,90 Q30,88 60,92 T120,90\"/><circle cx=\"20\" cy=\"40\" r=\"0.8\" fill=\"%23a0826d\"/><circle cx=\"80\" cy=\"70\" r=\"0.6\" fill=\"%23a0826d\"/><circle cx=\"50\" cy=\"100\" r=\"0.5\" fill=\"%23a0826d\"/><circle cx=\"100\" cy=\"20\" r=\"0.7\" fill=\"%23a0826d\"/></g></svg>'),\n        /* 主底色渐变 */\n        linear-gradient(135deg, #f4e8d0 0%, #ead8b0 25%, #f0e0bc 50%, #e8d4a8 75%, #f4e8d0 100%) !important;\n    background-size: 60% auto, 60px 60px, 120px 120px, 100% 100% !important;\n    background-position: center, 0 0, 0 0, center !important;\n    background-repeat: no-repeat, repeat, repeat, no-repeat !important;\n    border: 4px double #8b4513 !important;\n    border-radius: 6px !important;\n    box-shadow: \n        inset 0 0 30px rgba(139, 69, 19, 0.15),\n        inset 0 0 60px rgba(218, 165, 32, 0.1),\n        0 0 0 2px #d4a76a,\n        0 0 0 4px #8b4513,\n        0 6px 20px rgba(0, 0, 0, 0.35),\n        0 0 40px rgba(218, 165, 32, 0.2) !important;\n    position: relative !important;\n    isolation: isolate !important;\n    padding: 24px !important;\n    overflow: hidden !important;\n}\n\n/* 输入框 ::before - 四角玫瑰窗 + 顶底装饰带 */\n.is-user > .border.border-muted::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    pointer-events: none !important;\n    z-index: 0 !important;\n    background-image: \n        /* 左上玫瑰窗 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 80 80\"><g fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"><circle cx=\"40\" cy=\"40\" r=\"35\" opacity=\"0.7\"/><circle cx=\"40\" cy=\"40\" r=\"28\" opacity=\"0.6\"/><circle cx=\"40\" cy=\"40\" r=\"20\" opacity=\"0.5\"/><circle cx=\"40\" cy=\"40\" r=\"12\" opacity=\"0.4\"/><circle cx=\"40\" cy=\"40\" r=\"5\" fill=\"%23daa520\" opacity=\"0.8\"/><g><path d=\"M40,5 L40,35 M40,45 L40,75 M5,40 L35,40 M45,40 L75,40 M15,15 L30,30 M50,50 L65,65 M65,15 L50,30 M30,50 L15,65\" stroke=\"%23daa520\" stroke-width=\"1.5\" opacity=\"0.7\"/><circle cx=\"40\" cy=\"10\" r=\"3\" fill=\"%23daa520\"/><circle cx=\"40\" cy=\"70\" r=\"3\" fill=\"%23daa520\"/><circle cx=\"10\" cy=\"40\" r=\"3\" fill=\"%23daa520\"/><circle cx=\"70\" cy=\"40\" r=\"3\" fill=\"%23daa520\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 40 40\" to=\"360 40 40\" dur=\"20s\" repeatCount=\"indefinite\"/></g></g></svg>'),\n        /* 右上玫瑰窗 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 80 80\"><g fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"><circle cx=\"40\" cy=\"40\" r=\"35\" opacity=\"0.7\"/><circle cx=\"40\" cy=\"40\" r=\"28\" opacity=\"0.6\"/><circle cx=\"40\" cy=\"40\" r=\"20\" opacity=\"0.5\"/><circle cx=\"40\" cy=\"40\" r=\"5\" fill=\"%23daa520\" opacity=\"0.8\"/><g><path d=\"M40,10 L45,30 L65,30 L50,42 L55,62 L40,50 L25,62 L30,42 L15,30 L35,30 Z\" fill=\"%23daa520\" opacity=\"0.6\" stroke=\"%238b4513\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"360 40 40\" to=\"0 40 40\" dur=\"25s\" repeatCount=\"indefinite\"/></g></g></svg>'),\n        /* 左下玫瑰窗 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 80 80\"><g fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"><circle cx=\"40\" cy=\"40\" r=\"35\" opacity=\"0.7\"/><g><path d=\"M40,40 L40,15 Q50,20 55,30 Z M40,40 L65,40 Q60,50 50,55 Z M40,40 L40,65 Q30,60 25,50 Z M40,40 L15,40 Q20,30 30,25 Z\" fill=\"%23daa520\" opacity=\"0.5\" stroke=\"%238b4513\"/><circle cx=\"40\" cy=\"40\" r=\"6\" fill=\"%238b4513\"/><circle cx=\"40\" cy=\"40\" r=\"3\" fill=\"%23daa520\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 40 40\" to=\"-360 40 40\" dur=\"22s\" repeatCount=\"indefinite\"/></g></g></svg>'),\n        /* 右下玫瑰窗 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 80 80\"><g fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"><circle cx=\"40\" cy=\"40\" r=\"35\" opacity=\"0.7\"/><circle cx=\"40\" cy=\"40\" r=\"25\" opacity=\"0.5\"/><g><path d=\"M40,15 L42,38 L65,40 L42,42 L40,65 L38,42 L15,40 L38,38 Z\" fill=\"%23daa520\" opacity=\"0.7\" stroke=\"%238b4513\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 40 40\" to=\"360 40 40\" dur=\"18s\" repeatCount=\"indefinite\"/></g><circle cx=\"40\" cy=\"40\" r=\"4\" fill=\"%238b4513\"/></g></svg>'),\n        /* 顶部卷草装饰带 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 400 24\" preserveAspectRatio=\"none\"><g fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"><path d=\"M0,12 Q20,2 40,12 T80,12 T120,12 T160,12 T200,12 T240,12 T280,12 T320,12 T360,12 T400,12\" opacity=\"0.7\"><animate attributeName=\"d\" dur=\"6s\" repeatCount=\"indefinite\" values=\"M0,12 Q20,2 40,12 T80,12 T120,12 T160,12 T200,12 T240,12 T280,12 T320,12 T360,12 T400,12;M0,12 Q20,22 40,12 T80,12 T120,12 T160,12 T200,12 T240,12 T280,12 T320,12 T360,12 T400,12;M0,12 Q20,2 40,12 T80,12 T120,12 T160,12 T200,12 T240,12 T280,12 T320,12 T360,12 T400,12\"/></path><g fill=\"%23daa520\" stroke=\"%238b4513\" stroke-width=\"0.5\"><circle cx=\"40\" cy=\"12\" r=\"2.5\"><animate attributeName=\"r\" values=\"2.5;4;2.5\" dur=\"3s\" repeatCount=\"indefinite\"/></circle><circle cx=\"120\" cy=\"12\" r=\"2.5\"><animate attributeName=\"r\" values=\"2.5;4;2.5\" dur=\"3s\" begin=\"0.5s\" repeatCount=\"indefinite\"/></circle><circle cx=\"200\" cy=\"12\" r=\"3\"><animate attributeName=\"r\" values=\"3;5;3\" dur=\"3s\" begin=\"1s\" repeatCount=\"indefinite\"/></circle><circle cx=\"280\" cy=\"12\" r=\"2.5\"><animate attributeName=\"r\" values=\"2.5;4;2.5\" dur=\"3s\" begin=\"1.5s\" repeatCount=\"indefinite\"/></circle><circle cx=\"360\" cy=\"12\" r=\"2.5\"><animate attributeName=\"r\" values=\"2.5;4;2.5\" dur=\"3s\" begin=\"2s\" repeatCount=\"indefinite\"/></circle></g></g></svg>'),\n        /* 底部百合花饰带 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 400 24\" preserveAspectRatio=\"none\"><g><path d=\"M0,12 L400,12\" stroke=\"%238b4513\" stroke-width=\"0.8\" opacity=\"0.5\"/><g fill=\"%23daa520\" stroke=\"%238b4513\" stroke-width=\"0.6\" opacity=\"0.85\"><g transform=\"translate(50,12)\"><path d=\"M0,-8 Q-3,-4 -6,0 Q-3,2 0,0 Q3,2 6,0 Q3,-4 0,-8 M0,0 L0,8 M-4,4 L4,4\"><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;5;-5;0\" dur=\"4s\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(130,12)\"><path d=\"M0,-8 Q-3,-4 -6,0 Q-3,2 0,0 Q3,2 6,0 Q3,-4 0,-8 M0,0 L0,8 M-4,4 L4,4\"><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;-5;5;0\" dur=\"4s\" begin=\"0.7s\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(210,12)\"><path d=\"M0,-9 Q-4,-4 -7,0 Q-3,3 0,0 Q3,3 7,0 Q4,-4 0,-9 M0,0 L0,9 M-5,5 L5,5\"><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;5;-5;0\" dur=\"4s\" begin=\"1.4s\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(290,12)\"><path d=\"M0,-8 Q-3,-4 -6,0 Q-3,2 0,0 Q3,2 6,0 Q3,-4 0,-8 M0,0 L0,8 M-4,4 L4,4\"><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;-5;5;0\" dur=\"4s\" begin=\"2.1s\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(370,12)\"><path d=\"M0,-8 Q-3,-4 -6,0 Q-3,2 0,0 Q3,2 6,0 Q3,-4 0,-8 M0,0 L0,8 M-4,4 L4,4\"><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;5;-5;0\" dur=\"4s\" begin=\"2.8s\" repeatCount=\"indefinite\"/></path></g></g></g></svg>') !important;\n    background-size: 56px 56px, 56px 56px, 56px 56px, 56px 56px, 100% 18px, 100% 18px !important;\n    background-position: 6px 6px, calc(100% - 6px) 6px, 6px calc(100% - 6px), calc(100% - 6px) calc(100% - 6px), center 28px, center calc(100% - 28px) !important;\n    background-repeat: no-repeat !important;\n}\n\n/* 输入框 ::after - 漂浮烛火 + 圣十字 + 闪烁星金 */\n.is-user > .border.border-muted::after {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    pointer-events: none !important;\n    z-index: 0 !important;\n    background-image: \n        /* 左侧漂浮烛火光点 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 200\"><g><circle cx=\"20\" cy=\"180\" r=\"2.5\" fill=\"%23ffd700\" opacity=\"0.8\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"6s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.9;0.9;0\" dur=\"6s\" repeatCount=\"indefinite\"/><animate attributeName=\"r\" values=\"2;3;2\" dur=\"1.5s\" repeatCount=\"indefinite\"/></circle><circle cx=\"14\" cy=\"180\" r=\"2\" fill=\"%23ffa500\" opacity=\"0.7\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"7s\" begin=\"2s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.8;0.8;0\" dur=\"7s\" begin=\"2s\" repeatCount=\"indefinite\"/></circle><circle cx=\"26\" cy=\"180\" r=\"1.8\" fill=\"%23ffb84d\" opacity=\"0.7\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"8s\" begin=\"4s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.7;0.7;0\" dur=\"8s\" begin=\"4s\" repeatCount=\"indefinite\"/></circle><circle cx=\"20\" cy=\"180\" r=\"1.5\" fill=\"%23ffd700\" opacity=\"0.6\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"9s\" begin=\"1s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.6;0.6;0\" dur=\"9s\" begin=\"1s\" repeatCount=\"indefinite\"/></circle></g></svg>'),\n        /* 右侧漂浮烛火光点 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 200\"><g><circle cx=\"20\" cy=\"180\" r=\"2.5\" fill=\"%23ffd700\" opacity=\"0.8\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"7s\" begin=\"1.5s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.9;0.9;0\" dur=\"7s\" begin=\"1.5s\" repeatCount=\"indefinite\"/></circle><circle cx=\"26\" cy=\"180\" r=\"2\" fill=\"%23ffa500\" opacity=\"0.7\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"8s\" begin=\"3s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.8;0.8;0\" dur=\"8s\" begin=\"3s\" repeatCount=\"indefinite\"/></circle><circle cx=\"14\" cy=\"180\" r=\"1.8\" fill=\"%23ffb84d\" opacity=\"0.7\"><animate attributeName=\"cy\" values=\"180;-20\" dur=\"9s\" begin=\"0.5s\" repeatCount=\"indefinite\"/><animate attributeName=\"opacity\" values=\"0;0.7;0.7;0\" dur=\"9s\" begin=\"0.5s\" repeatCount=\"indefinite\"/></circle></g></svg>'),\n        /* 中央漂浮圣十字 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 60\"><g opacity=\"0.25\" fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1\"><path d=\"M30,10 L30,50 M15,25 L45,25\" stroke-width=\"1.2\"/><circle cx=\"30\" cy=\"25\" r=\"6\" stroke=\"%23daa520\"/><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0 30 30;3 30 30;-3 30 30;0 30 30\" dur=\"8s\" repeatCount=\"indefinite\"/></g></svg>'),\n        /* 闪烁星形金箔 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"200\" viewBox=\"0 0 200 200\"><g fill=\"%23daa520\"><g transform=\"translate(40,60)\"><path d=\"M0,-4 L1,-1 L4,0 L1,1 L0,4 L-1,1 L-4,0 L-1,-1 Z\"><animate attributeName=\"opacity\" values=\"0;1;0\" dur=\"3s\" repeatCount=\"indefinite\"/><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;180\" dur=\"6s\" additive=\"sum\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(160,40)\"><path d=\"M0,-4 L1,-1 L4,0 L1,1 L0,4 L-1,1 L-4,0 L-1,-1 Z\"><animate attributeName=\"opacity\" values=\"0;1;0\" dur=\"3s\" begin=\"1s\" repeatCount=\"indefinite\"/><animateTransform attributeName=\"transform\" type=\"rotate\" values=\"0;180\" dur=\"6s\" begin=\"1s\" additive=\"sum\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(80,140)\"><path d=\"M0,-3 L1,-1 L3,0 L1,1 L0,3 L-1,1 L-3,0 L-1,-1 Z\"><animate attributeName=\"opacity\" values=\"0;1;0\" dur=\"3s\" begin=\"2s\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(140,160)\"><path d=\"M0,-4 L1,-1 L4,0 L1,1 L0,4 L-1,1 L-4,0 L-1,-1 Z\"><animate attributeName=\"opacity\" values=\"0;1;0\" dur=\"3s\" begin=\"0.5s\" repeatCount=\"indefinite\"/></path></g><g transform=\"translate(100,80)\"><path d=\"M0,-3 L1,-1 L3,0 L1,1 L0,3 L-1,1 L-3,0 L-1,-1 Z\"><animate attributeName=\"opacity\" values=\"0;0.8;0\" dur=\"4s\" begin=\"1.5s\" repeatCount=\"indefinite\"/></path></g></g></svg>') !important;\n    background-size: 32px 100%, 32px 100%, 50px 50px, 200px 200px !important;\n    background-position: 12px center, calc(100% - 12px) center, center, center !important;\n    background-repeat: no-repeat, no-repeat, repeat !important;\n}\n\n/* 文本必须浮于所有装饰之上 */\n.is-user > .border.border-muted .rili-markdown-renderer {\n    color: #3d2817 !important;\n    font-family: 'Garamond', 'Palatino Linotype', 'Book Antiqua', 'Georgia', serif !important;\n    font-weight: 500 !important;\n    font-size: 1.02em !important;\n    letter-spacing: 0.3px !important;\n    background: transparent !important;\n    z-index: 2 !important;\n    position: relative !important;\n    padding: 8px 50px !important;\n    text-shadow: 0 1px 0 rgba(244, 232, 208, 0.5) !important;\n}\n\n.is-user > .border.border-muted .rili-markdown-renderer strong {\n    color: #6b3410 !important;\n    font-weight: bold !important;\n}\n\n/* 移动端适配 */\n@media (max-width: 480px) {\n    .is-user > .border.border-muted {\n      min-height: 96px !important; \n        padding: 18px !important;\n        background-size: 80% auto, 50px 50px, 100px 100px, 100% 100% !important;\n    }\n    .is-user > .border.border-muted::before {\n        background-size: 40px 40px, 40px 40px, 40px 40px, 40px 40px, 100% 14px, 100% 14px !important;\n        background-position: 4px 4px, calc(100% - 4px) 4px, 4px calc(100% - 4px), calc(100% - 4px) calc(100% - 4px), center 22px, center calc(100% - 22px) !important;\n    }\n    .is-user > .border.border-muted .rili-markdown-renderer {\n        padding: 6px 36px !important;\n    }\n}\n\n/* 低动效模式 */\n@media (prefers-reduced-motion: reduce) {\n    .is-user > .border.border-muted::before,\n    .is-user > .border.border-muted::after {\n        animation-duration: 30s !important;\n    }\n}\n\n\n/* ========== 顶部栏主容器 - 羊皮纸基底 ========== */\nheader.flex.justify-between {\n    background: \n        /* 顶部金线装饰 */\n        linear-gradient(180deg, transparent 0%, transparent calc(100% - 3px), #8b6914 calc(100% - 3px), #d4af37 calc(100% - 2px), #8b6914 calc(100% - 1px), transparent 100%),\n        /* 底部金线装饰 */\n        linear-gradient(0deg, transparent 0%, transparent calc(100% - 3px), #8b6914 calc(100% - 3px), #d4af37 calc(100% - 2px), #8b6914 calc(100% - 1px), transparent 100%),\n        /* 古旧斑点纹理 */\n        radial-gradient(ellipse at 15% 50%, rgba(139, 90, 43, 0.12) 0%, transparent 25%),\n        radial-gradient(ellipse at 85% 50%, rgba(139, 90, 43, 0.12) 0%, transparent 25%),\n        radial-gradient(circle at 30% 80%, rgba(101, 67, 33, 0.08) 0%, transparent 15%),\n        radial-gradient(circle at 70% 20%, rgba(101, 67, 33, 0.08) 0%, transparent 15%),\n        radial-gradient(circle at 50% 50%, rgba(160, 110, 60, 0.06) 0%, transparent 30%),\n        /* 羊皮纸纹理 */\n        repeating-linear-gradient(\n            93deg,\n            transparent 0px,\n            rgba(139, 90, 43, 0.03) 1px,\n            transparent 3px,\n            transparent 8px\n        ),\n        repeating-linear-gradient(\n            178deg,\n            transparent 0px,\n            rgba(101, 67, 33, 0.025) 1px,\n            transparent 4px,\n            transparent 12px\n        ),\n        /* 底色渐变 */\n        linear-gradient(135deg, #f4e4c1 0%, #ead8b3 25%, #f0deb8 50%, #e6d0a8 75%, #f4e4c1 100%) !important;\n    border-bottom: none !important;\n    box-shadow: \n        inset 0 0 80px rgba(139, 90, 43, 0.18),\n        inset 0 -2px 8px rgba(92, 64, 51, 0.15),\n        0 4px 12px rgba(92, 64, 51, 0.3),\n        0 6px 24px rgba(139, 90, 43, 0.2) !important;\n    position: relative !important;\n    overflow: hidden !important;\n}\n\n/* ========== 顶部栏底层SVG装饰 - 古典花纹背景 ========== */\nheader.flex.justify-between::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    background-image: \n        /* 中央徽章 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%238b6914' stroke-width='0.6' opacity='0.25'><circle cx='40' cy='40' r='28'/><circle cx='40' cy='40' r='22'/><circle cx='40' cy='40' r='16'/><path d='M40 12 L42 38 L40 40 L38 38 Z M40 68 L42 42 L40 40 L38 42 Z M12 40 L38 42 L40 40 L38 38 Z M68 40 L42 42 L40 40 L42 38 Z'/><circle cx='40' cy='40' r='3' fill='%23d4af37'/></g></svg>\"),\n        /* 角落鸢尾花 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><g fill='%238b6914' opacity='0.15'><path d='M20 5 Q18 12 14 15 Q12 17 14 19 L20 22 L26 19 Q28 17 26 15 Q22 12 20 5 Z'/><path d='M20 22 L20 32 M14 26 L20 28 L26 26'/><circle cx='20' cy='35' r='1.5'/></g></svg>\"),\n        /* 藤蔓花纹 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='40' viewBox='0 0 120 40'><g fill='none' stroke='%238b6914' stroke-width='0.5' opacity='0.18'><path d='M0 20 Q15 5 30 20 T60 20 T90 20 T120 20'/><path d='M0 20 Q15 35 30 20 T60 20 T90 20 T120 20'/><circle cx='30' cy='20' r='2'/><circle cx='60' cy='20' r='2'/><circle cx='90' cy='20' r='2'/></g></svg>\") !important;\n    background-position: \n        center center,\n        20px 50%,\n        center center !important;\n    background-repeat: \n        no-repeat,\n        repeat-x,\n        repeat-x !important;\n    background-size: \n        80px 80px,\n        40px 40px,\n        120px 40px !important;\n    pointer-events: none !important;\n    z-index: 0 !important;\n}\n\n/* ========== 拉丁文格言 - 左侧镌刻 ========== */\nheader.flex.justify-between::after {\n    content: 'Vita sine litteris mors est' !important;\n    position: absolute !important;\n    left: 90px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    font-family: 'Cinzel', 'Trajan Pro', 'Cormorant Garamond', Georgia, serif !important;\n    font-size: 11px !important;\n    font-style: italic !important;\n    font-weight: 600 !important;\n    letter-spacing: 2.5px !important;\n    color: #3d2817 !important;\n    text-shadow: \n        0 1px 0 rgba(244, 228, 193, 0.8),\n        0 -1px 0 rgba(92, 64, 51, 0.2),\n        1px 1px 2px rgba(212, 175, 55, 0.3) !important;\n    pointer-events: none !important;\n    z-index: 1 !important;\n    white-space: nowrap !important;\n    opacity: 0.85 !important;\n}\n\n/* 移动端隐藏拉丁文 */\n@media (max-width: 768px) {\n    header.flex.justify-between::after {\n        display: none !important;\n    }\n}\n\n/* ========== 法文格言 - 右侧装饰（通过模型选择器容器实现） ========== */\n#nav-middle {\n    position: relative !important;\n}\n\n#nav-middle::after {\n    content: 'Qui sait apprendre, sait vivre' !important;\n    position: fixed !important;\n    right: 140px !important;\n    top: 22px !important;\n    font-family: 'Cormorant Garamond', 'Garamond', 'Times New Roman', serif !important;\n    font-size: 11px !important;\n    font-style: italic !important;\n    font-weight: 600 !important;\n    letter-spacing: 1.8px !important;\n    color: #3d2817 !important;\n    text-shadow: \n        0 1px 0 rgba(244, 228, 193, 0.8),\n        0 -1px 0 rgba(92, 64, 51, 0.2),\n        1px 1px 2px rgba(212, 175, 55, 0.3) !important;\n    pointer-events: none !important;\n    z-index: 1 !important;\n    white-space: nowrap !important;\n    opacity: 0.85 !important;\n}\n\n@media (max-width: 768px) {\n    #nav-middle::after {\n        display: none !important;\n    }\n}\n\n/* ========== 装饰性首字母花饰（拉丁文前） ========== */\n#nav-middle::before {\n    content: '' !important;\n    position: fixed !important;\n    left: 60px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 24px !important;\n    height: 24px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='none' stroke='%238b1a1a' stroke-width='0.8'><circle cx='12' cy='12' r='10' fill='%23d4af37' fill-opacity='0.3'/><path d='M12 4 L13 11 L12 12 L11 11 Z M12 20 L13 13 L12 12 L11 13 Z M4 12 L11 13 L12 12 L11 11 Z M20 12 L13 13 L12 12 L13 11 Z' fill='%238b1a1a' fill-opacity='0.7'/><circle cx='12' cy='12' r='2' fill='%238b1a1a'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    pointer-events: none !important;\n    z-index: 2 !important;\n    filter: drop-shadow(0 1px 2px rgba(92, 64, 51, 0.4)) !important;\n}\n\n@media (max-width: 768px) {\n    #nav-middle::before {\n        display: none !important;\n    }\n}\n\n/* ========== 模型选择器 - 镶金书签风格 ========== */\n#nav-middle .group.flex.items-center {\n    background: \n        linear-gradient(135deg, rgba(244, 228, 193, 0.6), rgba(234, 216, 179, 0.7)) !important;\n    border: 1px solid rgba(139, 105, 20, 0.4) !important;\n    border-radius: 4px !important;\n    padding: 4px 12px !important;\n    box-shadow: \n        inset 0 1px 0 rgba(255, 255, 255, 0.5),\n        inset 0 -1px 2px rgba(139, 90, 43, 0.15),\n        0 2px 6px rgba(92, 64, 51, 0.2) !important;\n    position: relative !important;\n    transition: all 0.3s ease !important;\n}\n\n#nav-middle .group.flex.items-center::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: -1px !important;\n    border-radius: 4px !important;\n    background: linear-gradient(135deg, transparent 30%, rgba(212, 175, 55, 0.6) 50%, transparent 70%) !important;\n    opacity: 0 !important;\n    transition: opacity 0.4s ease !important;\n    pointer-events: none !important;\n}\n\n#nav-middle .group.flex.items-center:hover::before {\n    opacity: 1 !important;\n}\n\n#nav-middle .group.flex.items-center:hover {\n    transform: translateY(-1px) !important;\n    box-shadow: \n        inset 0 1px 0 rgba(255, 255, 255, 0.6),\n        0 4px 12px rgba(139, 105, 20, 0.4) !important;\n}\n\n/* 模型名称 */\n#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {\n    font-family: 'Cinzel', 'Cormorant Garamond', Georgia, serif !important;\n    font-weight: 600 !important;\n    color: #3d2817 !important;\n    letter-spacing: 0.8px !important;\n    text-shadow: 0 1px 0 rgba(244, 228, 193, 0.8) !important;\n}\n\n/* 下拉箭头 */\n#nav-middle .shrink-0.flex.items-center svg {\n    color: #8b6914 !important;\n    filter: drop-shadow(0 1px 1px rgba(92, 64, 51, 0.3)) !important;\n    transition: transform 0.3s ease !important;\n}\n\n#nav-middle .group.flex.items-center:hover .shrink-0.flex.items-center svg {\n    transform: translateY(2px) !important;\n    color: #d4af37 !important;\n}\n\n/* ========== 设置按钮 - 蜡封印章风格 ========== */\n#nav-right button {\n    background: \n        radial-gradient(circle at 30% 30%, #c41e3a 0%, #8b1a1a 50%, #5c1010 100%) !important;\n    border: 2px solid #8b6914 !important;\n    border-radius: 50% !important;\n    width: 36px !important;\n    height: 36px !important;\n    box-shadow: \n        inset 0 2px 4px rgba(255, 255, 255, 0.2),\n        inset 0 -2px 4px rgba(0, 0, 0, 0.4),\n        0 2px 6px rgba(139, 26, 0.5),\n        0 0 0 2px rgba(212, 175, 55, 0.3) !important;\n    position: relative !important;\n    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;\n}\n\n#nav-right button::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: -6px !important;\n    border-radius: 50% !important;\n    background: \n        conic-gradient(from 0deg, \n            transparent 0deg, \n            rgba(212, 175, 55, 0.6) 45deg, \n            transparent 90deg,\n            transparent 180deg,\n            rgba(212, 175, 55, 0.6) 225deg,\n            transparent 270deg) !important;\n    opacity: 0 !important;\n    transition: opacity 0.4s ease !important;\n    animation: seal-rotate 6s linear infinite !important;\n    z-index: -1 !important;\n}\n\n@keyframes seal-rotate {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n}\n\n#nav-right button:hover::before {\n    opacity: 1 !important;\n}\n\n#nav-right button:hover {\n    transform: rotate(15deg) scale(1.1) !important;\n    box-shadow: \n        inset 0 2px 6px rgba(255, 255, 255, 0.3),\n        inset 0 -2px 4px rgba(0, 0, 0, 0.4),\n        0 4px 14px rgba(139, 26, 26, 0.7),\n        0 0 0 2px rgba(212, 175, 55, 0.6) !important;\n}\n\n#nav-right button svg {\n    color: #f4e4c1 !important;\n    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5)) !important;\n}\n\n/* ========== 历史记录图标（移动端） ========== */\nheader.flex.justify-between.w-full.top-0 svg.lucide-clock-8 {\n    color: #5c4033 !important;\n    filter: \n        drop-shadow(0 1px 1px rgba(244, 228, 193, 0.8))\n        drop-shadow(0 -1px 1px rgba(92, 64, 51, 0.3)) !important;\n    transition: all 0.3s ease !important;\n}\n\nheader.flex.justify-between.w-full.top-0 svg.lucide-clock-8:hover {\n    color: #8b1a1a !important;\n    transform: rotate(360deg) !important;\n}\n\n/* 历史记录未读角标 */\nheader.flex.justify-between.w-full.top-0 span.MuiBadge-dot.md\\:hidden {\n    background: radial-gradient(circle, #c41e3a, #8b1a1a) !important;\n    box-shadow: \n        0 0 8px rgba(196, 30, 58, 0.8),\n        inset 0 1px 1px rgba(255, 255, 255, 0.4) !important;\n    border: 1px solid #d4af37 !important;\n}\n\n/* ========== 移动端设置图标 ========== */\nheader.flex.justify-between.w-full.top-0 svg:has(use[href=\"#icon-icon-set\"]) {\n    color: #5c4033 !important;\n    filter: drop-shadow(0 1px 1px rgba(244, 228, 193, 0.8)) !important;\n}\n\n/* ========== 音乐按钮 ========== */\nheader.flex.justify-between.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2) {\n    background: rgba(244, 228, 193, 0.4) !important;\n    border: 1px solid rgba(139, 105, 20, 0.3) !important;\n    border-radius: 50% !important;\n}\n\nheader.flex.justify-between.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {\n    color: #5c4033 !important;\n}\n\n/* ========== 顶部栏角落奢华装饰 ========== */\n/* 左上角 - 鸢尾花纹章 */\nheader.flex.justify-between {\n    background-image: \n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'><g fill='none' stroke='%238b6914' stroke-width='0.8' opacity='0.5'><path d='M25 8 Q22 16 20 Q13 22 16 25 L25 30 L34 25 Q37 22 34 20 Q28 16 25 8 Z' fill='%23d4af37' fill-opacity='0.2'/><path d='M25 30 L25 42 M16 36 L25 38 L34 36' stroke-width='1'/><circle cx='25' cy='44' r='1.5' fill='%238b6914'/><path d='M20 14 L25 8 L30 14' stroke-width='0.6'/></g></svg>\"),\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'><g fill='none' stroke='%238b6914' stroke-width='0.8' opacity='0.5'><path d='M25 8 Q22 16 16 20 Q13 22 16 25 L25 30 L34 25 Q37 22 34 20 Q28 16 25 8 Z' fill='%23d4af37' fill-opacity='0.2'/><path d='M25 30 L25 42 M16 36 L25 38 L34 36' stroke-width='1'/><circle cx='25' cy='44' r='1.5' fill='%238b6914'/><path d='M20 14 L25 8 L30 14' stroke-width='0.6'/></g></svg>\") !important;\n    background-position: 8px center, calc(100% - 8px) center !important;\n    background-repeat: no-repeat, no-repeat !important;\n    background-size: 38px 38px, 38px 38px !important;\n}\n\n/* ========== 顶部栏边缘锯齿装饰（古卷封蜡边） ========== */\nheader.flex.justify-between {\n    border-image: linear-gradient(90deg, \n        transparent 0%, \n        #8b6914 10%, \n        #d4af37 30%, \n        #8b6914 50%, \n        #d4af37 70%, \n        #8b6914 90%, \n        transparent 100%) 1 !important;\n}\n\n/* ========== 整体光泽流动效果 ========== */\n@keyframes parchment-shimmer {\n    0%, 100% {\n        background-position: -200% 0;\n    }\n    50% {\n        background-position: 200% 0;\n    }\n}\n\nheader.flex.justify-between {\n    position: relative !important;\n}\n\n/* 顶部中央十字徽章 */\nheader.flex.justify-between {\n    background-image: \n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><g fill='%238b1a1a' opacity='0.3'><path d='M13 4 L17 4 L17 13 L26 13 L26 17 L17 17 L17 26 L13 26 L13 17 L4 17 L4 13 L13 13 Z'/><circle cx='15' cy='15' r='2' fill='%23d4af37'/></g></svg>\") !important;\n    background-position: center 4px !important;\n    background-repeat: no-repeat !important;\n    background-size: 24px 24px !important;\n}\n\n/* ====== 输出框 · 正文已落墨 ====== */\n.is-assistant > .border.border-muted {\n    background-color: #faf3e3 !important;\n    background-image:\n        /* 极淡纤维纹理 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"160\" height=\"160\" viewBox=\"0 0 160 160\"><g opacity=\"0.08\" stroke=\"%23a0826d\" fill=\"none\" stroke-width=\"0.25\"><path d=\"M0,40 Q40,38 80,42 T160,40 M0,80 Q40,78 80,82 T160,80 M0,120 Q40,118 80,122 T160,120\"/><circle cx=\"30\" cy=\"60\" r=\"0.6\" fill=\"%23a0826d\"/><circle cx=\"110\" cy=\"100\" r=\"0.5\" fill=\"%23a0826d\"/><circle cx=\"70\" cy=\"140\" r=\"0.4\" fill=\"%23a0826d\"/></g></svg>'),\n        /* 主底色 */\n        linear-gradient(180deg, #faf3e3 0%, #f5ecd6 100%) !important;\n    background-size: 160px 160px, 100% 100% !important;\n    background-repeat: repeat, no-repeat !important;\n    border: 1px solid #8b4513 !important;\n    border-radius: 3px !important;\n    box-shadow:\n        inset 0 0 0 1px rgba(218, 165, 32, 0.35),\n        inset 0 0 24px rgba(139, 69, 19, 0.06),\n        0 2px 8px rgba(0, 0, 0, 0.12) !important;\n    position: relative !important;\n    isolation: isolate !important;\n    padding: 22px 26px !important;\n    overflow: hidden !important;\n}\n\n/* ::before - 顶部章节双线 + 左上封印 */\n.is-assistant > .border.border-muted::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    pointer-events: none !important;\n    z-index: 0 !important;\n    background-image:\n        /* 顶部章节起首双金线（含中央小菱形） */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 400 12\" preserveAspectRatio=\"none\"><g stroke=\"%23daa520\" fill=\"none\" stroke-width=\"0.6\" opacity=\"0.7\"><path d=\"M20,3 L180,3 M220,3 L380,3\"/><path d=\"M20,9 L180,9 M220,9 L380,9\" opacity=\"0.5\"/><g transform=\"translate(200,6)\" fill=\"%238b4513\" stroke=\"%238b4513\"><path d=\"M0,-4 L4,0 L0,4 L-4,0 Z\" fill=\"%23daa520\"/><circle cx=\"0\" cy=\"0\" r=\"1\" fill=\"%238b4513\"/></g></g></svg>'),\n        /* 左上呼吸封印 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><g><circle cx=\"16\" cy=\"16\" r=\"11\" fill=\"%238b1a1a\" opacity=\"0.78\" stroke=\"%23601010\" stroke-width=\"0.8\"><animate attributeName=\"opacity\" values=\"0.78;0.92;0.78\" dur=\"4s\" repeatCount=\"indefinite\"/><animate attributeName=\"r\" values=\"11;11.6;11\" dur=\"4s\" repeatCount=\"indefinite\"/></circle><g fill=\"none\" stroke=\"%23f5ecd6\" stroke-width=\"0.7\" opacity=\"0.85\"><path d=\"M16,9 L16,23 M9,16 L23,16\"/><circle cx=\"16\" cy=\"16\" r=\"5\"/><path d=\"M11,11 L21,21 M21,11 L11,21\" opacity=\"0.4\"/></g></g></svg>') !important;\n    background-size: 100% 12px, 28px 28px !important;\n    background-position: center 10px, 12px 12px !important;\n    background-repeat: no-repeat !important;\n}\n\n/* ::after - 底部极简收尾纹（不动） */\n.is-assistant > .border.border-muted::after {\n    content: '' !important;\n    position: absolute !important;\n    left: 0 !important;\n    right: 0 !important;\n    bottom: 8px !important;\n    height: 10px !important;\n    pointer-events: none !important;\n    z-index: 0 !important;\n    background-image:\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 400 10\" preserveAspectRatio=\"none\"><g stroke=\"%238b4513\" fill=\"none\" stroke-width=\"0.5\" opacity=\"0.45\"><path d=\"M120,5 L190,5\"/><path d=\"M210,5 L280,5\"/><g transform=\"translate(200,5)\" fill=\"%238b4513\"><circle cx=\"0\" cy=\"0\" r=\"1.2\"/><circle cx=\"-8\" cy=\"0\" r=\"0.6\"/><circle cx=\"8\" cy=\"0\" r=\"0.6\"/></g></g></svg>') !important;\n    background-size: 100% 10px !important;\n    background-position: center !important;\n    background-repeat: no-repeat !important;\n}\n\n/* 正文文字 */\n.is-assistant > .border.border-muted .rili-markdown-renderer {\n    color: #2e1f10 !important;\n    font-family: 'Garamond', 'Palatino Linotype', 'Book Antiqua', 'Georgia', serif !important;\n    font-size: 1.02em !important;\n    line-height: 1.75 !important;\n    letter-spacing: 0.2px !important;\n    background: transparent !important;\n    z-index: 1 !important;\n    position: relative !important;\n    padding: 14px 6px 12px !important;\n}\n\n.is-assistant > .border.border-muted .rili-markdown-renderer strong {\n    color: #8b1a1a !important;\n    font-weight: bold !important;\n}\n\n.is-assistant > .border.border-muted .rili-markdown-renderer em {\n    color: #6b3410 !important;\n}\n\n/* 段首字母美化 */\n.is-assistant > .border.border-muted .rili-markdown-renderer p:first-of-type::first-letter {\n    font-size: 1.4em !important;\n    font-weight: bold !important;\n    color: #8b1a1a !important;\n    margin-right: 1px !important;\n}\n\n/* 移动端 */\n@media (max-width: 480px) {\n    .is-assistant > .border.border-muted {\n        padding: 16px 18px !important;\n    }\n    .is-assistant > .border.border-muted::before {\n        background-size: 100% 10px, 22px 22px !important;\n        background-position: center 8px, 8px 8px !important;\n    }\n    .is-assistant > .border.border-muted .rili-markdown-renderer {\n        padding: 12px 4px 10px !important;\n    }\n}\n\n/* 低动效 */\n@media (prefers-reduced-motion: reduce) {\n    .is-assistant > .border.border-muted::before {\n        animation-duration: 8s !important;\n    }\n}\n\n/* ========== 顶部栏完全不透光增强 ========== */\nheader.flex.justify-between {\n    background: \n        /* 最顶层不透明遮罩 */\n        linear-gradient(180deg, #f8eed5 0%, #f4e4c1 100%),\n        /* 古旧斑点 */\n        radial-gradient(ellipse at 12% 40%, rgba(139, 90, 43, 0.15) 0%, transparent 20%),\n        radial-gradient(ellipse at 88% 60%, rgba(139, 90, 43, 0.15) 0%, transparent 20%),\n        /* 完全不透明底色 */\n        #ead8b3 !important;\n    backdrop-filter: none !important;\n    -webkit-backdrop-filter: none !important;\n    box-shadow: \n        inset 0 0 60px rgba(139, 90, 43, 0.2),\n        inset 0 -3px 12px rgba(92, 64, 51, 0.25),\n        0 6px 20px rgba(92, 64, 51, 0.35),\n        0 10px 40px rgba(139, 90, 43, 0.25) !important;\n    border-bottom: 3px solid transparent !important;\n    border-image: linear-gradient(90deg, \n        transparent 0%,\n        #8b6914 5%,\n        #d4af37 15%,\n        #f0e68c 25%,\n        #d4af37 35%,\n        #8b6914 45%,\n        #d4af37 55%,\n        #8b6914 65%,\n        #d4af37 75%,\n        #f0e68c 85%,\n        #8b6914 95%,\n        transparent 100%) 1 !important;\n}\n\n/* ========== 模型选择器 - 镶嵌宝石书卷 ========== */\n#nav-middle .group.flex.items-center {\n    background: \n        /* 完全不透明基底 */\n        linear-gradient(135deg, #3d2817 0%, #5c4033 50%, #3d2817 100%),\n        #3d2817 !important;\n    border: none !important;\n    border-radius: 8px !important;\n    padding: 8px 20px 8px 16px !important;\n    box-shadow: \n        /* 内部金边 */\n        inset 0 0 0 2px #8b6914,\n        inset 0 0 0 3px #d4af37,\n        inset 0 0 0 4px #8b6914,\n        /* 外发光 */\n        0 0 20px rgba(212, 175, 55, 0.5),\n        /* 立体阴影 */\n        0 4px 12px rgba(0, 0, 0, 0.6),\n        0 8px 24px rgba(139, 105, 20, 0.4),\n        /* 底部高光 */\n        inset 0 -1px 0 rgba(255, 255, 255, 0.1),\n        /* 顶部暗线 */\n        inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;\n    position: relative !important;\n    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;\n    overflow: visible !important;\n}\n\n/* 左侧红宝石装饰 */\n#nav-middle .group.flex.items-center::before {\n    content: '' !important;\n    position: absolute !important;\n    left: -18px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 32px !important;\n    height: 32px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><defs><radialGradient id='ruby' cx='40%' cy='30%'><stop offset='0%' stop-color='%23ff6b8a'/><stop offset='40%' stop-color='%23c41e3a'/><stop offset='70%' stop-color='%238b1a1a'/><stop offset='100%' stop-color='%235c1010'/></radialGradient><filter id='glow'><feGaussianBlur stdDeviation='2' result='coloredBlur'/><feMerge><feMergeNode in='coloredBlur'/><feMergeNode in='SourceGraphic'/></feMerge></filter></defs><g filter='url(%23glow)'><polygon points='16,4 22,10 26,16 22,22 16,28 10,22 6,16 10,10' fill='url(%23ruby)' stroke='%23d4af37' stroke-width='1.5'/><polygon points='16,8 20,12 22,16 20,20 16,24 12,20 10,16 12,12' fill='none' stroke='%23ff9999' stroke-width='0.5' opacity='0.6'/><circle cx='16' cy='14' r='2' fill='%23ffffff' opacity='0.8'/><path d='M16 4 L16 28 M6 16 L26 16 M10 10 L22 22 M22 10 L10 22' stroke='%23660000' stroke-width='0.3' opacity='0.4'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 0 8px rgba(196, 30, 58, 0.8)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)) !important;\n    animation: ruby-pulse 3s ease-in-out infinite !important;\n    z-index: 5 !important;\n}\n\n@keyframes ruby-pulse {\n    0%, 100% {\n        filter: drop-shadow(0 0 8px rgba(196, 30, 58, 0.8)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));\n        transform: translateY(-50%) scale(1);\n    }\n    50% {\n        filter: drop-shadow(0 0 16px rgba(255, 107, 138, 1)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.8));\n        transform: translateY(-50%) scale(1.1);\n    }\n}\n\n/* 右侧翡翠装饰 */\n#nav-middle .group.flex.items-center::after {\n    content: '' !important;\n    position: absolute !important;\n    right: -18px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 32px !important;\n    height: 32px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><defs><radialGradient id='emerald' cx='40%' cy='30%'><stop offset='0%' stop-color='%2350c878'/><stop offset='40%' stop-color='%23228b22'/><stop offset='70%' stop-color='%23145214'/><stop offset='100%' stop-color='%230a3d0a'/></radialGradient><filter id='glow2'><feGaussianBlur stdDeviation='2' result='coloredBlur'/><feMerge><feMergeNode in='coloredBlur'/><feMergeNode in='SourceGraphic'/></feMerge></filter></defs><g filter='url(%23glow2)'><polygon points='16,4 22,10 26,16 22,22 16,28 10,22 6,16 10,10' fill='url(%23emerald)' stroke='%23d4af37' stroke-width='1.5'/><polygon points='16,8 20,12 22,16 20,20 16,24 12,20 10,16 12,12' fill='none' stroke='%2370ff70' stroke-width='0.5' opacity='0.6'/><circle cx='16' cy='14' r='2' fill='%23ffffff' opacity='0.8'/><path d='M16 4 L16 28 M6 16 L26 16 M10 10 L22 22 M22 10 L10 22' stroke='%23003300' stroke-width='0.3' opacity='0.4'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 0 8px rgba(34, 139, 34, 0.8)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)) !important;\n    animation: emerald-pulse 3s ease-in-out infinite 1.5s !important;\n    z-index: 5 !important;\n}\n\n@keyframes emerald-pulse {\n    0%, 100% {\n        filter: drop-shadow(0 0 8px rgba(34, 139, 34, 0.8)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));\n        transform: translateY(-50%) scale(1);\n    }\n    50% {\n        filter: drop-shadow(0 0 16px rgba(80, 200, 120, 1)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.8));\n        transform: translateY(-50%) scale(1.1);\n    }\n}\n\n/* 顶部金冠装饰 */\n#nav-middle {\n    position: relative !important;\n}\n\n#nav-middle::before {\n    content: '' !important;\n    position: absolute !important;\n    top: -20px !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    width: 40px !important;\n    height: 24px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 24'><defs><linearGradient id='gold' x1='0%' y1='0%' x2='0%' y2='100%'><stop offset='0%' stop-color='%23f0e68c'/><stop offset='30%' stop-color='%23d4af37'/><stop offset='70%' stop-color='%23b8941e'/><stop offset='100%' stop-color='%238b6914'/></linearGradient></defs><g><path d='M5 20 L8 12 L12 18 L20 8 L28 18 L32 12 L35 20 L5 20 Z' fill='url(%23gold)' stroke='%235c4033' stroke-width='1'/><circle cx='8' cy='10' r='3' fill='%23c41e3a' stroke='%23d4af37' stroke-width='0.8'/><circle cx='20' cy='6' r='3.5' fill='%23c41e3a' stroke='%23d4af37' stroke-width='0.8'/><circle cx='32' cy='10' r='3' fill='%23c41e3a' stroke='%23d4af37' stroke-width='0.8'/><ellipse cx='20' cy='5' rx='1.5' ry='1' fill='%23ffffff' opacity='0.7'/><path d='M5 20 L8 22 L12 20 L20 22 L28 20 L32 22 L35 20' fill='none' stroke='%23d4af37' stroke-width='1.5'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 2px 6px rgba(139, 105, 20, 0.8)) !important;\n    z-index: 10 !important;\n    pointer-events: none !important;\n    animation: crown-float 4s ease-in-out infinite !important;\n}\n\n@keyframes crown-float {\n    0%, 100% {\n        transform: translateX(-50%) translateY(0);\n    }\n    50% {\n        transform: translateX(-50%) translateY(-3px);\n    }\n}\n\n/* 模型名称文字 - 烫金效果 */\n#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {\n    font-family: 'Cinzel', 'Trajan Pro', Georgia, serif !important;\n    font-size: 14px !important;\n    font-weight: 700 !important;\n    letter-spacing: 2px !important;\n    text-transform: uppercase !important;\n    background: linear-gradient(180deg, #f0e68c 0%, #d4af37 40%, #b8941e 60%, #d4af37 100%) !important;\n    -webkit-background-clip: text !important;\n    -webkit-text-fill-color: transparent !important;\n    background-clip: text !important;\n    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8)) drop-shadow(0 0 8px rgba(212, 175, 55, 0.6)) !important;\n    position: relative !important;\n    z-index: 2 !important;\n}\n\n/* 下拉箭头 - 黄金圣杯形状 */\n#nav-middle .shrink-0.flex.items-center {\n    position: relative !important;\n    width: 24px !important;\n    height: 24px !important;\n    margin-left: 8px !important;\n}\n\n#nav-middle .shrink-0.flex.items-center svg {\n    display: none !important;\n}\n\n#nav-middle .shrink-0.flex.items-center::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><defs><linearGradient id='chalice' x1='0%' y1='0%' x2='0%' y2='100%'><stop offset='0%' stop-color='%23f0e68c'/><stop offset='50%' stop-color='%23d4af37'/><stop offset='100%' stop-color='%238b6914'/></linearGradient></defs><g><path d='M6 4 L18 4 L16 10 Q16 14 12 14 Q8 14 8 10 L6 4 Z' fill='url(%23chalice)' stroke='%235c4033' stroke-width='0.8'/><rect x='10' y='14' width='4' height='6' fill='url(%23chalice)' stroke='%235c4033' stroke-width='0.6'/><ellipse cx='12' cy='20' rx='5' ry='2' fill='url(%23chalice)' stroke='%235c4033' stroke-width='0.8'/><path d='M8 6 Q12 9 16 6' fill='none' stroke='%23f0e68c' stroke-width='0.5' opacity='0.8'/><ellipse cx='12' cy='5' rx='2' ry='1' fill='%23ffffff' opacity='0.6'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)) !important;\n    transition: all 0.3s ease !important;\n}\n\n#nav-middle .group.flex.items-center:hover .shrink-0.flex.items-center::before {\n    filter: drop-shadow(0 0 12px rgba(240, 230, 140, 1)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.8)) !important;\n    transform: translateY(2px) !important;\n}\n\n/* 模型选择器悬停效果增强 */\n#nav-middle .group.flex.items-center:hover {\n    background: \n        linear-gradient(135deg, #4a3020 0%, #6b4a33 50%, #4a3020 100%),\n        #4a3020 !important;\n    box-shadow: \n        inset 0 0 0 2px #a67c1a,\n        inset 0 0 0 3px #f0e68c,\n        inset 0 0 0 4px #a67c1a,\n        0 0 30px rgba(240, 230, 140, 0.8),\n        0 4px 16px rgba(0, 0, 0, 0.8),\n        0 10px 40px rgba(212, 175, 55, 0.6) !important;\n    transform: translateY(-2px) scale(1.02) !important;\n}\n\n/* ========== 模型选择器底部装饰带 ========== */\n#nav-middle .group.flex.items-center {\n    border-bottom: 2px solid transparent !important;\n    border-image: repeating-linear-gradient(\n        90deg,\n        #8b6914 0px,\n        #d4af37 4px,\n        #f0e68c 8px,\n        #d4af37 12px,\n        #8b6914 16px\n    ) 1 !important;\n}\n\n/* ========== 内部装饰纹样 ========== */\n#nav-middle .group.flex.items-center {\n    background-image: \n        /* 中央十字架 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path d='M7 2 L9 2 L9 7 L14 7 L14 9 L9 9 L9 14 L7 14 L7 9 L2 9 L2 7 L7 7 Z' fill='%238b6914' opacity='0.15'/></svg>\"),\n        /* 左侧花纹 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'><g fill='none' stroke='%23d4af37' stroke-width='0.4' opacity='0.3'><path d='M2 4 Q6 8 6 12 Q6 16 2 20'/><circle cx='6' cy='12' r='2'/></g></svg>\"),\n        /* 右侧花纹 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'><g fill='none' stroke='%23d4af37' stroke-width='0.4' opacity='0.3'><path d='M10 4 Q6 8 6 12 Q6 16 10 20'/><circle cx='6' cy='12' r='2'/></g></svg>\") !important;\n    background-position: center center, 4px center, calc(100% - 4px) center !important;\n    background-repeat: no-repeat, no-repeat, no-repeat !important;\n    background-size: 16px 16px, 12px 24px, 12px 24px !important;\n}\n\n/* ========== 顶部栏左侧圣杯徽章 ========== */\nheader.flex.justify-between::before {\n    content: '' !important;\n    position: absolute !important;\n    left: 16px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 48px !important;\n    height: 48px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><defs><radialGradient id='shield' cx='50%' cy='30%'><stop offset='0%' stop-color='%23ffffff'/><stop offset='30%' stop-color='%23f0e68c'/><stop offset='70%' stop-color='%23d4af37'/><stop offset='100%' stop-color='%238b6914'/></radialGradient><filter id='emboss'><feGaussianBlur in='SourceAlpha' stdDeviation='2'/><feOffset dx='2' dy='2' result='offsetblur'/><feComponentTransfer><feFuncA type='linear' slope='0.5'/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in='SourceGraphic'/></feMerge></filter></defs><g filter='url(%23emboss)'><path d='M24 4 L40 12 L40 26 Q40 36 24 44 Q8 36 8 26 L8 12 Z' fill='url(%23shield)' stroke='%235c4033' stroke-width='2'/><path d='M16 20 L20 16 L24 22 L32 14 L36 18 L24 32 Z' fill='%238b1a1a' stroke='%23d4af37' stroke-width='1.5'/><circle cx='24' cy='10' r='2' fill='%23c41e3a'/><path d='M18 12 L24 16 L30 12' fill='none' stroke='%23d4af37' stroke-width='1'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 4px 8px rgba(92, 64, 51, 0.6)) !important;\n    z-index: 3 !important;\n    pointer-events: none !important;\n}\n\n/* ========== 顶部栏右侧圣剑徽章 ========== */\nheader.flex.justify-between::after {\n    content: '' !important;\n    position: absolute !important;\n    right: 100px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 48px !important;\n    height: 48px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><defs><linearGradient id='blade' x1='0%' y1='0%' x2='100%' y2='100%'><stop offset='0%' stop-color='%23e0e0e0'/><stop offset='50%' stop-color='%23c0c0c0'/><stop offset='100%' stop-color='%23909090'/></linearGradient><linearGradient id='hilt' x1='0%' y1='0%' x2='0%' y2='100%'><stop offset='0%' stop-color='%23f0e68c'/><stop offset='50%' stop-color='%23d4af37'/><stop offset='100%' stop-color='%238b6914'/></linearGradient></defs><g><path d='M24 4 L28 24 L26 24 L24 26 L22 24 L20 24 Z' fill='url(%23blade)' stroke='%235c4033' stroke-width='1'/><rect x='22' y='24' width='4' height='6' fill='url(%23hilt)' stroke='%235c4033' stroke-width='0.8'/><rect x='18' y='28' width='12' height='3' rx='1' fill='url(%23hilt)' stroke='%235c4033' stroke-width='0.8'/><rect x='22' y='31' width='4' height='4' fill='url(%23hilt)' stroke='%235c4033' stroke-width='0.8'/><circle cx='24' cy='33' r='3' fill='%23c41e3a' stroke='%23d4af37' stroke-width='1'/><ellipse cx='24' cy='32' rx='1' ry='0.8' fill='%23ffffff' opacity='0.7'/><path d='M24 6 L24 22' stroke='%23ffffff' stroke-width='1' opacity='0.5'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 4px 8px rgba(92, 64, 51, 0.6)) !important;\n    z-index: 3 !important;\n    pointer-events: none !important;\n}\n\n/* ========== 拉丁文与法文重新定位（确保不被遮挡） ========== */\nheader.flex.justify-between {\n    padding-left: 72px !important;\n}\n\n/* 拉丁文调整 */\n#nav-middle::after {\n    left: 78px !important;\n    right: auto !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    position: fixed !important;\n}\n\n/* 法文调整（移到设置按钮左侧） */\n#nav-middle {\n    position: relative !important;\n}\n\n#nav-middle::after {\n    display: none !important;\n}\n\n/* 用设置按钮容器来承载法文 */\n#nav-right button {\n    position: relative !important;\n}\n\n#nav-right button::after {\n    content: 'Qui sait apprendre, sait vivre' !important;\n    position: fixed !important;\n    right: 50px !important;\n    top: 22px !important;\n    font-family: 'Cormorant Garamond', 'Garamond', serif !important;\n    font-size: 11px !important;\n    font-style: italic !important;\n    font-weight: 600 !important;\n    letter-spacing: 1.8px !important;\n    color: #3d2817 !important;\n    text-shadow: \n        0 1px 0 rgba(248, 238, 213, 0.9),\n        0 -1px 0 rgba(92, 64, 51, 0.3),\n        1px 1px 2px rgba(212, 175, 55, 0.4) !important;\n    white-space: nowrap !important;\n    z-index: 2 !important;\n    pointer-events: none !important;\n}\n\n@media (max-width: 1024px) {\n    #nav-right button::after {\n        display: none !important;\n    }\n}\n\n/* ========== 设置按钮增强 - 蜡封圣印 ========== */\n#nav-right button {\n    width: 40px !important;\n    height: 40px !important;\n    background: \n        radial-gradient(circle at 35% 30%, #ff4d6d 0%, #c41e3a 30%, #8b1a1a 60%, #5c1010 100%),\n        #8b1a1a !important;\n    border: none !important;\n    box-shadow: \n        inset 0 0 0 2px #8b6914,\n        inset 0 0 0 3px #d4af37,\n        inset 0 0 0 4px #8b6914,\n        inset 0 3px 6px rgba(255, 255, 255, 0.2),\n        inset 0 -3px 6px rgba(0, 0, 0, 0.5),\n        0 0 20px rgba(196, 30, 58, 0.6),\n        0 4px 12px rgba(0, 0, 0, 0.7),\n        0 0 0 4px rgba(212, 175, 55, 0.4) !important;\n}\n\n#nav-right button::before {\n    inset: -10px !important;\n    background: \n        conic-gradient(from 0deg,\n            transparent 0deg,\n            rgba(212, 175, 55, 0.8) 30deg,\n            transparent 60deg,\n            transparent 120deg,\n            rgba(212, 175, 55, 0.8) 150deg,\n            transparent 180deg,\n            transparent 240deg,\n            rgba(212, 175, 55, 0.8) 270deg,\n            transparent 300deg) !important;\n}\n\n#nav-right button svg {\n    color: #f8eed5 !important;\n    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8)) !important;\n}\n\n#nav-right button:hover {\n    transform: rotate(20deg) scale(1.15) !important;\n    box-shadow: \n        inset 0 0 0 2px #a67c1a,\n        inset 0 0 0 3px #f0e68c,\n        inset 0 0 0 4px #a67c1a,\n        inset 0 3px 8px rgba(255, 255, 255, 0.3),\n        0 0 30px rgba(255, 77, 109, 0.9),\n        0 6px 20px rgba(0, 0, 0, 0.8),\n        0 0 0 4px rgba(240, 230, 140, 0.7) !important;\n}\n\n/* ========== 顶部栏四角宝石装饰 ========== */\nheader.flex.justify-between {\n    background-image:\n        /* 左上蓝宝石 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='sapphire'><stop offset='0%' stop-color='%236ba3ff'/><stop offset='50%' stop-color='%231e3a8a'/><stop offset='100%' stop-color='%230a1f5c'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23sapphire)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.8'/></svg>\"),\n        /* 右上紫水晶 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='amethyst'><stop offset='0%' stop-color='%23c084fc'/><stop offset='50%' stop-color='%237c3aed'/><stop offset='100%' stop-color='%234c1d95'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23amethyst)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.8'/></svg>\"),\n        /* 左下黄玉 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='topaz'><stop offset='0%' stop-color='%23fbbf24'/><stop offset='50%' stop-color='%23d97706'/><stop offset='100%' stop-color='%23b45309'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23topaz)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.8'/></svg>\"),\n        /* 右下钻石 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='diamond'><stop offset='0%' stop-color='%23ffffff'/><stop offset='50%' stop-color='%23e0e0e0'/><stop offset='100%' stop-color='%23a0a0a0'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23diamond)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.9'/><path d='M10 2 L10 18 M2 10 L18 10 M6 6 L14 14 M14 6 L6 14' stroke='%23c0c0c0' stroke-width='0.3' opacity='0.6'/></svg>\") !important;\n    background-position:\n        8px 8px,\n        calc(100% - 8px) 8px,\n        8px calc(100% - 8px),\n        calc(100% - 8px) calc(100% - 8px) !important;\n    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;\n    background-size: 18px 18px, 18px 18px, 18px 18px, 18px 18px !important;\n}\n\n/* ========== 顶部栏中央华丽分隔线 ========== */\nheader.flex.justify-between {\n    border-top: 1px solid transparent !important;\n    border-image: repeating-linear-gradient(\n        90deg,\n        transparent 0px,\n        #8b6914 10px,\n        #d4af37 11px,\n        #f0e68c 12px,\n        #d4af37 13px,\n        #8b6914 14px,\n        transparent 24px\n    ) 1 !important;\n}\n\n/* ========== 模型选择器内部光效流动 ========== */\n@keyframes luxury-shimmer {\n    0% {\n        background-position: -100% 0;\n    }\n    100% {\n        background-position: 200% 0;\n    }\n}\n\n#nav-middle .group.flex.items-center {\n    background-image: \n        linear-gradient(\n            90deg,\n            transparent 0%,\n            transparent 40%,\n            rgba(240, 230, 140, 0.15) 50%,\n            transparent 60%,\n            transparent 100%\n        ) !important;\n    background-size: 200% 100% !important;\n    animation: luxury-shimmer 4s linear infinite !important;\n}\n\n/* ========== 模型选择器上方天使翅膀装饰 ========== */\n#nav-middle {\n    margin-top: 8px !important;\n}\n\n#nav-middle::before {\n    content: '' !important;\n    position: absolute !important;\n    top: -32px !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    width: 140px !important;\n    height: 32px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 32'><defs><linearGradient id='wing' x1='0%' y1='0%' x2='100%' y2='0%'><stop offset='0%' stop-color='%23f0e68c'/><stop offset='50%' stop-color='%23d4af37'/><stop offset='100%' stop-color='%23f0e68c'/></linearGradient></defs><g opacity='0.8'><path d='M70 8 Q60 4 50 8 Q45 10 42 14 Q40 16 38 20 L30 24 Q28 26 30 28 Q32 30 36 28 L44 22 Q48 20 52 18 Q58 16 64 16 L70 8' fill='url(%23wing)' stroke='%235c4033' stroke-width='0.6'/><path d='M70 8 Q80 4 90 8 Q95 10 98 14 Q100 16 102 20 L110 24 Q112 26 110 28 Q108 30 104 28 L96 22 Q92 20 88 18 Q82 16 76 16 L70 8' fill='url(%23wing)' stroke='%235c4033' stroke-width='0.6'/><circle cx='70' cy='8' r='4' fill='%23c41e3a' stroke='%23d4af37' stroke-width='1'/><ellipse cx='70' cy='6' rx='1.5' ry='1' fill='%23ffffff' opacity='0.8'/><path d='M50 12 Q60 14 70 8 Q80 14 90 12' fill='none' stroke='%238b6914' stroke-width='0.4' opacity='0.6'/></g></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 2px 6px rgba(139, 105, 20, 0.6)) !important;\n    z-index: 15 !important;\n    pointer-events: none !important;\n    animation: wings-glow 3s ease-in-out infinite !important;\n}\n\n@keyframes wings-glow {\n    0%, 100% {\n        filter: drop-shadow(0 2px 6px rgba(139, 105, 20, 0.6));\n    }\n    50% {\n        filter: drop-shadow(0 2px 12px rgba(212, 175, 55, 0.9)) drop-shadow(0 0 20px rgba(240, 230, 140, 0.6));\n    }\n}\n\n/* ========== 历史记录图标美化（移动端） ========== */\nheader.flex.justify-between.w-full.top-0 svg.lucide-clock-8 {\n    padding: 6px !important;\n    background: linear-gradient(135deg, rgba(139, 105, 20, 0.15), rgba(212, 175, 55, 0.2)) !important;\n    border-radius: 8px !important;\n    border: 1px solid rgba(139, 105, 20, 0.3) !important;\n    box-shadow: \n        inset 0 1px 2px rgba(255, 255, 255, 0.3),\n        0 2px 6px rgba(92, 64, 51, 0.3) !important;\n}\n\n/* ========== 音乐按钮增强 ========== */\nheader.flex.justify-between.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2) {\n    background: \n        linear-gradient(135deg, rgba(139, 105, 20, 0.2), rgba(212, 175, 55, 0.25)) !important;\n    border: 2px solid rgba(212, 175, 55, 0.5) !important;\n    box-shadow: \n        inset 0 1px 2px rgba(255, 255, 255, 0.4),\n        0 2px 8px rgba(139, 105, 20, 0.4) !important;\n}\n\nheader.flex.justify-between.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {\n    color: #5c4033 !important;\n    filter: drop-shadow(0 1px 2px rgba(212, 175, 55, 0.6)) !important;\n}\n\nheader.flex.justify-between.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2):hover {\n    background: \n        linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(240, 230, 140, 0.35)) !important;\n    box-shadow: \n        0 0 16px rgba(212, 175, 55, 0.7),\n        inset 0 1px 3px rgba(255, 255, 255, 0.5) !important;\n}\n\n/* ========== 移动端设置图标美化 ========== */\nheader.flex.justify-between.w-full.top-0 svg:has(use[href=\"#icon-icon-set\"]) {\n    padding: 6px !important;\n    background: linear-gradient(135deg, rgba(139, 26, 26, 0.15), rgba(196, 30, 58, 0.2)) !important;\n    border-radius: 8px !important;\n    border: 1px solid rgba(139, 26, 26, 0.4) !important;\n    box-shadow: \n        inset 0 1px 2px rgba(255, 255, 255, 0.3),\n        0 2px 6px rgba(92, 64, 51, 0.4) !important;\n    filter: drop-shadow(0 1px 2px rgba(196, 30, 58, 0.4)) !important;\n}\n\n/* ========== 顶部栏整体边框奢华效果 ========== */\nheader.flex.justify-between {\n    outline: 3px solid transparent !important;\n    outline-offset: -3px !important;\n    box-shadow: \n        /* 主阴影 */\n        0 8px 24px rgba(92, 64, 51, 0.4),\n        0 12px 48px rgba(139, 90, 43, 0.3),\n        /* 内部立体感 */\n        inset 0 0 80px rgba(139, 90, 43, 0.2),\n        inset 0 -4px 16px rgba(92, 64, 51, 0.3),\n        inset 0 2px 8px rgba(255, 255, 255, 0.15),\n        /* 金边光晕 */\n        inset 0 0 0 1px rgba(212, 175, 55, 0.3),\n        inset 0 0 0 2px rgba(139, 105, 20, 0.2) !important;\n}\n\n/* ========== 顶部栏底部装饰带 - 连珠纹 ========== */\nheader.flex.justify-between {\n    position: relative !important;\n}\n\nheader.flex.justify-between {\n    padding-bottom: 8px !important;\n    background-image: \n        /* 底部连珠纹 */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='8' viewBox='0 0 24 8'><circle cx='4' cy='4' r='3' fill='none' stroke='%23d4af37' stroke-width='0.6'/><circle cx='12' cy='4' r='3' fill='none' stroke='%23d4af37' stroke-width='0.6'/><circle cx='20' cy='4' r='3' fill='none' stroke='%23d4af37' stroke-width='0.6'/><circle cx='4' cy='4' r='1' fill='%238b6914'/><circle cx='12' cy='4' r='1' fill='%238b6914'/><circle cx='20' cy='4' r='1' fill='%238b6914'/></svg>\"),\n        /* 四角宝石（之前定义的） */\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='sapphire'><stop offset='0%' stop-color='%236ba3ff'/><stop offset='50%' stop-color='%231e3a8a'/><stop offset='100%' stop-color='%230a1f5c'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23sapphire)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.8'/></svg>\"),\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='amethyst'><stop offset='0%' stop-color='%23c084fc'/><stop offset='50%' stop-color='%237c3aed'/><stop offset='100%' stop-color='%234c1d95'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23amethyst)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.8'/></svg>\"),\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='topaz'><stop offset='0%' stop-color='%23fbbf24'/><stop offset='50%' stop-color='%23d97706'/><stop offset='100%' stop-color='%23b45309'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23topaz)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.8'/></svg>\"),\n        url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><defs><radialGradient id='diamond'><stop offset='0%' stop-color='%23ffffff'/><stop offset='50%' stop-color='%23e0e0e0'/><stop offset='100%' stop-color='%23a0a0a0'/></radialGradient></defs><polygon points='10,2 14,6 18,10 14,14 10,18 6,14 2,10 6,6' fill='url(%23diamond)' stroke='%23d4af37' stroke-width='1'/><circle cx='10' cy='8' r='1.5' fill='%23ffffff' opacity='0.9'/><path d='M10 2 L10 18 M2 10 L18 10 M6 6 L14 14 M14 6 L6 14' stroke='%23c0c0c0' stroke-width='0.3' opacity='0.6'/></svg>\") !important;\n    background-position:\n        center bottom,\n        8px 8px,\n        calc(100% - 8px) 8px,\n        8px calc(100% - 8px),\n        calc(100% - 8px) calc(100% - 8px) !important;\n    background-repeat: \n        repeat-x,\n        no-repeat, \n        no-repeat, \n        no-repeat, \n        no-repeat !important;\n    background-size: \n        24px 8px,\n        18px 18px, \n        18px 18px, \n        18px 18px, \n        18px 18px !important;\n}\n\n/* ========== 拉丁文前置装饰花 ========== */\nheader.flex.justify-between {\n    padding-left: 80px !important;\n}\n\nheader.flex.justify-between::before {\n    content: '' !important;\n    position: absolute !important;\n    left: 75px !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 16px !important;\n    height: 16px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><g fill='%238b6914' opacity='0.7'><circle cx='8' cy='8' r='1.5'/><path d='M8 2 L8 6 M8 10 L8 14 M2 8 L6 8 M10 8 L14 8'/><path d='M4 4 L6.5 6.5 M9.5 9.5 L12 12 M12 4 L9.5 6.5 M6.5 9.5 L4 12' stroke='%238b6914' stroke-width='0.5'/></g></svg>\") !important;\n    background-size: contain !important;\n    filter: drop-shadow(0 1px 2px rgba(92, 64, 51, 0.4)) !important;\n    z-index: 3 !important;\n}\n\n/* ========== 法文后置装饰花 ========== */\n#nav-right button::before {\n    content: '' !important;\n    position: fixed !important;\n    right: 42px !important;\n    top: 22px !important;\n    width: 16px !important;\n    height: 16px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><g fill='%238b6914' opacity='0.7'><circle cx='8' cy='8' r='1.5'/><path d='M8 2 L8 6 M8 10 L8 14 M2 8 L6 8 M10 8 L14 8'/><path d='M4 4 L6.5 6.5 M9.5 9.5 L12 12 M12 4 L9.5 6.5 M6.5 9.5 L4 12' stroke='%238b6914' stroke-width='0.5'/></g></svg>\") !important;\n    background-size: contain !important;\n    filter: drop-shadow(0 1px 2px rgba(92, 64, 51, 0.4)) !important;\n    z-index: 2 !important;\n    pointer-events: none !important;\n    animation: none !important;\n}\n\n@media (max-width: 1024px) {\n    #nav-right button::before {\n        display: none !important;\n    }\n}\n\n/* ========== 模型选择器点击激活效果 ========== */\n#nav-middle .group.flex.items-center:active {\n    transform: translateY(0) scale(0.98) !important;\n    box-shadow: \n        inset 0 0 0 2px #6b5313,\n        inset 0 0 0 3px #b8941e,\n        inset 0 0 0 4px #6b5313,\n        inset 0 4px 12px rgba(0, 0, 0, 0.6),\n        0 2px 8px rgba(0, 0, 0, 0.5) !important;\n}\n\n/* ========== 模型选择器文字呼吸发光 ========== */\n@keyframes text-glow-pulse {\n    0%, 100% {\n        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8)) drop-shadow(0 0 8px rgba(212, 175, 55, 0.6));\n    }\n    50% {\n        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 16px rgba(240, 230, 140, 0.9));\n    }\n}\n\n#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {\n    animation: text-glow-pulse 3s ease-in-out infinite !important;\n}\n\n/* ========== 整体完成效果：羊皮纸纹理强化 ========== */\nheader.flex.justify-between::after {\n    content: '' !important;\n    position: absolute !important;\n    inset: 0 !important;\n    background-image: \n        radial-gradient(circle at 25% 30%, rgba(139, 90, 43, 0.06) 0%, transparent 15%),\n        radial-gradient(circle at 75% 70%, rgba(101, 67, 33, 0.05) 0%, transparent 12%),\n        radial-gradient(circle at 50% 50%, rgba(160, 110, 60, 0.04) 0%, transparent 20%),\n        repeating-linear-gradient(\n            93deg,\n            transparent 0px,\n            rgba(139, 90, 43, 0.02) 1px,\n            transparent 2px,\n            transparent 6px\n        ) !important;\n    pointer-events: none !important;\n    z-index: 1 !important;\n}\n\n/* 模型名称左右闪烁星星 */\n#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left::before,\n#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left::after {\n    content: '✦' !important;\n    color: #f0e68c !important;\n    font-size: 10px !important;\n    margin: 0 6px !important;\n    animation: star-twinkle 2s ease-in-out infinite !important;\n}\n\n@keyframes star-twinkle {\n    0%, 100% { opacity: 0.4; transform: scale(0.8); }\n    50% { opacity: 1; transform: scale(1.2); }\n}\n\n\n/* ====== 加载动画容器 · 羊皮纸框架 ====== */\n.flex.items-center.justify-center.size-6 {\n    position: relative !important;\n    width: 100% !important;\n    min-height: 140px !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    margin: 8px 0 !important;\n    padding: 20px !important;\n    \n    background-color: #f0e0bc !important;\n    background-image:\n        /* 淡雅的十字水印 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"80\" height=\"80\" viewBox=\"0 0 80 80\"><g opacity=\"0.06\" stroke=\"%238b4513\" fill=\"none\" stroke-width=\"1\"><path d=\"M40,15 L40,65 M15,40 L65,40\"/><circle cx=\"40\" cy=\"40\" r=\"18\"/><circle cx=\"40\" cy=\"40\" r=\"10\"/></g></svg>'),\n        /* 羊皮纸纤维 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"120\" height=\"120\" viewBox=\"0 0 120 120\"><g opacity=\"0.12\" stroke=\"%23a0826d\" fill=\"none\" stroke-width=\"0.3\"><path d=\"M0,30 Q30,28 60,32 T120,30 M0,60 Q40,58 80,62 T120,60 M0,90 Q30,88 60,92 T120,90\"/><circle cx=\"25\" cy=\"45\" r=\"0.7\" fill=\"%23a0826d\"/><circle cx=\"85\" cy=\"75\" r=\"0.6\" fill=\"%23a0826d\"/><circle cx=\"55\" cy=\"105\" r=\"0.5\" fill=\"%23a0826d\"/></g></svg>'),\n        /* 主渐变底色 */\n        linear-gradient(135deg, #f4e8d0 0%, #ead8b0 50%, #f4e8d0 100%) !important;\n    \n    background-size: 80px 80px, 120px 120px, 100% 100% !important;\n    background-position: center, 0 0, center !important;\n    background-repeat: repeat, repeat, no-repeat !important;\n    \n    border: 3px solid #8b4513 !important;\n    border-radius: 6px !important;\n    box-shadow:\n        inset 0 0 0 1px rgba(218, 165, 32, 0.4),\n        inset 0 0 30px rgba(139, 69, 19, 0.1),\n        0 0 0 1px #d4a76a,\n        0 4px 16px rgba(0, 0, 0, 0.25) !important;\n    \n    isolation: isolate !important;\n    overflow: visible !important;\n}\n\n/* 容器装饰层 - 四角纹章 + 顶底金线 */\n.flex.items-center.justify-center.size-6::before {\n    content: '' !important;\n    position: absolute !important;\n    inset: -3px !important;\n    pointer-events: none !important;\n    z-index: 0 !important;\n    background-image:\n        /* 左上角纹章 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"><g fill=\"%238b4513\" opacity=\"0.6\"><circle cx=\"20\" cy=\"20\" r=\"14\" fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"/><path d=\"M20,10 L22,18 L30,18 L24,23 L26,31 L20,26 L14,31 L16,23 L10,18 L18,18 Z\" fill=\"%23daa520\" opacity=\"0.75\"/><circle cx=\"20\" cy=\"20\" r=\"3\" fill=\"%238b4513\"/></g></svg>'),\n        /* 右上角纹章 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"><g fill=\"%238b4513\" opacity=\"0.6\"><circle cx=\"20\" cy=\"20\" r=\"14\" fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"/><g fill=\"none\" stroke=\"%23daa520\" stroke-width=\"1.5\"><path d=\"M20,10 L20,30 M10,20 L30,20\"/><circle cx=\"20\" cy=\"20\" r=\"6\"/></g><circle cx=\"20\" cy=\"20\" r=\"2.5\" fill=\"%238b4513\"/></g></svg>'),\n        /* 左下角纹章 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"><g fill=\"%238b4513\" opacity=\"0.6\"><circle cx=\"20\" cy=\"20\" r=\"14\" fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"/><path d=\"M20,12 L24,18 L32,18 L26,23 L28,31 L20,26 L12,31 L14,23 L8,18 L16,18 Z\" fill=\"none\" stroke=\"%23daa520\" stroke-width=\"1.2\"/><circle cx=\"20\" cy=\"20\" r=\"3\" fill=\"%23daa520\"/></g></svg>'),\n        /* 右下角纹章 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"><g fill=\"%238b4513\" opacity=\"0.6\"><circle cx=\"20\" cy=\"20\" r=\"14\" fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.2\"/><g fill=\"%23daa520\" opacity=\"0.7\"><path d=\"M20,12 L21,19 L28,20 L21,21 L20,28 L19,21 L12,20 L19,19 Z\"/></g><circle cx=\"20\" cy=\"20\" r=\"2\" fill=\"%238b4513\"/></g></svg>'),\n        /* 顶部金线 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 300 8\" preserveAspectRatio=\"none\"><g stroke=\"%23daa520\" fill=\"none\" stroke-width=\"0.8\" opacity=\"0.7\"><path d=\"M20,3 L280,3\"/><path d=\"M20,6 L280,6\" opacity=\"0.5\"/></g></svg>'),\n        /* 底部金线 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 300 8\" preserveAspectRatio=\"none\"><g stroke=\"%23daa520\" fill=\"none\" stroke-width=\"0.8\" opacity=\"0.7\"><path d=\"M20,2 L280,2\" opacity=\"0.5\"/><path d=\"M20,5 L280,5\"/></g></svg>') !important;\n    background-size: 32px 32px, 32px 32px, 32px 32px, 32px 32px, calc(100% - 40px) 8px, calc(100% - 40px) 8px !important;\n    background-position: 8px 8px, calc(100% - 8px) 8px, 8px calc(100% - 8px), calc(100% - 8px) calc(100% - 8px), center 6px, center calc(100% - 6px) !important;\n    background-repeat: no-repeat !important;\n}\n\n/* 中央加载动画层 - 玫瑰窗 */\n.flex.items-center.justify-center.size-6::after {\n    content: '' !important;\n    position: absolute !important;\n    width: 280px !important;\n    height: 100px !important;\n    top: 50% !important;\n    left: 50% !important;\n    transform: translate(-50%, -50%) !important;\n    pointer-events: none !important;\n    z-index: 2 !important;\n    background-image:\n        /* 外圈旋转玫瑰窗 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><g fill=\"none\" stroke=\"%238b4513\" stroke-width=\"1.5\"><circle cx=\"50\" cy=\"50\" r=\"45\" opacity=\"0.3\"/><circle cx=\"50\" cy=\"50\" r=\"35\" opacity=\"0.5\"/><circle cx=\"50\" cy=\"50\" r=\"25\" opacity=\"0.7\"/><path d=\"M50,5 L50,25 M50,75 L50,95 M5,50 L25,50 M75,50 L95,50\" opacity=\"0.6\"/><path d=\"M15,15 L30,30 M70,70 L85,85 M85,15 L70,30 M30,70 L15,85\" opacity=\"0.6\"/><circle cx=\"50\" cy=\"10\" r=\"4\" fill=\"%238b4513\" opacity=\"0.8\"/><circle cx=\"50\" cy=\"90\" r=\"4\" fill=\"%238b4513\" opacity=\"0.8\"/><circle cx=\"10\" cy=\"50\" r=\"4\" fill=\"%238b4513\" opacity=\"0.8\"/><circle cx=\"90\" cy=\"50\" r=\"4\" fill=\"%238b4513\" opacity=\"0.8\"/><circle cx=\"20\" cy=\"20\" r=\"3\" fill=\"%238b4513\" opacity=\"0.7\"/><circle cx=\"80\" cy=\"80\" r=\"3\" fill=\"%238b4513\" opacity=\"0.7\"/><circle cx=\"80\" cy=\"20\" r=\"3\" fill=\"%238b4513\" opacity=\"0.7\"/><circle cx=\"20\" cy=\"80\" r=\"3\" fill=\"%238b4513\" opacity=\"0.7\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 50 50\" to=\"360 50 50\" dur=\"8s\" repeatCount=\"indefinite\"/></g></svg>'),\n        /* 内圈藤蔓与文字 */\n        url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 280 100\"><defs><path id=\"vine\" d=\"M10,50 Q25,30 40,50 T70,50 T100,50 T130,50 T160,50 T190,50 T220,50 T250,50 T270,50\" fill=\"none\" stroke=\"%23a0826d\" stroke-width=\"1.2\" opacity=\"0.5\"><animate attributeName=\"d\" dur=\"4s\" repeatCount=\"indefinite\" values=\"M10,50 Q25,30 40,50 T70,50 T100,50 T130,50 T160,50 T190,50 T220,50 T250,50 T270,50; M10,50 Q25,70 40,50 T70,50 T100,50 T130,50 T160,50 T190,50 T220,50 T250,50 T270,50; M10,50 Q25,30 40,50 T70,50 T100,50 T130,50 T160,50 T190,50 T220,50 T250,50 T270,50\"/></path></defs><use href=\"%23vine\" y=\"0\"/><use href=\"%23vine\" y=\"0\" transform=\"scale(1,-1) translate(0,-100)\"/><text x=\"140\" y=\"55\" font-family=\"Garamond, Georgia, serif\" font-size=\"14\" fill=\"%233d2817\" text-anchor=\"middle\" font-weight=\"600\" letter-spacing=\"1.2\">【推荐Ⅱ记忆游玩】<animate attributeName=\"opacity\" dur=\"2s\" values=\"0.5;1;0.5\" repeatCount=\"indefinite\"/></text><circle cx=\"40\" cy=\"50\" r=\"2\" fill=\"%238b4513\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"50;40;50\" repeatCount=\"indefinite\"/></circle><circle cx=\"100\" cy=\"50\" r=\"2\" fill=\"%238b4513\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"50;60;50\" repeatCount=\"indefinite\" begin=\"0.5s\"/></circle><circle cx=\"160\" cy=\"50\" r=\"2\" fill=\"%238b4513\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"50;40;50\" repeatCount=\"indefinite\" begin=\"1s\"/></circle><circle cx=\"220\" cy=\"50\" r=\"2\" fill=\"%238b4513\" opacity=\"0.6\"><animate attributeName=\"cy\" dur=\"3s\" values=\"50;60;50\" repeatCount=\"indefinite\" begin=\"1.5s\"/></circle></svg>') !important;\n    background-size: 80px 80px, 100% 100% !important;\n    background-position: center, center !important;\n    background-repeat: no-repeat !important;\n}\n\n/* 隐藏默认加载元素 */\n.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {\n    display: none !important;\n}\n\n/* 移动端适配 */\n@media (max-width: 480px) {\n    .flex.items-center.justify-center.size-6 {\n        min-height: 120px !important;\n        padding: 16px !important;\n    }\n    .flex.items-center.justify-center.size-6::before {\n        background-size: 26px 26px, 26px 26px, 26px 26px, 26px 26px, calc(100% - 30px) 6px, calc(100% - 30px) 6px !important;\n        background-position: 6px 6px, calc(100% - 6px) 6px, 6px calc(100% - 6px), calc(100% - 6px) calc(100% - 6px), center 5px, center calc(100% - 5px) !important;\n    }\n    .flex.items-center.justify-center.size-6::after {\n        width: 240px !important;\n        height: 80px !important;\n        background-size: 60px 60px, 100% 100% !important;\n    }\n}\n\n/* 低动效模式 */\n@media (prefers-reduced-motion: reduce) {\n    .flex.items-center.justify-center.size-6::after {\n        animation-duration: 16s !important;\n    }\n}\n/* ========== 外层背景 - 羊皮纸 ========== */\n#prompt-input {\n    background: linear-gradient(\n        to top,\n        #f4e8d0 0%,\n        #f4e8d0 60%,\n        rgba(244, 232, 208, 0.95) 85%,\n        rgba(244, 232, 208, 0.85) 100%\n    ) !important;\n    border-radius: 8px !important;\n}\n\n/* ========== 输入框容器 - 简约羊皮纸卡片 ========== */\n#prompt-input [data-slot=\"input-group\"] {\n    background: linear-gradient(135deg, #faf3e0 0%, #f0e3ca 100%) !important;\n    border: 1px solid rgba(139, 105, 20, 0.35) !important;\n    border-radius: 4px !important;\n    box-shadow:\n        inset 0 1px 2px rgba(255, 255, 255, 0.6),\n        inset 0 -1px 2px rgba(139, 90, 43, 0.1),\n        0 2px 8px rgba(92, 64, 51, 0.15),\n        0 4px 16px rgba(139, 90, 43, 0.1) !important;\n    position: relative !important;\n    /* 注意：b平台原结构有 overflow-hidden，会裁掉顶部图标，需覆盖 */\n    overflow: visible !important;\n    transition: box-shadow 0.4s ease, border-color 0.4s ease !important;\n}\n\n/* 容器悬浮：金边轻亮起 */\n#prompt-input [data-slot=\"input-group\"]:hover {\n    border-color: rgba(212, 175, 55, 0.55) !important;\n    box-shadow:\n        inset 0 1px 2px rgba(255, 255, 255, 0.7),\n        inset 0 -1px 2px rgba(139, 90, 43, 0.1),\n        0 2px 12px rgba(212, 175, 55, 0.2),\n        0 4px 20px rgba(139, 90, 43, 0.15) !important;\n}\n\n/* 容器聚焦内部时：金边稳定亮起（b平台用 focus-within 替代原 ring 逻辑） */\n#prompt-input [data-slot=\"input-group\"]:focus-within {\n    border-color: rgba(212, 175, 55, 0.7) !important;\n    box-shadow:\n        inset 0 0 0 1px rgba(212, 175, 55, 0.3),\n        inset 0 1px 3px rgba(255, 255, 255, 0.7),\n        0 0 0 3px rgba(212, 175, 55, 0.08),\n        0 4px 16px rgba(139, 90, 43, 0.18) !important;\n}\n/* 抵消 b平台默认的 focus ring（ring-ring ring-1） */\n#prompt-input [data-slot=\"input-group\"]:has([data-slot=\"input-group-control\"]:focus-visible) {\n    --tw-ring-color: transparent !important;\n}\n\n\n\n/* ========== 容器右上角：印章小图标 ========== */\n#prompt-input [data-slot=\"input-group\"]::after {\n    content: '' !important;\n    position: absolute !important;\n    top: -8px !important;\n    right: 14px !important;\n    width: 18px !important;\n    height: 18px !important;\n    background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><circle cx='10' cy='10' r='8' fill='%238b1a1a' stroke='%235c0f0f' stroke-width='0.6'/><circle cx='10' cy='10' r='6' fill='none' stroke='%23d4af37' stroke-width='0.4' opacity='0.6'/><path d='M10 5 L11 8 L14 8 L11.5 10 L12.5 13 L10 11 L7.5 13 L8.5 10 L6 8 L9 8 Z' fill='%23d4af37' opacity='0.8'/></svg>\") !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;\n    z-index: 5 !important;\n    pointer-events: none !important;\n}\n\n/* ========== 主输入框 - 干净的书写区 ========== */\n#prompt-input textarea[data-slot=\"input-group-control\"] {\n    background: transparent !important;\n    color: #3d2817 !important;\n    font-family: 'Cormorant Garamond', 'Georgia', 'STKaiti', '楷体', serif !important;\n    font-size: 15px !important;\n    line-height: 1.7 !important;\n    letter-spacing: 0.3px !important;\n    caret-color: #8b1a1a !important;\n    padding: 4px 12px !important;\n    /* 底部金线 */\n    border-bottom: 1px solid transparent !important;\n    background-image: linear-gradient(\n        to right,\n        transparent 0%,\n        rgba(212, 175, 55, 0.3) 20%,\n        rgba(139, 105, 20, 0.4) 50%,\n        rgba(212, 175, 55, 0.3) 80%,\n        transparent 100%\n    ) !important;\n    background-position: bottom !important;\n    background-size: 100% 1px !important;\n    background-repeat: no-repeat !important;\n}\n\n#prompt-input textarea[data-slot=\"input-group-control\"]:focus {\n    color: #2d1810 !important;\n}\n\n/* 占位符 */\n#prompt-input textarea[data-slot=\"input-group-control\"]::placeholder {\n    color: rgba(139, 90, 43, 0.55) !important;\n    font-style: italic !important;\n    font-family: 'Cormorant Garamond', 'Georgia', serif !important;\n    letter-spacing: 0.5px !important;\n    font-weight: 400 !important;\n}\n\n/* 选中效果 */\n#prompt-input textarea[data-slot=\"input-group-control\"]::selection {\n    background: rgba(139, 26, 26, 0.25) !important;\n    color: #2d1810 !important;\n    text-shadow: 0 0 1px rgba(212, 175, 55, 0.5) !important;\n}\n\n/* 滚动条美化 */\n#prompt-input textarea[data-slot=\"input-group-control\"]::-webkit-scrollbar {\n    width: 6px !important;\n}\n#prompt-input textarea[data-slot=\"input-group-control\"]::-webkit-scrollbar-track {\n    background: rgba(139, 90, 43, 0.08) !important;\n    border-radius: 3px !important;\n}\n#prompt-input textarea[data-slot=\"input-group-control\"]::-webkit-scrollbar-thumb {\n    background: linear-gradient(180deg, #d4af37, #8b6914) !important;\n    border-radius: 3px !important;\n    border: 1px solid rgba(92, 64, 51, 0.2) !important;\n}\n#prompt-input textarea[data-slot=\"input-group-control\"]::-webkit-scrollbar-thumb:hover {\n    background: linear-gradient(180deg, #f0e68c, #d4af37) !important;\n}\n\n\n\n/* ========== 顶部栏 / 底部栏 内的功能按钮 - 羊皮纸金边风格 ========== */\n#prompt-input-header button,\n#prompt-input-footer button {\n    font-family: 'Garamond', 'Georgia', serif !important;\n    color: #6b3410 !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.3px !important;\n    background-color: rgba(218, 165, 32, 0.08) !important;\n    border-color: rgba(139, 105, 20, 0.3) !important;\n    transition: all 0.3s ease !important;\n}\n\n#prompt-input-header button:hover,\n#prompt-input-footer button:hover {\n    background-color: rgba(212, 175, 55, 0.18) !important;\n    border-color: rgba(212, 175, 55, 0.55) !important;\n    color: #8b4513 !important;\n}\n\n/* 发送按钮：保留主色调但换成印章红/金 */\n#prompt-input-footer button[type=\"submit\"] {\n    background: linear-gradient(135deg, #8b1a1a 0%, #5c0f0f 100%) !important;\n    color: #f4e8d0 !important;\n    border: 1px solid rgba(212, 175, 55, 0.5) !important;\n}\n#prompt-input-footer button[type=\"submit\"]:hover {\n    background: linear-gradient(135deg, #a32020 0%, #6e1313 100%) !important;\n}\n\n/* 顶部栏 / 底部栏 分隔区背景去除（让羊皮纸透出来） */\n#prompt-input-header,\n#prompt-input-footer {\n    background: transparent !important;\n}\n\n/* ====== 模型与积分信息栏 · 中世纪朱砂边注 ====== */\n\n/* 容器 - 边注栏 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j {\n    position: relative !important;\n    padding: 8px 12px 8px 18px !important;\n    margin-top: 8px !important;\n    background: linear-gradient(\n        90deg,\n        rgba(196, 30, 58, 0.06) 0%,\n        rgba(245, 230, 211, 0.4) 40%,\n        rgba(245, 230, 211, 0.2) 100%\n    ) !important;\n    border-left: 3px double #8b1a1a !important;\n    border-radius: 0 4px 4px 0 !important;\n    box-shadow: \n        inset 0 0 8px rgba(139, 26, 26, 0.05),\n        0 1px 2px rgba(107, 52, 16, 0.08) !important;\n}\n*/\n\n/* 容器顶部细金线 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j::before {\n    content: '' !important;\n    position: absolute !important;\n    top: 0 !important;\n    left: 3px !important;\n    right: 0 !important;\n    height: 1px !important;\n    background: linear-gradient(\n        90deg,\n        transparent 0%,\n        rgba(218, 165, 32, 0.6) 20%,\n        rgba(218, 165, 32, 0.6) 80%,\n        transparent 100%\n    ) !important;\n}\n*/\n\n/* 容器底部细金线 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j::after {\n    content: '' !important;\n    position: absolute !important;\n    bottom: 0 !important;\n    left: 3px !important;\n    right: 0 !important;\n    height: 1px !important;\n    background: linear-gradient(\n        90deg,\n        transparent 0%,\n        rgba(218, 165, 32, 0.4) 20%,\n        rgba(218, 165, 32, 0.4) 80%,\n        transparent 100%\n    ) !important;\n}\n*/\n\n/* 通用文本样式 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2 {\n    position: relative !important;\n    padding-left: 22px !important;\n    font-family: 'Garamond', 'Georgia', 'Times New Roman', serif !important;\n    font-style: italic !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.4px !important;\n    line-height: 1.6 !important;\n    text-shadow: 0 0 1px rgba(139, 26, 26, 0.15) !important;\n}\n*/\n\n/* 模型名称 - 深朱红 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {\n    color: #8b1a1a !important;\n    font-weight: 600 !important;\n    font-size: 0.92em !important;\n}\n*/\n\n/* 模型名称前置徽记 - 旋转的封泥印章 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground::before {\n    content: '' !important;\n    position: absolute !important;\n    left: 0 !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 16px !important;\n    height: 16px !important;\n    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><g><circle cx=\"50\" cy=\"50\" r=\"44\" fill=\"%23c41e3a\" opacity=\"0.6\"/><circle cx=\"50\" cy=\"50\" r=\"44\" fill=\"none\" stroke=\"%238b1a1a\" stroke-width=\"2\"/><circle cx=\"50\" cy=\"50\" r=\"36\" fill=\"none\" stroke=\"%23daa520\" stroke-width=\"1\" opacity=\"0.6\"/><g fill=\"none\" stroke=\"%238b1a1a\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M50,22 L57,42 L78,42 L61,55 L68,75 L50,63 L32,75 L39,55 L22,42 L43,42 Z\" fill=\"%23daa520\" opacity=\"0.4\"/></g><circle cx=\"50\" cy=\"50\" r=\"6\" fill=\"%238b1a1a\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 50 50\" to=\"360 50 50\" dur=\"14s\" repeatCount=\"indefinite\"/></g></svg>') !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n}\n*/\n\n/* 积分消耗文本 - 朱红色 */\n/* [Token消耗hover逻辑转换未启用]\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .text-orange-500,\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2.text-orange-500.css-1x48u03 {\n    color: #a52a2a !important;\n    font-size: 0.86em !important;\n    opacity: 0.92 !important;\n}\n*/\n*/\n\n/* 第一个积分(输入) - 羽毛笔徽章 */\n/* [Token消耗hover逻辑转换未启用]\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2.text-orange-500.css-1x48u03:nth-of-type(2)::before {\n    content: '' !important;\n    position: absolute !important;\n    left: 0 !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 16px !important;\n    height: 16px !important;\n    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><g><circle cx=\"50\" cy=\"50\" r=\"42\" fill=\"%23f5e6d3\" opacity=\"0.5\" stroke=\"%238b1a1a\" stroke-width=\"1.5\"/><circle cx=\"50\" cy=\"50\" r=\"34\" fill=\"none\" stroke=\"%23daa520\" stroke-width=\"0.8\" opacity=\"0.6\"/><g fill=\"none\" stroke=\"%238b1a1a\" stroke-width=\"2.2\" stroke-linecap=\"round\"><path d=\"M30,70 Q35,55 45,42 Q55,30 68,25 Q72,28 70,32 Q60,42 50,52 Q40,62 32,72 Z\" fill=\"%23a52a2a\" opacity=\"0.35\"/><path d=\"M45,42 L62,55\" opacity=\"0.7\" stroke-width=\"1.5\"/><path d=\"M30,70 L34,73\" stroke-width=\"1.5\"/><path d=\"M68,25 L74,22\" stroke-width=\"1.5\"/></g><circle cx=\"68\" cy=\"25\" r=\"2\" fill=\"%23daa520\"/><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 50 50\" to=\"360 50 50\" dur=\"11s\" repeatCount=\"indefinite\"/></g></svg>') !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n}\n*/\n*/\n\n/* 第二个积分(输出) - 卷轴徽章 */\n/* [Token消耗hover逻辑转换未启用]\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2.text-orange-500.css-1x48u03:nth-of-type(3)::before {\n    content: '' !important;\n    position: absolute !important;\n    left: 0 !important;\n    top: 50% !important;\n    transform: translateY(-50%) !important;\n    width: 16px !important;\n    height: 16px !important;\n    background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><g><circle cx=\"50\" cy=\"50\" r=\"42\" fill=\"%23f5e6d3\" opacity=\"0.5\" stroke=\"%238b1a1a\" stroke-width=\"1.5\"/><circle cx=\"50\" cy=\"50\" r=\"34\" fill=\"none\" stroke=\"%23daa520\" stroke-width=\"0.8\" opacity=\"0.6\"/><g><rect x=\"28\" y=\"32\" width=\"44\" height=\"36\" rx=\"2\" fill=\"%23f5e6d3\" stroke=\"%238b1a1a\" stroke-width=\"1.8\" opacity=\"0.85\"/><circle cx=\"28\" cy=\"50\" r=\"6\" fill=\"%23a52a2a\" stroke=\"%238b1a1a\" stroke-width=\"1.5\" opacity=\"0.7\"/><circle cx=\"72\" cy=\"50\" r=\"6\" fill=\"%23a52a2a\" stroke=\"%238b1a1a\" stroke-width=\"1.5\" opacity=\"0.7\"/><g stroke=\"%238b1a1a\" stroke-width=\"1\" opacity=\"0.6\"><path d=\"M36,42 L64,42\"/><path d=\"M36,50 L64,50\"/><path d=\"M36,58 L58,58\"/></g><circle cx=\"28\" cy=\"50\" r=\"2\" fill=\"%238b1a1a\"/><circle cx=\"72\" cy=\"50\" r=\"2\" fill=\"%238b1a1a\"/></g><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 50 50\" to=\"-360 50 50\" dur=\"13s\" repeatCount=\"indefinite\"/></g></svg>') !important;\n    background-size: contain !important;\n    background-repeat: no-repeat !important;\n    background-position: center !important;\n}\n*/\n*/\n\n/* 悬停时整个边注栏微亮 */\n/* [Token消耗hover逻辑转换未启用]\n.flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j:hover {\n    background: linear-gradient(\n        90deg,\n        rgba(196, 30, 58, 0.1) 0%,\n        rgba(245, 230, 211, 0.5) 40%,\n        rgba(245, 230, 211, 0.3) 100%\n    ) !important;\n    transition: background 0.4s ease !important;\n}\n*/\n\n/* 移动端适配 */\n@media (max-width: 480px) {\n/* [Token消耗hover逻辑转换未启用]\n    .flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j {\n        padding: 6px 10px 6px 14px !important;\n    }\n*/\n/* [Token消耗hover逻辑转换未启用]\n    .flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2 {\n        padding-left: 20px !important;\n        font-size: 0.85em !important;\n    }\n*/\n/* [Token消耗hover逻辑转换未启用]\n    .flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2::before {\n        width: 14px !important;\n        height: 14px !important;\n    }\n*/\n}\n\n/* 低动效模式 */\n@media (prefers-reduced-motion: reduce) {\n/* [Token消耗hover逻辑转换未启用]\n    .flex.w-full.items-center.justify-between.gap-2.px-2.text-purple-500.mt-1.css-1kz283j .MuiTypography-root.MuiTypography-body2::before {\n        animation-duration: 22s !important;\n    }\n*/\n}\n\n/* ============================================================\n   Panel 5 商品分类图标系统\n   使用CSS变量+属性选择器避免重复代码\n   ============================================================ */\n\n/* ============================================================\n   大类图标 — sec[cat]\n   ============================================================ */\n\nms pan[n=\"5\"] sec[cat] > sh::before {\n  content: '';\n  display: inline-block;\n  width: 18px;\n  height: 18px;\n  margin-right: 8px;\n  background: var(--cat-icon);\n  -webkit-mask: var(--cat-icon) center/contain no-repeat;\n  mask: var(--cat-icon) center/contain no-repeat;\n  vertical-align: middle;\n  opacity: .85;\n}\n\n/* 大类图标映射 */\nms sec[cat=\"daily\"] { --cat-icon: var(--icon-daily); }\nms sec[cat=\"scholar\"] { --cat-icon: var(--icon-scholar); }\nms sec[cat=\"luxury\"] { --cat-icon: var(--icon-luxury); }\nms sec[cat=\"transit\"] { --cat-icon: var(--icon-transit); }\n\n/* ============================================================\n   小分类图标 — details[cat] > summary\n   ============================================================ */\n\nms pan[n=\"5\"] details[cat] > summary::before {\n  left: 14px;\n  background: var(--subcat-icon);\n  -webkit-mask: var(--subcat-icon) center/contain no-repeat;\n  mask: var(--subcat-icon) center/contain no-repeat;\n}\n\n/* 小分类图标映射 */\nms details[cat=\"food\"] { --subcat-icon: var(--icon-food); }\nms details[cat=\"shelter\"] { --subcat-icon: var(--icon-shelter); }\nms details[cat=\"cloth\"] { --subcat-icon: var(--icon-cloth); }\nms details[cat=\"writing\"] { --subcat-icon: var(--icon-writing); }\nms details[cat=\"codex\"] { --subcat-icon: var(--icon-codex); }\nms details[cat=\"spice\"] { --subcat-icon: var(--icon-spice); }\nms details[cat=\"relic\"] { --subcat-icon: var(--icon-relic); }\nms details[cat=\"cart\"] { --subcat-icon: var(--icon-cart); }\nms details[cat=\"hire\"] { --subcat-icon: var(--icon-hire); }\n\n/* ============================================================\n   SVG图标库 — 精简内嵌\n   ============================================================ */\n\nms {\n  /* === 大类图标 === */\n  \n  /* 日用品 — 麦穗+壶 */\n  --icon-daily: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2v8c0 2-1 3-2 3H4c-1 0-2-1-2-3V2M12 2v8c0 2-1 3-2 3s-2-1-2-3V2M16 2v8c0 2-1 3-2 3s-2-1-2-3V2' stroke='%23c7894a' stroke-width='1.5' fill='none'/%3E%3Cpath d='M18 14h4v6a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-6h2' fill='%23c88a5e'/%3E%3C/svg%3E\");\n  \n  /* 学习用具 — 羽毛笔+卷轴 */\n  --icon-scholar: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' stroke='%236b92c4' stroke-width='2' fill='none'/%3E%3Ccircle cx='5' cy='19' r='2' fill='%236b92c4'/%3E%3Cpath d='M14 4h6v14H14z' fill='%23d4c5a8' opacity='.6'/%3E%3Cpath d='M15 7h4M15 10h4M15 13h3' stroke='%233a281c' stroke-width='.8'/%3E%3C/svg%3E\");\n  \n  /* 奢侈品 — 宝石+香料罐 */\n  --icon-luxury: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l-4 5h8z' fill='%23c5a44e'/%3E%3Cpath d='M8 7l4 15 4-15z' fill='%23d4a857' opacity='.7'/%3E%3Cpath d='M12 7l-3 6 3 9 3-9z' fill='%23e7cf86'/%3E%3Ccircle cx='19' cy='18' r='3' fill='%23b04a42' opacity='.8'/%3E%3C/svg%3E\");\n  \n  /* 交通雇佣 — 牛车+骑士 */\n  --icon-transit: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='10' width='12' height='6' rx='1' fill='%238a7a6a'/%3E%3Ccircle cx='7' cy='18' r='2' fill='%234a3a2a'/%3E%3Ccircle cx='13' cy='18' r='2' fill='%234a3a2a'/%3E%3Cpath d='M16 10h3v3l-3 3z' fill='%238a7a6a'/%3E%3Cpath d='M18 4l2 3h-4z' fill='%23c88a5e'/%3E%3C/svg%3E\");\n  \n  /* === 小分类图标 === */\n  \n  /* 口腹之需 — 面包 */\n  --icon-food: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8h16v10H4z' fill='%23c88a5e'/%3E%3Cpath d='M4 8c0-2 2-4 4-4h8c2 0 4 2 4 4' fill='%23d4a075'/%3E%3Ccircle cx='8' cy='12' r='1.5' fill='%23a06a48'/%3E%3Ccircle cx='12' cy='14' r='1.5' fill='%23a06a48'/%3E%3Ccircle cx='16' cy='11' r='1.5' fill='%23a06a48'/%3E%3C/svg%3E\");\n  \n  /* 居住燃料 — 小屋+柴火 */\n  --icon-shelter: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12l9-8 9 8v10H3z' fill='%237a6a5a'/%3E%3Crect x='9' y='14' width='6' height='8' fill='%235a4a3a'/%3E%3Cpath d='M12 4l-8 7h16z' fill='%23c88a5e'/%3E%3Cpath d='M18 18h3v4h-3zM3 18h3v4H3z' fill='%23d4a075'/%3E%3C/svg%3E\");\n  \n  /* 衣物 — 斗篷 */\n  --icon-cloth: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h12l3 8v8H3v-8z' fill='%23b8b0a0'/%3E%3Cpath d='M8 4l1 8M16 4l-1 8M12 4v8' stroke='%23f5ede8' stroke-width='1.5'/%3E%3Cpath d='M10 2h4v2h-4z' fill='%238a7a6a'/%3E%3C/svg%3E\");\n  \n  /* 书写抄录 — 鹅毛笔+墨瓶 */\n  --icon-writing: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2L8 14l-3 8 8-3L25 7z' stroke='%23c5a44e' stroke-width='2' fill='none'/%3E%3Ccircle cx='5' cy='19' r='2.5' fill='%233a281c'/%3E%3Cpath d='M8 14l2 2' stroke='%23c5a44e' stroke-width='1.5'/%3E%3C/svg%3E\");\n  \n  /* 抄本租借 — 摊开的书 */\n  --icon-codex: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4c2.5-1.5 5.5-1.5 8 0v16c-2.5-1.5-5.5-1.5-8 0zM21 4c-2.5-1.5-5.5-1.5-8 0v16c2.5-1.5 5.5-1.5 8 0z' fill='%236b92c4'/%3E%3Cpath d='M12 3v18' stroke='%233a281c' stroke-width='1.5'/%3E%3C/svg%3E\");\n  \n  /* 香料舶来品 — 香料袋 */\n  --icon-spice: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2h8v4H8z' fill='%23d4a857'/%3E%3Cpath d='M7 6h10l-2 14H9z' fill='%23c88a5e'/%3E%3Cpath d='M10 10h4v6h-4z' fill='%23e7cf86' opacity='.6'/%3E%3Ccircle cx='12' cy='13' r='1' fill='%23a06a48'/%3E%3Ccircle cx='10' cy='15' r='.8' fill='%23a06a48'/%3E%3Ccircle cx='14' cy='15' r='.8' fill='%23a06a48'/%3E%3C/svg%3E\");\n  \n  /* 圣物宝石 — 圣骨匣 */\n  --icon-relic: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8h12v10H6z' fill='%23c5a44e'/%3E%3Cpath d='M6 8l3-4h6l3 4z' fill='%23d4a857'/%3E%3Cpath d='M10 12h4v4h-4z' fill='%23f5ede8'/%3E%3Cpath d='M12 10v6M10 12h4' stroke='%238b2500' stroke-width='1.2'/%3E%3Cpath d='M8 18h8v2H8z' fill='%23b8946b'/%3E%3C/svg%3E\");\n  \n  /* 牛车行 — 牛车 */\n  --icon-cart: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='10' width='12' height='6' rx='1' fill='%238a7a6a'/%3E%3Ccircle cx='7' cy='18' r='2' fill='%234a3a2a'/%3E%3Ccircle cx='13' cy='18' r='2' fill='%234a3a2a'/%3E%3Cpath d='M16 10h3v3l-3 3z' fill='%238a7a6a'/%3E%3Cpath d='M4 10V8c0-2 1-4 3-4' stroke='%236e5a4a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E\");\n  \n  /* 雇佣市场 — 骑士头盔 */\n  --icon-hire: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12c0-4 3-8 8-8s8 4 8 8v6H4z' fill='%234a4a4a'/%3E%3Cpath d='M8 14h8v4H8z' fill='%233a3a3a'/%3E%3Cpath d='M10 16h4v2h-4z' fill='%231a1a1a'/%3E%3Cpath d='M6 18h12v2H6z' fill='%236a6a6a'/%3E%3Cpath d='M12 4v3M9 6l3 3 3-3' stroke='%23c88a5e' stroke-width='1.2' fill='none'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   响应式优化\n   ============================================================ */\n@media (max-width: 600px) {\n  ms pan[n=\"5\"] sec[cat] > sh::before {\n    width: 16px;\n    height: 16px;\n    margin-right: 6px;\n  }\n}\n\n/* 在之前的CSS基础上添加 */\n\n/* 大宗商品 — 麦袋+羊毛卷 */\nms sec[cat=\"bulk\"] { \n  --cat-icon: var(--icon-bulk); \n}\n\nms details[cat=\"grain\"] { \n  --subcat-icon: var(--icon-grain); \n}\n\n/* 新增SVG图标 */\nms {\n  /* 大宗商品大类图标 — 麦袋堆叠 */\n  --icon-bulk: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 14h6v6H4z' fill='%23c88a5e'/%3E%3Cpath d='M10 14h6v6h-6z' fill='%23d4a075'/%3E%3Cpath d='M16 14h4v6h-4z' fill='%23c88a5e'/%3E%3Cpath d='M7 8h6v6H7z' fill='%23b87a4e'/%3E%3Cpath d='M13 8h4v6h-4z' fill='%23c88a5e'/%3E%3Ccircle cx='10' cy='11' r='.8' fill='%23f5e6d0'/%3E%3Ccircle cx='15' cy='11' r='.8' fill='%23f5e6d0'/%3E%3Ccircle cx='7' cy='17' r='.8' fill='%23f5e6d0'/%3E%3C/svg%3E\");\n  \n  /* 粮食小分类图标 — 麦穗 */\n  --icon-grain: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2v8c0 2-1 3-2 3H4c-1 0-2-1-2-3V2M12 2v8c0 2-1 3-2 3s-2-1-2-3V2M16 2v8c0 2-1 3-2 3s-2-1-2-3V2M20 2v8c0 2-1 3-2 3s-2-1-2-3V2' stroke='%23d4a857' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3Cpath d='M10 14v8' stroke='%23c88a5e' stroke-width='2'/%3E%3Ccircle cx='6' cy='5' r='1.2' fill='%23d4a857'/%3E%3Ccircle cx='10' cy='5' r='1.2' fill='%23d4a857'/%3E%3Ccircle cx='14' cy='5' r='1.2' fill='%23d4a857'/%3E%3Ccircle cx='18' cy='5' r='1.2' fill='%23d4a857'/%3E%3C/svg%3E\");\n}\n\nms sec[cat=\"military\"] { --cat-icon: var(--icon-military); }\nms details[cat=\"mount\"] { --subcat-icon: var(--icon-mount); }\nms details[cat=\"arms\"] { --subcat-icon: var(--icon-arms); }\n\nms {\n  /* 军需品 — 盾牌+剑 */\n  --icon-military: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L3 7v6c0 6 4 10 9 12 5-2 9-6 9-12V7z' fill='%234a4a4a'/%3E%3Cpath d='M12 6v12M7 10h10' stroke='%23c5a44e' stroke-width='2'/%3E%3C/svg%3E\");\n  \n  /* 坐骑 — 马头 */\n  --icon-mount: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8c0-3 2-6 6-6s6 3 6 6v4H6z' fill='%238a7a6a'/%3E%3Cpath d='M6 12v6h2v-4h8v4h2v-6z' fill='%236e5a4a'/%3E%3Ccircle cx='9' cy='10' r='1.5' fill='%233a281c'/%3E%3Cpath d='M12 2l2 4h-4z' fill='%235a4a3a'/%3E%3C/svg%3E\");\n  \n  /* 武器铠甲 — 剑+盾 */\n  --icon-arms: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2l-8 12 4 8 8-4L30 6z' stroke='%234a4a4a' stroke-width='2.5' fill='none'/%3E%3Cpath d='M4 12L2 7v6c0 4 2 7 5 8z' fill='%236a6a6a'/%3E%3Cpath d='M16 4h2v4h-2z' fill='%23c88a5e'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   COMMODITY ICONS — 商品图标自动渲染系统\n   通过父级cat属性 + nth-of-type位置匹配，无需新增class\n   ============================================================ */\n\n/* 基础图标位 */\nms prow k {\n  position: relative;\n  padding-left: 22px;\n  display: inline-block;\n}\n\nms prow k::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 15px;\n  height: 15px;\n  background: var(--ico, none) center/contain no-repeat;\n  opacity: 0.78;\n  filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.4));\n  transition: opacity 0.2s, transform 0.2s;\n}\n\nms prow:hover k::before {\n  opacity: 1;\n  transform: translateY(-50%) scale(1.15);\n}\n\n/* ============================================================\n   粮食与原料 (grain)\n   ============================================================ */\nms details[cat=\"grain\"] prow:nth-of-type(1) k { --ico: var(--ico-wheat); }   /* 小麦 */\nms details[cat=\"grain\"] prow:nth-of-type(2) k { --ico: var(--ico-rye); }     /* 黑麦 */\nms details[cat=\"grain\"] prow:nth-of-type(3) k { --ico: var(--ico-oat); }     /* 燕麦 */\nms details[cat=\"grain\"] prow:nth-of-type(4) k { --ico: var(--ico-wool); }    /* 羊毛 */\nms details[cat=\"grain\"] prow:nth-of-type(5) k { --ico: var(--ico-flax); }    /* 亚麻 */\n\n/* ============================================================\n   口腹之需 (food)\n   ============================================================ */\nms details[cat=\"food\"] prow:nth-of-type(1) k { --ico: var(--ico-bread-dark); }  /* 黑面包 */\nms details[cat=\"food\"] prow:nth-of-type(2) k { --ico: var(--ico-bread-light); } /* 白面包 */\nms details[cat=\"food\"] prow:nth-of-type(3) k { --ico: var(--ico-bowl); }        /* 麦粥 */\nms details[cat=\"food\"] prow:nth-of-type(4) k { --ico: var(--ico-ale); }         /* 啤酒 */\nms details[cat=\"food\"] prow:nth-of-type(5) k { --ico: var(--ico-wine); }        /* 葡萄酒 */\nms details[cat=\"food\"] prow:nth-of-type(6) k { --ico: var(--ico-cheese); }      /* 奶酪 */\nms details[cat=\"food\"] prow:nth-of-type(7) k { --ico: var(--ico-fish); }        /* 咸鱼 */\n\n/* ============================================================\n   居住与燃料 (shelter)\n   ============================================================ */\nms details[cat=\"shelter\"] prow:nth-of-type(1) k { --ico: var(--ico-bed); }      /* 床位 */\nms details[cat=\"shelter\"] prow:nth-of-type(2) k { --ico: var(--ico-room); }     /* 单间 */\nms details[cat=\"shelter\"] prow:nth-of-type(3) k { --ico: var(--ico-attic); }    /* 阁楼 */\nms details[cat=\"shelter\"] prow:nth-of-type(4) k { --ico: var(--ico-firewood); } /* 柴火 */\nms details[cat=\"shelter\"] prow:nth-of-type(5) k { --ico: var(--ico-coal); }     /* 木炭 */\n\n/* ============================================================\n   衣物 (cloth)\n   ============================================================ */\nms details[cat=\"cloth\"] prow:nth-of-type(1) k { --ico: var(--ico-robe); }       /* 学袍 */\nms details[cat=\"cloth\"] prow:nth-of-type(2) k { --ico: var(--ico-shirt); }      /* 衬衣 */\nms details[cat=\"cloth\"] prow:nth-of-type(3) k { --ico: var(--ico-shoe); }       /* 皮鞋 */\nms details[cat=\"cloth\"] prow:nth-of-type(4) k { --ico: var(--ico-shoe-fix); }   /* 续底 */\nms details[cat=\"cloth\"] prow:nth-of-type(5) k { --ico: var(--ico-cloak); }      /* 斗篷 */\n\n/* ============================================================\n   书写与抄录 (writing)\n   ============================================================ */\nms details[cat=\"writing\"] prow:nth-of-type(1) k { --ico: var(--ico-vellum); }   /* 羊皮纸 */\nms details[cat=\"writing\"] prow:nth-of-type(2) k { --ico: var(--ico-ink); }      /* 墨水 */\nms details[cat=\"writing\"] prow:nth-of-type(3) k { --ico: var(--ico-quill); }    /* 羽毛笔 */\nms details[cat=\"writing\"] prow:nth-of-type(4) k { --ico: var(--ico-candle); }   /* 蜡烛 */\nms details[cat=\"writing\"] prow:nth-of-type(5) k { --ico: var(--ico-tablet); }   /* 蜡板 */\nms details[cat=\"writing\"] prow:nth-of-type(6) k { --ico: var(--ico-stylus); }   /* 铅锡笔 */\n\n/* ============================================================\n   抄本租借 (codex)\n   ============================================================ */\nms details[cat=\"codex\"] prow:nth-of-type(1) k { --ico: var(--ico-book-thin); }  /* 薄册 */\nms details[cat=\"codex\"] prow:nth-of-type(2) k { --ico: var(--ico-book-thick); } /* 厚册 */\nms details[cat=\"codex\"] prow:nth-of-type(3) k { --ico: var(--ico-book-buy-thin); }  /* 购薄 */\nms details[cat=\"codex\"] prow:nth-of-type(4) k { --ico: var(--ico-book-buy-thick); } /* 购厚 */\nms details[cat=\"codex\"] prow:nth-of-type(5) k { --ico: var(--ico-page-copy); }  /* 代抄 */\n\n/* ============================================================\n   香料与舶来品 (spice)\n   ============================================================ */\nms details[cat=\"spice\"] prow:nth-of-type(1) k { --ico: var(--ico-pepper); }     /* 胡椒 */\nms details[cat=\"spice\"] prow:nth-of-type(2) k { --ico: var(--ico-cinnamon); }   /* 肉桂 */\nms details[cat=\"spice\"] prow:nth-of-type(3) k { --ico: var(--ico-clove); }      /* 丁香 */\nms details[cat=\"spice\"] prow:nth-of-type(4) k { --ico: var(--ico-silk); }       /* 丝绸 */\n\n/* ============================================================\n   圣物与宝石 (relic)\n   ============================================================ */\nms details[cat=\"relic\"] prow:nth-of-type(1) k { --ico: var(--ico-relic); }      /* 圣髑 */\nms details[cat=\"relic\"] prow:nth-of-type(2) k { --ico: var(--ico-holy-water); } /* 圣水 */\nms details[cat=\"relic\"] prow:nth-of-type(3) k { --ico: var(--ico-ruby); }       /* 红宝石 */\n\n/* ============================================================\n   牛车行 (cart) — 距离图标共用，路径标签不同\n   ============================================================ */\nms details[cat=\"cart\"] prow k { --ico: var(--ico-route); }\nms details[cat=\"cart\"] prow:nth-of-type(5) k { --ico: var(--ico-route-far); }   /* 里昂 */\n\n/* ============================================================\n   雇佣市场 (hire)\n   ============================================================ */\nms details[cat=\"hire\"] prow:nth-of-type(1) k { --ico: var(--ico-courier); }     /* 信使 */\nms details[cat=\"hire\"] prow:nth-of-type(2) k { --ico: var(--ico-guard); }       /* 护卫 */\nms details[cat=\"hire\"] prow:nth-of-type(3) k { --ico: var(--ico-knight-hire); } /* 雇佣骑士 */\nms details[cat=\"hire\"] prow:nth-of-type(4) k { --ico: var(--ico-scribe); }      /* 抄写学徒 */\n\n/* ============================================================\n   坐骑 (mount) — 可选\n   ============================================================ */\nms details[cat=\"mount\"] prow:nth-of-type(1) k { --ico: var(--ico-warhorse); }   /* 战马 */\nms details[cat=\"mount\"] prow:nth-of-type(2) k { --ico: var(--ico-packhorse); }  /* 驮马 */\n\n/* ============================================================\n   武器与铠甲 (arms) — 可选\n   ============================================================ */\nms details[cat=\"arms\"] prow:nth-of-type(1) k { --ico: var(--ico-mail); }        /* 锁子甲 */\nms details[cat=\"arms\"] prow:nth-of-type(2) k { --ico: var(--ico-sword); }       /* 长剑 */\nms details[cat=\"arms\"] prow:nth-of-type(3) k { --ico: var(--ico-spear); }       /* 长枪 */\n\n\n/* ============================================================\n   SVG ICON LIBRARY — 极简线条风格\n   单色为主，配合极少色块，token占用最小化\n   ============================================================ */\nms {\n  /* === 粮食 === */\n  --ico-wheat: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20M8 6c0 2 2 3 4 3M16 6c0 2-2 3-4 3M8 11c0 2 2 3 4 3M16 11c0 2-2 3-4 3M8 16c0 2 2 3 4 3M16 16c0 2-2 3-4 3' stroke='%23d4a857' stroke-width='1.6' fill='none'/%3E%3C/svg%3E\");\n  --ico-rye: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20M9 7l3 2 3-2M9 12l3 2 3-2M9 17l3 2 3-2' stroke='%238a6d3a' stroke-width='1.6' fill='none'/%3E%3C/svg%3E\");\n  --ico-oat: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20' stroke='%23a89060' stroke-width='1.4'/%3E%3Cellipse cx='8' cy='6' rx='2' ry='1' fill='%23c9a85e'/%3E%3Cellipse cx='16' cy='9' rx='2' ry='1' fill='%23c9a85e'/%3E%3Cellipse cx='8' cy='13' rx='2' ry='1' fill='%23c9a85e'/%3E%3Cellipse cx='16' cy='16' rx='2' ry='1' fill='%23c9a85e'/%3E%3C/svg%3E\");\n  --ico-wool: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='9' r='4' fill='%23e8dcc8'/%3E%3Ccircle cx='14' cy='8' r='3.5' fill='%23e8dcc8'/%3E%3Ccircle cx='10' cy='14' r='4' fill='%23dccfb8'/%3E%3Ccircle cx='16' cy='13' r='3' fill='%23dccfb8'/%3E%3C/svg%3E\");\n  --ico-flax: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M9 8c-2 1-3 3-3 5M15 8c2 1 3 3 3 5M10 14c-1 1-2 3-2 5M14 14c1 1 2 3 2 5' stroke='%237a96b8' stroke-width='1.4' fill='none'/%3E%3Ccircle cx='12' cy='4' r='1.5' fill='%237a96b8'/%3E%3C/svg%3E\");\n\n  /* === 食物 === */\n  --ico-bread-dark: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12c0-3 4-5 8-5s8 2 8 5v4c0 1-1 2-2 2H6c-1 0-2-1-2-2z' fill='%236e4a2a'/%3E%3Cpath d='M8 10v6M12 9v7M16 10v6' stroke='%234a2e15' stroke-width='1' fill='none'/%3E%3C/svg%3E\");\n  --ico-bread-light: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12c0-3 4-5 8-5s8 2 8 5v4c0 1-1 2-2 2H6c-1 0-2-1-2-2z' fill='%23d8b878'/%3E%3Cpath d='M8 10v6M12 9v7M16 10v6' stroke='%23a8853e' stroke-width='1' fill='none'/%3E%3C/svg%3E\");\n  --ico-bowl: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10h18l-2 8c0 1-1 2-2 2H7c-1 0-2-1-2-2z' fill='%238a6d3a'/%3E%3Cpath d='M3 10c2-2 6-3 9-3s7 1 9 3' stroke='%236e4a2a' stroke-width='1.5' fill='none'/%3E%3Cpath d='M8 6c0-1 1-2 2-1M14 5c0-1 1-2 2-1' stroke='%23c9a85e' stroke-width='1' fill='none'/%3E%3C/svg%3E\");\n  --ico-ale: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8h10v12c0 1-1 2-2 2H8c-1 0-2-1-2-2z' fill='%23c9a85e'/%3E%3Cpath d='M16 10h2c1 0 2 1 2 2v4c0 1-1 2-2 2h-2' stroke='%238a6d3a' stroke-width='1.5' fill='none'/%3E%3Cpath d='M5 8c1-2 3-3 6-3s5 1 6 3' stroke='%23f5e6c8' stroke-width='2' fill='none'/%3E%3C/svg%3E\");\n  --ico-wine: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4l1 8c0 2 1 3 3s3-1 3-3l1-8z' fill='%238b2500'/%3E%3Cpath d='M12 15v6M9 21h6' stroke='%23c5a44e' stroke-width='1.5'/%3E%3C/svg%3E\");\n  --ico-cheese: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 18l9-12 9 6-2 8z' fill='%23e8c878'/%3E%3Ccircle cx='10' cy='12' r='1' fill='%236e4a2a'/%3E%3Ccircle cx='14' cy='14' r='0.8' fill='%236e4a2a'/%3E%3Ccircle cx='8' cy='15' r='0.6' fill='%236e4a2a'/%3E%3C/svg%3E\");\n  --ico-fish: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12c3-4 8-5 12-3l5-3-1 6 1 6-5-3c-4 2-9 1-12-3z' fill='%237a96b8'/%3E%3Ccircle cx='8' cy='12' r='1' fill='%23fff'/%3E%3C/svg%3E\");\n\n  /* === 居住 === */\n  --ico-bed: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 18V8M22 18V8M2 12h20M2 18h20' stroke='%238a6d3a' stroke-width='2' fill='none'/%3E%3Cpath d='M5 12c0-1 1-2 3-2s3 1 3 2' stroke='%23c9a85e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E\");\n  --ico-room: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21V9l9-6 9 6v12z' fill='%236e4a2a'/%3E%3Cpath d='M9 21v-7h6v7' fill='%23c9a85e'/%3E%3Cpath d='M11 17h2' stroke='%234a2e15' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-attic: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l-8 8h2v9h12v-9h2z' fill='%238a6d3a'/%3E%3Cpath d='M10 14h4v3h-4z' fill='%23f5e6c8'/%3E%3Cpath d='M12 8v3' stroke='%23c5a44e' stroke-width='1.5'/%3E%3C/svg%3E\");\n  --ico-firewood: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17l8-12M5 18l8-12M7 19l8-12M9 20l8-12M11 21l8-12' stroke='%236e4a2a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E\");\n  --ico-coal: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 16c0-2 2-4 4-4s3 1 5 1 5-2 5-1c1 2 0 6-3 7s-12 0-11-3z' fill='%232a1a10'/%3E%3Ccircle cx='10' cy='14' r='1' fill='%234a3525'/%3E%3Ccircle cx='14' cy='15' r='0.8' fill='%234a3525'/%3E%3C/svg%3E\");\n\n  /* === 衣物 === */\n  --ico-robe: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3l-3 4 2 1v13h10V8l2-1-3-4-3 2h-2z' fill='%234a3525'/%3E%3Cpath d='M12 5v16' stroke='%23c5a44e' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-shirt: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3l-5 4 2 3 2-1v12h8V9l2 1 2-3-5-4-3 2h-1z' fill='%23e8dcc8'/%3E%3Cpath d='M11 6h2' stroke='%238a6d3a' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-shoe: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 16c0-2 2-4 4-4l8-3c2-1 5 1 6 3l1 3c0 2-2 3-4 3H5c-1 0-2-1-2-2z' fill='%236e4a2a'/%3E%3Cpath d='M8 14l8-3' stroke='%234a2e15' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-shoe-fix: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 16c0-2 2-4 4-4l8-3c2-1 5 1 6 3l1 3c0 2-2 3-4 3H5c-1 0-2-1-2-2z' fill='%236e4a2a'/%3E%3Cpath d='M5 18h14M7 20h10' stroke='%23c5a44e' stroke-width='1.2' stroke-dasharray='2 1'/%3E%3C/svg%3E\");\n  --ico-cloak: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l-8 4v3l3-1v12h10V9l3 1V7z' fill='%238b2500'/%3E%3Cpath d='M10 6h4v2h-4z' fill='%23c5a44e'/%3E%3C/svg%3E\");\n\n  /* === 书写 === */\n  --ico-vellum: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h14v18l-3-2-3 2-3-2-3 2-2-2z' fill='%23f5e6c8' stroke='%238a6d3a' stroke-width='1'/%3E%3Cpath d='M8 8h8M8 11h8M8 14h6' stroke='%236e4a2a' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-ink: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6v3H9zM7 6h10l-1 14c0 1-1 2-2 2H10c-1 0-2-1-2-2z' fill='%232a1a10'/%3E%3Cpath d='M10 12c0 2 2 3 4 2' stroke='%23c5a44e' stroke-width='1' fill='none'/%3E%3C/svg%3E\");\n  --ico-quill: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21l6-6M19 3l-12 12 3 3z' stroke='%236e4a2a' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3Cpath d='M19 3c-2 4-3 7-3 9l-3-3c2 0 5-1 9-3z' fill='%23e8dcc8'/%3E%3C/svg%3E\");\n  --ico-candle: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 8h6v13H9z' fill='%23f5e6c8'/%3E%3Cpath d='M12 8V4M11 4c0-2 2-2 2 0s-2 2-2 4' stroke='%23c5a44e' stroke-width='1.5' fill='none'/%3E%3Cpath d='M11 3c-1 2 0 3 1 3s2-1 1-3' fill='%23ff9933'/%3E%3C/svg%3E\");\n  --ico-tablet: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v14H4z' fill='%236e4a2a' stroke='%234a2e15' stroke-width='1.5'/%3E%3Cpath d='M7 8h10M7 11h10M7 14h7' stroke='%23c5a44e' stroke-width='1' opacity='0.6'/%3E%3C/svg%3E\");\n  --ico-stylus: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21l14-14 4 4-14 14z' fill='%238a8a8a'/%3E%3Cpath d='M17 7l4 4' stroke='%234a4a4a' stroke-width='1.5'/%3E%3Cpath d='M3 21l3-1-2-2z' fill='%234a4a4a'/%3E%3C/svg%3E\");\n\n  /* === 抄本 === */\n  --ico-book-thin: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h12v16H6z' fill='%236e4a2a' stroke='%234a2e15' stroke-width='1'/%3E%3Cpath d='M9 8h6M9 11h6M9 14h4' stroke='%23c5a44e' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-book-thick: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h14v16H4z' fill='%234a2e15' stroke='%232a1a10' stroke-width='1'/%3E%3Cpath d='M4 4h2v16H4zM6 4h2v16H6z' fill='%236e4a2a'/%3E%3Cpath d='M11 8h5M11 11h5M11 14h4' stroke='%23c5a44e' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-book-buy-thin: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4h12v16H6z' fill='%23c9a85e' stroke='%238a6d3a' stroke-width='1'/%3E%3Cpath d='M12 8v6M9 11h6' stroke='%236e4a2a' stroke-width='1.5'/%3E%3C/svg%3E\");\n  --ico-book-buy-thick: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h14v16H4z' fill='%238b2500' stroke='%234a1500' stroke-width='1'/%3E%3Cpath d='M4 4h2v16H4zM6 4h2v16H6z' fill='%23c5a44e'/%3E%3Cpath d='M13 8v6M11 11h5' stroke='%23f5e6c8' stroke-width='1.5'/%3E%3C/svg%3E\");\n  --ico-page-copy: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h10v14H5z' fill='%23f5e6c8' stroke='%238a6d3a' stroke-width='1'/%3E%3Cpath d='M9 7h12v14H9z' fill='%23e8dcc8' stroke='%236e4a2a' stroke-width='1'/%3E%3Cpath d='M12 11h6M12 14h6M12 17h4' stroke='%236e4a2a' stroke-width='0.8'/%3E%3C/svg%3E\");\n\n  /* === 香料 === */\n  --ico-pepper: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='8' r='2' fill='%232a1a10'/%3E%3Ccircle cx='14' cy='10' r='2' fill='%232a1a10'/%3E%3Ccircle cx='10' cy='14' r='2' fill='%232a1a10'/%3E%3Ccircle cx='16' cy='16' r='2' fill='%232a1a10'/%3E%3Ccircle cx='6' cy='14' r='1.5' fill='%234a3525'/%3E%3Ccircle cx='12' cy='18' r='1.5' fill='%234a3525'/%3E%3C/svg%3E\");\n  --ico-cinnamon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6c2-1 5-1 7 1l5 5c1 2 1 5-1 7l-5-5c-2 1-5 1-7-1z' fill='%238b2500'/%3E%3Cpath d='M7 8c1 0 3 1 4 2M9 11c1 0 3 1 4 2' stroke='%234a1500' stroke-width='1' fill='none'/%3E%3C/svg%3E\");\n  --ico-clove: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v8M9 7c0-2 3-2 3 0M15 7c0-2-3-2-3 0M12 11l-3 9M12 11l3 9' stroke='%234a2e15' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='6' r='2' fill='%236e4a2a'/%3E%3C/svg%3E\");\n  --ico-silk: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5c4 2 4 4 0 6s-4 4 0 6 4 4 0 6c4-2 8-2 12 0-4-2-4-4 0-6s4-4 0-6-4-4 0-6c-4 2-8 2-12 0z' fill='%23b88a96'/%3E%3Cpath d='M3 5c4 2 8 2 12 0M3 11c4 2 8 2 12 0M3 17c4 2 8 2 12 0' stroke='%237a4a56' stroke-width='0.8' fill='none'/%3E%3C/svg%3E\");\n\n  /* === 圣物 === */\n  --ico-relic: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8h14v12H5z' fill='%23c5a44e' stroke='%238a6d3a' stroke-width='1'/%3E%3Cpath d='M11 3h2v5h-2zM9 5h6v2H9z' fill='%23f5e6c8'/%3E%3Cpath d='M9 12h6v5H9z' fill='%238b2500'/%3E%3Ccircle cx='12' cy='14' r='1' fill='%23f5e6c8'/%3E%3C/svg%3E\");\n  --ico-holy-water: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6v4l-1 2v9c0 2-1 3-2 3s-2-1-2-3v-9l-1-2z' fill='%237a96b8' stroke='%234a6688' stroke-width='1'/%3E%3Cpath d='M11 5h2v2h-2zM10 6h4M12 6v3' stroke='%23f5e6c8' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-ruby: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6-6 6 6-6 12z' fill='%238b2500' stroke='%234a1500' stroke-width='1'/%3E%3Cpath d='M9 9l3-3 3 3-3 6z' fill='%23c5a44e' opacity='0.6'/%3E%3Cpath d='M6 9h12' stroke='%234a1500' stroke-width='1'/%3E%3C/svg%3E\");\n\n  /* === 交通 === */\n  --ico-route: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12c4-8 14-8 18 0' stroke='%238a6d3a' stroke-width='1.5' fill='none' stroke-dasharray='2 2'/%3E%3Ccircle cx='3' cy='12' r='2' fill='%238b2500'/%3E%3Ccircle cx='21' cy='12' r='2' fill='%23c5a44e'/%3E%3C/svg%3E\");\n  --ico-route-far: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 18l4-6 4 4 4-8 6' stroke='%238a6d3a' stroke-width='1.5' fill='none' stroke-dasharray='2 2'/%3E%3Ccircle cx='3' cy='18' r='2' fill='%238b2500'/%3E%3Ccircle cx='21' cy='14' r='2' fill='%23c5a44e'/%3E%3Cpath d='M14 6l2-2 2 2-2 2z' fill='%238a6d3a'/%3E%3C/svg%3E\");\n\n  /* === 雇佣 === */\n  --ico-courier: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='6' r='3' fill='%236e4a2a'/%3E%3Cpath d='M5 22v-8c0-2 1-4 3-4h0c2 0 3 2 3 4v8' fill='%236e4a2a'/%3E%3Cpath d='M14 8l8 4-8 4z' fill='%23f5e6c8' stroke='%238a6d3a' stroke-width='1'/%3E%3C/svg%3E\");\n  --ico-guard: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L4 5v7c0 5 3 9 8 10 5-1 8-5 8-10V5z' fill='%234a4a4a'/%3E%3Cpath d='M12 7v8M8 11h8' stroke='%23c5a44e' stroke-width='1.5'/%3E%3C/svg%3E\");\n  --ico-knight-hire: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 22V10c0-3 3-5 7-5s7 2 7 5v12' fill='%238a8a8a'/%3E%3Cpath d='M9 8h6v4H9z' fill='%234a4a4a'/%3E%3Cpath d='M11 10h2v2h-2z' fill='%23c5a44e'/%3E%3Cpath d='M5 22V14c0-2 2-3 3-3M19 22V14c0-2-2-3-3-3' stroke='%234a4a4a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E\");\n  --ico-scribe: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='6' r='3' fill='%236e4a2a'/%3E%3Cpath d='M7 22v-9c0-2 2-4 5-4s5 2 5 4v9' fill='%234a3525'/%3E%3Cpath d='M14 14l4-4 2 2-4 4z' fill='%23f5e6c8'/%3E%3Cpath d='M14 14l-1 1 1 1z' fill='%232a1a10'/%3E%3C/svg%3E\");\n\n  /* === 军需 === */\n  --ico-warhorse: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 18l3-7 4-3 2-5 3 2-1 4 5 3v6H4z' fill='%234a3525'/%3E%3Ccircle cx='14' cy='10' r='1' fill='%23f5e6c8'/%3E%3Cpath d='M11 8l3-3' stroke='%238b2500' stroke-width='2'/%3E%3C/svg%3E\");\n  --ico-packhorse: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 18l3-7 4-3 2-4 2 1-1 3 5 3v7H4z' fill='%238a6d3a'/%3E%3Cpath d='M8 12h8v3H8z' fill='%236e4a2a'/%3E%3Ccircle cx='14' cy='9' r='1' fill='%23f5e6c8'/%3E%3C/svg%3E\");\n  --ico-mail: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h14v15H5z' fill='%238a8a8a'/%3E%3Ccircle cx='8' cy='9' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='12' cy='9' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='16' cy='9' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='10' cy='12' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='14' cy='12' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='8' cy='15' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='12' cy='15' r='1' fill='%234a4a4a'/%3E%3Ccircle cx='16' cy='15' r='1' fill='%234a4a4a'/%3E%3C/svg%3E\");\n  --ico-sword: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2l-9 13 3 3 9-13z' fill='%23c0c0c0' stroke='%234a4a4a' stroke-width='1'/%3E%3Cpath d='M5 17l-2 4-2z' fill='%238a6d3a'/%3E%3Cpath d='M2 19h6M5 16v6' stroke='%23c5a44e' stroke-width='2'/%3E%3C/svg%3E\");\n  --ico-spear: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 2l-3 6h-2l-3 3 3 1-7 9 1 9-7 1 3 3-3v-2l6-3z' fill='%23c0c0c0' stroke='%234a4a4a' stroke-width='1'/%3E%3Cpath d='M3 21l5-5' stroke='%238a6d3a' stroke-width='2'/%3E%3C/svg%3E\");\n}\n\n/* ============================================================\n   MOBILE OPTIMIZATION — 移动端响应式适配\n   断点：768px (平板) / 480px (手机)\n   ============================================================ */\n\n/* ---------- 平板及以下：抽屉拓宽 ---------- */\n@media (max-width: 768px) {\n  ms {\n    --topgap: 50px;\n    --botgap: 88px;\n  }\n  \n  /* 抽屉占满更多空间 */\n  ms pan {\n    width: min(420px, 92vw);\n    min-width: 0;\n    padding: 0 16px 36px;\n  }\n  \n  /* 顶部栏紧凑 */\n  ms art {\n    padding: 20px 18px 18px;\n  }\n  ms art > st {\n    font-size: 1.3em;\n    letter-spacing: 0.1em;\n  }\n  ms art p:first-of-type::first-letter {\n    font-size: 2.6em;\n  }\n  ms art p {\n    font-size: 1em;\n  }\n}\n\n/* ---------- 手机端：核心优化 ---------- */\n@media (max-width: 480px) {\n  ms {\n    --topgap: 44px;\n    --botgap: 76px;\n    border-radius: 2px;\n    border-width: 1px;\n  }\n  \n  /* ============================================================\n     抽屉：占满屏幕宽度，留出关闭按钮空间\n     ============================================================ */\n  ms pan {\n    width: 100vw;\n    max-width: 100vw;\n    min-width: 0;\n    padding: 0 14px 32px;\n    border-radius: 0;\n    border-left-width: 3px;\n    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.6);\n  }\n  \n  /* 抽屉标题区紧凑 */\n  ms pan > h {\n    margin: 0 -14px 10px;\n    padding: 16px 50px 10px 18px;\n  }\n  ms pan > h::before {\n    font-size: 1.15em;\n    letter-spacing: 0.12em;\n  }\n  ms pan > h::after {\n    font-size: 0.68em;\n    letter-spacing: 0.24em;\n  }\n  \n  /* ============================================================\n     X 关闭按钮：提升优先级 + 增大触控区\n     ============================================================ */\n  ms label[x] {\n    top: calc(var(--topgap, 44px) + 6px);\n    right: 10px;\n    width: 42px;\n    height: 42px;\n    font-size: 18px;\n    z-index: 999;  /* 强制最高优先级 */\n    background: rgba(20, 12, 6, 0.95);\n    border-width: 2px;\n    box-shadow: \n      0 4px 12px rgba(0, 0, 0, 0.5),\n      0 0 0 1px rgba(0, 0, 0, 0.3);\n    backdrop-filter: blur(4px);\n    -webkit-backdrop-filter: blur(4px);\n  }\n  ms label[x]:hover,\n  ms label[x]:active {\n    transform: scale(1.1);\n    background: var(--ver);\n  }\n  \n  /* ============================================================\n     <row> 修复：禁止 k/v 竖向堆叠\n     长文本时让 v 占满整行，k 单独一行\n     ============================================================ */\n  ms row {\n    flex-wrap: wrap;\n    gap: 4px 8px;\n    padding: 7px 2px;\n  }\n  ms row > k {\n    flex: 0 0 auto;\n    min-width: 0;\n    font-size: 0.84em;\n    line-height: 1.5;\n  }\n  ms row > k[w] {\n    min-width: 0;\n  }\n  ms row > v {\n    flex: 1 1 100%;\n    min-width: 0;\n    font-size: 0.9em;\n    word-break: break-word;\n    overflow-wrap: anywhere;\n    line-height: 1.7;\n  }\n  /* 短内容时仍可同行 */\n  ms row > v:only-child,\n  ms row:has(v:not(:empty)) > k + v {\n    flex: 1 1 auto;\n  }\n  \n  /* ============================================================\n     <bar> 学业进度条：保证最小宽度\n     ============================================================ */\n  ms bar {\n    flex-wrap: wrap;\n    gap: 6px;\n    padding: 7px 0;\n  }\n  ms bar k {\n    flex: 0 0 auto;\n    min-width: 44px;\n    font-size: 0.8em;\n  }\n  ms bar t {\n    flex: 1 1 auto;\n    min-width: 100px;\n    height: 8px;\n  }\n  ms bar n {\n    flex: 0 0 30px;\n    font-size: 0.76em;\n  }\n  ms bar i {\n    flex: 1 1 100%;\n    margin-left: 0;\n    font-size: 0.72em;\n  }\n  \n  /* ============================================================\n     <table> 记忆区：禁止溢出抽屉\n     强制收窄列 + 横向滚动条\n     ============================================================ */\n  ms scr {\n    margin: 6px -8px;\n    padding: 0 8px;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    scrollbar-width: thin;\n  }\n  ms scr::-webkit-scrollbar {\n    height: 4px;\n  }\n  ms table {\n    min-width: 0;\n    width: 100%;\n    font-size: 0.72em;\n    table-layout: fixed;\n  }\n  ms th, ms td {\n    padding: 5px 6px;\n    word-break: break-word;\n    overflow-wrap: anywhere;\n  }\n  /* 编号列窄 */\n  ms th:first-child, ms td:first-child {\n    width: 16%;\n    white-space: nowrap;\n  }\n  /* 时间列固定 */\n  ms th:nth-child(2), ms td:nth-child(2) {\n    width: 22%;\n  }\n  /* 场景列窄 */\n  ms th:nth-child(3), ms td:nth-child(3) {\n    width: 20%;\n  }\n  /* 客观事实列吃剩余空间 */\n  ms th:nth-child(4), ms td:nth-child(4) {\n    width: 42%;\n  }\n  \n  /* ============================================================\n     <ring> 声望环：缩小 + 自适应排列\n     ============================================================ */\n  ms rings {\n    gap: 8px;\n  }\n  ms ring {\n    width: 58px;\n    height: 58px;\n  }\n  ms ring rn {\n    font-size: 0.6em;\n  }\n  ms ring rg {\n    font-size: 1em;\n  }\n  ms ring rp {\n    font-size: 0.5em;\n  }\n  \n  /* ============================================================\n     <card> 人物卡：图标缩小，文字紧凑\n     ============================================================ */\n  ms card {\n    padding: 11px 12px 11px 58px;\n  }\n  ms card::before {\n    width: 36px;\n    height: 36px;\n    left: 12px;\n    top: 12px;\n  }\n  ms card::after {\n    left: 17px;\n    top: 16px;\n    width: 26px;\n    height: 28px;\n  }\n  ms card > name {\n    font-size: 0.96em;\n  }\n  ms card > name rel {\n    font-size: 0.55em;\n  }\n  \n  /* ============================================================\n     <pricecard> 物价卡：单列紧凑\n     ============================================================ */\n  ms pricegrid {\n    grid-template-columns: 1fr 1fr;\n    gap: 7px;\n  }\n  ms pricecard {\n    padding: 8px 10px;\n  }\n  ms pname {\n    font-size: 0.78em;\n  }\n  ms pval {\n    font-size: 0.84em;\n  }\n  \n  /* ============================================================\n     <opt> 行动选项：增大触控区\n     ============================================================ */\n  ms opt {\n    padding: 12px 13px;\n    margin-bottom: 11px;\n    gap: 11px;\n  }\n  ms opt rn {\n    flex: 0 0 32px;\n    height: 32px;\n    font-size: 0.94em;\n  }\n  ms opt v {\n    font-size: 0.92em;\n  }\n  ms opt v b {\n    font-size: 1em;\n  }\n  \n  /* ============================================================\n     <fac> 势力图：竖向堆叠\n     ============================================================ */\n  ms fac {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 3px;\n    padding: 6px 2px;\n  }\n  ms fac s {\n    text-align: left;\n    padding-left: 22px;\n  }\n  \n  /* ============================================================\n     <hero> 头部：缩小\n     ============================================================ */\n  ms hero > name {\n    font-size: 1.32em;\n  }\n  ms hero > sub {\n    font-size: 0.8em;\n  }\n  ms hero > note {\n    font-size: 0.76em;\n  }\n  \n  /* ============================================================\n     <sec> 区块内边距收紧\n     ============================================================ */\n  ms sec {\n    padding: 11px 11px;\n    margin: 11px 0;\n  }\n  ms sec > sh {\n    font-size: 0.94em;\n  }\n  \n  /* ============================================================\n     底部导航栏：触控区扩大\n     ============================================================ */\n  ms nav label {\n    padding: 11px 1px 9px;\n    gap: 3px;\n    font-size: 10.5px;\n    letter-spacing: 0.02em;\n  }\n  ms nav label::before {\n    width: 24px;\n    height: 24px;\n  }\n  \n  /* ============================================================\n     <details>/<summary> 折叠区紧凑\n     ============================================================ */\n  ms summary {\n    padding: 8px 12px 8px 26px;\n    font-size: 0.88em;\n  }\n  ms summary::before {\n    left: 10px;\n  }\n  ms details > b {\n    padding: 4px 12px 11px;\n    font-size: 0.86em;\n  }\n  \n  /* ============================================================\n     <tags> 性格标签自动换行\n     ============================================================ */\n  ms tags {\n    gap: 6px;\n  }\n  ms g {\n    padding: 3px 10px 3px 8px;\n    font-size: 0.76em;\n  }\n  \n  /* ============================================================\n     <roster> 人物清单换行紧凑\n     ============================================================ */\n  ms roster {\n    gap: 6px;\n  }\n  ms roster i {\n    font-size: 0.8em;\n    padding: 3px 9px;\n  }\n  \n  /* ============================================================\n     <ev> 事件卡时间轴线缩短\n     ============================================================ */\n  ms ev {\n    margin-left: 10px;\n    padding: 9px 11px 9px 14px;\n  }\n  ms ev::before {\n    left: -16px;\n    width: 11px;\n    height: 11px;\n  }\n}\n\n/* ---------- 超窄屏幕（iPhone SE 等 320px）---------- */\n@media (max-width: 360px) {\n  ms art > st {\n    font-size: 1.15em;\n  }\n  ms pan > h::before {\n    font-size: 1.05em;\n  }\n  ms nav label::after {\n    font-size: 9.5px;\n  }\n  ms ring {\n    width: 52px;\n    height: 52px;\n  }\n  ms pricegrid {\n    grid-template-columns: 1fr;\n  }\n  ms hero > name {\n    font-size: 1.2em;\n  }\n}\n\n/* ---------- 横屏手机：抽屉不占满 ---------- */\n@media (max-width: 768px) and (orientation: landscape) {\n  ms pan {\n    width: min(420px, 70vw);\n  }\n}\n\n/* ========== 移动端适配：模型选择器居中 + 收起装饰 ========== */\n@media (max-width: 768px) {\n    /* 模型选择器容器居中 */\n    #nav-middle {\n        position: fixed !important;\n        left: 50% !important;\n        transform: translateX(-50%) !important;\n        z-index: 100 !important;\n    }\n    \n    /* 移除左右两侧宝石装饰（移动端空间不足） */\n    #nav-middle .group.flex.items-center::before,\n    #nav-middle .group.flex.items-center::after {\n        display: none !important;\n    }\n    \n    /* 移除顶部天使翅膀（移动端不显示） */\n    #nav-middle::before {\n        display: none !important;\n    }\n    \n    /* 模型选择器缩小尺寸 */\n    #nav-middle .group.flex.items-center {\n        padding: 6px 14px 6px 12px !important;\n        border-radius: 6px !important;\n    }\n    \n    /* 模型名称字号缩小 */\n    #nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {\n        font-size: 12px !important;\n        letter-spacing: 1px !important;\n    }\n    \n    /* 下拉箭头（圣杯）缩小 */\n    #nav-middle .shrink-0.flex.items-center {\n        width: 18px !important;\n        height: 18px !important;\n        margin-left: 6px !important;\n    }\n    \n    /* 顶部栏左侧留出空间给\"新对话\"按钮 */\n    header.flex.justify-between {\n        padding-left: 12px !important;\n    }\n    \n    /* 移除左侧圣杯徽章（移动端） */\n    header.flex.justify-between::before {\n        display: none !important;\n    }\n    \n    /* 移除右侧圣剑徽章（移动端） */\n    header.flex.justify-between::after {\n        display: none !important;\n    }\n    \n    /* 调整四角宝石尺寸（移动端缩小） */\n    header.flex.justify-between {\n        background-size: \n            20px 6px,\n            12px 12px, \n            12px 12px, \n            12px 12px, \n            12px 12px !important;\n        background-position:\n            center bottom,\n            6px 6px,\n            calc(100% - 6px) 6px,\n            6px calc(100% - 6px),\n            calc(100% - 6px) calc(100% - 6px) !important;\n    }\n}\n\n/* ========== 移动端：模型选择器简化金边 ========== */\n@media (max-width: 768px) {\n    #nav-middle .group.flex.items-center {\n        box-shadow: \n            /* 单层金边 */\n            inset 0 0 0 1.5px #d4af37,\n            /* 外发光（减弱） */\n            0 0 12px rgba(212, 175, 55, 0.3),\n            /* 立体阴影（减弱） */\n            0 3px 8px rgba(0, 0, 0, 0.5),\n            /* 底部高光 */\n            inset 0 -1px 0 rgba(255, 255, 255, 0.1),\n            /* 顶部暗线 */\n            inset 0 1px 2px rgba(0, 0, 0, 0.4) !important;\n    }\n    \n    #nav-middle .group.flex.items-center:hover {\n        box-shadow: \n            inset 0 0 0 1.5px #f0e68c,\n            0 0 16px rgba(240, 230, 140, 0.5),\n            0 3px 10px rgba(0, 0, 0, 0.6),\n            inset 0 -1px 0 rgba(255, 255, 255, 0.15) !important;\n    }\n}\n\n/* ========== 移动端：设置按钮缩小 ========== */\n@media (max-width: 768px) {\n    #nav-right button {\n        width: 32px !important;\n        height: 32px !important;\n        box-shadow: \n            inset 0 0 0 1.5px #d4af37,\n            inset 0 2px 4px rgba(255, 255, 255, 0.15),\n            inset 0 -2px 4px rgba(0, 0, 0, 0.4),\n            0 0 12px rgba(196, 30, 58, 0.4),\n            0 3px 8px rgba(0, 0, 0, 0.6) !important;\n    }\n    \n    #nav-right button::before {\n        inset: -6px !important;\n    }\n}\n\n/* ========== 移动端：历史记录图标微调 ========== */\n@media (max-width: 768px) {\n    header.flex.justify-between.w-full.top-0 svg.lucide-clock-8 {\n        padding: 4px !important;\n    }\n    \n    header.flex.justify-between.w-full.top-0 span.MuiBadge-dot.md\\:hidden {\n        width: 6px !important;\n        height: 6px !important;\n    }\n}\n\n/* ========== 移动端：顶部栏整体高度优化 ========== */\n@media (max-width: 768px) {\n    header.flex.justify-between {\n        min-height: 52px !important;\n        padding-top: 6px !important;\n        padding-bottom: 10px !important;\n    }\n}\n\n/* ========== 如果\"新对话\"按钮仍然被挡，强制它在最前 ========== */\n@media (max-width: 768px) {\n    /* 假设\"新对话\"按钮的选择器是这个（可能需要根据实际调整） */\n    header.flex.justify-between.w-full.top-0 > button:first-child,\n    header.flex.justify-between.w-full.top-0 > div:first-child > button {\n        position: relative !important;\n        z-index: 101 !important;\n    }\n}","options":{"items":[{"order":0,"label":"【存档】","type":"SET-INPUT","value":"【存档】"},{"order":1,"label":"评价","type":"SET-INPUT","value":"【好评/差评】：给出理由"},{"order":2,"label":"【状态栏】","type":"SET-INPUT","value":"(【差评】格式严重衰减！[绝对指令]：立即进行全局格式化刷新。严格锚定并完整执行【.Phase 2(绝对锁定)】原始模板，彻底抛弃简化记忆，校准所有状态栏面板，尤其是Think面板。)"}]},"language":"zh","containsNSFW":true,"publicAccess":true,"deletedAt":null,"isAnonymous":false,"enableSafeguard":false,"defaultModelSettings":{"model":"mango_gemini_vertex/gemini-3.1-pro-preview","contextWindow":4,"modelSettings":{"temperature":1}},"totalConversations":369,"totalMessages":5209,"totalCreditsUsed":19597033,"totalTokensUsed":431801893,"totalPlayedUsers":224,"deeplyPlayed":82,"fixedPromptLength":14792,"lorebookLength":101499,"author":{"id":"8ddXOM7TLSwQeQbmXtedOnjJqLrtagRl","name":"SaikyouYukimura","displayUsername":"SaikyouYukimura","username":"saikyouyukimura"},"cardsTags":[{"tag":{"name":"超高自由度","cardsCount":981}},{"tag":{"name":"模拟真实","cardsCount":9}},{"tag":{"name":"全性向","cardsCount":278}},{"tag":{"name":"历史","cardsCount":18}},{"tag":{"name":"多角色","cardsCount":1110}},{"tag":{"name":"巅峰决战","cardsCount":123}},{"tag":{"name":"开放世界","cardsCount":1289}},{"tag":{"name":"高自由度","cardsCount":180}},{"tag":{"name":"自由探索","cardsCount":1082}}],"cardsVoices":[],"prompt":null,"promptSizeBytes":null}