@import url('https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Serif+SC:ital,wght@0,600;0,900;1,600&display=swap');
ai{display:block;--ink:#141414;--ink2:#4a4a4a;--ghost:#f4f3ef;--edge:#e4e3de;--red:#c73e3a;background:#fff;border:2px solid var(--ink);box-shadow:6px 6px 0 rgba(20,20,20,.1);padding:14px 16px 0;font-size:15px;line-height:1.8;color:var(--ink);}
ai b{font-weight:700;color:var(--ink);}
/* ═══ 报头 ═══ */
ai news{display:block;position:relative;margin:-2px 0 14px;padding:10px 92px 12px 2px;border-bottom:2px solid var(--ink);}
ai nh{display:block;font-family:'Noto Serif SC',serif;font-weight:900;font-size:23px;letter-spacing:10px;}
ai nh::after{content:'';display:block;width:100%;height:1px;margin-top:8px;background:repeating-linear-gradient(90deg,var(--ink) 0 6px,transparent 6px 10px);}
ai nd{display:block;margin-top:6px;font-size:12.5px;color:var(--ink2);letter-spacing:1px;}
ai nl{display:block;font-size:12.5px;color:var(--ink2);letter-spacing:1px;}
ai nl::before{content:'◈ ';font-size:10px;}
ai news::after{content:'青澜\A 验讫';white-space:pre;position:absolute;right:8px;top:6px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Noto Serif SC',serif;font-size:13px;line-height:1.3;color:var(--red);border:2px solid var(--red);border-radius:50%;opacity:.75;transform:rotate(12deg);mix-blend-mode:multiply;animation:ai-stamp .5s ease-out;}
@keyframes ai-stamp{0%{transform:rotate(12deg) scale(2.4);opacity:0;}70%{transform:rotate(12deg) scale(.92);opacity:.85;}100%{transform:rotate(12deg) scale(1);opacity:.75;}}
/* ═══ 正文与台词 ═══ */
ai say,ai q{quotes:none;font-weight:600;}
ai say::before,ai q::before{content:'「';}
ai say::after,ai q::after{content:'」';}
ai say[w="szh"],ai q[w="szh"]{color:#5f549e;}
ai say[w="xl"],ai q[w="xl"]{color:#b45f14;}
ai say[w="snw"],ai q[w="snw"]{color:#ad4a6e;}
ai say[w="ly"],ai q[w="ly"]{color:#1d5a54;}
ai say[w="bf"],ai q[w="bf"]{color:#4a5a74;}
ai say[w="me"],ai q[w="me"]{color:#14666b;}
ai say[w="o"],ai q[w="o"]{color:#767676;}
ai m{font-style:italic;font-weight:400;border-bottom:1px dashed currentColor;}
ai m::before{content:'（';opacity:.55;}
ai m::after{content:'）';opacity:.55;}
ai m[w="szh"]{color:#8a80b8;}
ai m[w="xl"]{color:#c08a55;}
ai m[w="snw"]{color:#bf7f97;}
ai m[w="ly"]{color:#578b85;}
ai m[w="bf"]{color:#7e8ba0;}
ai m[w="o"]{color:#999;}/* ═══ 通用字段行：左标签列表格 ═══ */
ai d{display:flex;gap:10px;margin:0;padding:5px 6px 5px 0;font-size:13.5px;border-bottom:1px solid var(--edge);transition:background .2s;}
ai d:hover{background:#fafaf7;}
ai k{flex:0 0 4.2em;margin:-5px 0;padding:5px 8px;background:var(--ghost);border-right:1px solid var(--edge);font-family:'Noto Serif SC',serif;font-style:italic;font-size:12.5px;color:#5a5a56;display:flex;align-items:center;}
/* ═══ Tab骨架：面板在上，标签栏沉底 ═══ */
ai tabs{display:flex;flex-wrap:wrap;margin:4px -16px 0;border-top:2px solid var(--ink);}
ai tabs details{display:contents;}
ai tabs summary{list-style:none;cursor:pointer;flex:1 1 auto;position:relative;text-align:center;padding:11px 8px;font-size:13px;font-weight:700;letter-spacing:1px;color:var(--ink);background:#fff;filter:grayscale(1);border-right:1px solid var(--edge);transition:background .22s,color .22s;user-select:none;}
ai tabs summary::-webkit-details-marker{display:none;}
ai tabs summary::marker{content:'';}
ai tabs summary::before{content:'';position:absolute;left:4px;top:4px;width:8px;height:8px;border-left:2px solid currentColor;border-top:2px solid currentColor;opacity:.5;transition:opacity .22s;}
ai tabs summary::after{content:'';position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.5;transition:opacity .22s;}
ai tabs summary:hover{background:var(--ghost);}
ai tabs summary:hover::before,ai tabs summary:hover::after{opacity:1;}
ai tabs details[open]>summary{background:var(--ink);color:#fff;}
ai pan{display:block;order:-1;flex:1 1 100%;padding:16px;background:#fff;border-bottom:2px solid var(--ink);animation:ai-rise .3s ease;}
@keyframes ai-rise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
/* ═══ 🎫 档案：学生证 ═══ */
ai card{display:flex;gap:14px;align-items:flex-start;}
ai ava{flex:0 0 auto;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-family:'Noto Serif SC',serif;font-size:28px;font-weight:900;color:#fff;background:var(--ink);box-shadow:3px 3px 0 rgba(20,20,20,.15);}
ai inf{flex:1;min-width:0;border-top:1px solid var(--edge);}
/* ═══ 🖼️ 立绘：黑框拍立得 ═══ */
ai pic{display:block;width:min(78%,300px);margin:4px auto;padding:8px 8px 2px;background:#fff;border:2px solid var(--ink);box-shadow:5px 5px 0 rgba(20,20,20,.14);transform:rotate(-1.8deg);transition:transform .35s,box-shadow .35s;}
ai pic:hover{transform:rotate(0) scale(1.02);box-shadow:7px 7px 0 rgba(20,20,20,.2);}
ai pic img{display:block;width:100%;}
ai cap{display:block;text-align:center;padding:4px 0 6px;font-family:'Ma Shan Zheng',cursive;font-size:21px;}
/* ═══ 💕 芳心 ═══ */
ai gal{display:block;position:relative;padding:14px 12px 10px;margin-bottom:12px;border:1px solid var(--ink);box-shadow:4px 4px 0 rgba(199,62,58,.12);}
ai gn{display:inline-block;position:relative;top:-24px;margin-bottom:-16px;padding:3px 16px;font-family:'Noto Serif SC',serif;font-weight:700;font-size:14px;color:#fff;background:var(--ink);box-shadow:2px 2px 0 rgba(199,62,58,.5);transform:rotate(-1deg);}
ai bd{display:block;margin:8px 0;border:1px dashed #b7b7b2;background:#fcfcfa;}
ai bd d{border-bottom:1px dashed var(--edge);}
ai bd k{color:#96666f;}
ai lv{display:inline-block;margin:8px 8px 2px 0;padding:3px 13px;font-size:13px;font-weight:700;color:var(--red);background:#fff;border:1.5px solid var(--red);border-radius:2px;animation:ai-beat 2.4s ease-in-out infinite;}
@keyframes ai-beat{0%,100%{transform:scale(1);}6%{transform:scale(1.05);}12%{transform:scale(1);}}
ai tg{display:inline-block;margin:8px 8px 2px 0;padding:3px 12px;font-size:12px;letter-spacing:1px;color:#fff;background:var(--ink);}
ai tg::before{content:'@';opacity:.6;margin-right:2px;}
ai tg[f="intact"]{background:#fff;color:var(--ink);border:1.5px solid var(--ink);}
ai tg[f="crack"]{background:#fff;color:var(--ink2);border:1.5px dashed var(--ink2);}
ai tg[f="waver"]{background:#7c7c78;}
ai tg[f="broken"]{background:var(--red);animation:ai-flick 1.6s linear infinite;}
@keyframes ai-flick{0%,100%{opacity:1;}50%{opacity:.65;}}
/* ═══ 👥 在场 ═══ */
ai npc{display:block;margin-bottom:10px;border:1px solid var(--edge);border-left:4px solid var(--ink);transition:transform .22s,box-shadow .22s;}
ai npc:hover{transform:translateX(3px);box-shadow:3px 3px 0 rgba(20,20,20,.1);}
ai dot{display:block;padding:5px 8px;font-size:13px;color:var(--ink2);background:var(--ghost);}
ai dot::before{content:'●';margin-right:6px;font-size:10px;vertical-align:1px;}
ai dot[a="友好"]::before{color:#3e8e5a;}
ai dot[a="中立"]::before{color:#9a9a95;}
ai dot[a="敌意"]::before{color:var(--red);animation:ai-flick 1.2s linear infinite;}
ai dot[a="警惕"]::before{color:#c08a1e;}
/* ═══ 🌙 回廊：时间轴 ═══ */
ai mem{display:block;}
ai mt{display:block;width:max-content;margin:10px 0 8px;padding:3px 14px;font-family:'Noto Serif SC',serif;font-size:13px;font-weight:700;letter-spacing:3px;color:#fff;background:var(--ink);}
ai mt:last-of-type{background:#fff;color:var(--ink);border:1.5px solid var(--ink);}
ai r{display:block;position:relative;margin-left:10px;padding:6px 8px 8px 18px;border-left:2px solid var(--ink);transition:background .2s;}
ai r::before{content:'';position:absolute;left:-6px;top:13px;width:8px;height:8px;background:#fff;border:2px solid var(--ink);transform:rotate(45deg);}
ai r:hover{background:#fafaf7;}
ai no{display:inline-block;min-width:20px;font-family:'Noto Serif SC',serif;font-weight:900;font-size:13px;}
ai no::before{content:'No.';font-size:10px;opacity:.5;}
ai tm{display:inline-block;font-size:12px;color:var(--ink2);margin-right:8px;letter-spacing:.5px;}
ai sc{display:inline-block;font-size:12px;padding:0 8px;border:1px solid var(--edge);background:var(--ghost);margin-right:6px;}
ai ev{display:block;font-size:13.5px;margin-top:3px;}
/* ═══ 🎯 行动：黑白便签 ═══ */
ai act{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;}
ai act d{display:block;margin:0;padding:12px 12px;font-size:13.5px;cursor:pointer;background:#fff;border:1.5px solid var(--ink);box-shadow:3px 3px 0 rgba(20,20,20,.85);transition:transform .2s,box-shadow .2s,background .2s,color .2s;}
ai act d:nth-child(odd){transform:rotate(-.8deg);}
ai act d:nth-child(even){transform:rotate(.8deg);}
ai act d:hover{transform:rotate(0) translate(-2px,-2px);box-shadow:5px 5px 0 rgba(199,62,58,.85);background:var(--ink);color:#fff;}
ai act d::before{content:'▸ ';color:var(--red);font-weight:700;}
/* ═══ 移动端 ═══ */
@media (max-width:520px){ai{font-size:14px;padding:10px 10px 0;}ai nh{font-size:19px;letter-spacing:6px;}ai news{padding-right:74px;}ai news::after{width:48px;height:48px;font-size:11px;}ai tabs{margin:4px -10px 0;}ai tabs summary{padding:9px 4px;font-size:12px;letter-spacing:0;}ai k{flex-basis:3.8em;padding:5px 6px;}ai act{grid-template-columns:repeat(2,1fr);}ai pic{width:88%;}}
/* ═══════ 聊天框 · 报章黑白风 ═══════ */
/* 隐藏顶部彩色装饰条（与黑白报章风冲突，不需要可删本段） */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"]{display:none !important;}

/* 统一聊天框：白纸+黑边+硬投影 */
.bg-gray-100\/90.relative.inline-block{
  background:#fff !important;
  border:2px solid #141414 !important;
  border-radius:2px !important;
  box-shadow:6px 6px 0 rgba(20,20,20,.12) !important;
  transition:box-shadow .25s,transform .25s !important;
}
.bg-gray-100\/90.relative.inline-block:hover{
  box-shadow:8px 8px 0 rgba(20,20,20,.18) !important;
}

/* 输入框：米白底+虚线边，与输出区分 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90){
  background:#f4f3ef !important;
  border:2px dashed #141414 !important;
  box-shadow:5px 5px 0 rgba(199,62,58,.14) !important;
}

/* 正文文字：深墨色+报头衬线 */
.markdown-body{
  color:#141414 !important;
  font-family:"Noto Serif SC","Songti SC",serif !important;
  letter-spacing:.3px !important;
}
.markdown-body strong{color:#c73e3a !important;font-weight:700 !important;}
.markdown-body h1,.markdown-body h2,.markdown-body h3{
  font-family:"Noto Serif SC",serif !important;font-weight:900 !important;
  border-bottom:1px solid #141414 !important;padding-bottom:4px !important;
}
.markdown-body blockquote{
  border-left:4px solid #141414 !important;background:#f4f3ef !important;
  color:#4a4a4a !important;font-style:italic !important;
}

/* 底部按钮：线框，hover 反黑 */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary{
  color:#4a4a4a !important;
  border:1px solid #e4e3de !important;
  border-radius:2px !important;
  transition:background .2s,color .2s !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover{
  background:#141414 !important;color:#fff !important;
}
/* 模型名：斜体衬线，报纸署名感 */
.MuiTypography-root.MuiTypography-body2.css-6c0gf2{
  color:#767676 !important;font-family:"Noto Serif SC",serif !important;
  font-style:italic !important;letter-spacing:1px !important;
}
/* token 消耗：盖章红 */
.text-orange-500{color:#c73e3a !important;font-weight:700 !important;}
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700;900&display=swap');

@keyframes fw-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes fw-standby{0%,100%{box-shadow:3px 3px 0 rgba(199,62,58,.85)}50%{box-shadow:3px 3px 0 #c73e3a,0 0 12px rgba(199,62,58,.3)}}

/* ═══ 顶栏 ═══ */
nav[class*="sticky"][class*="top-0"]{background:#fafaf7!important;backdrop-filter:none!important;border-bottom:2.5px solid #141414!important;box-shadow:0 3px 0 rgba(20,20,20,.06)!important}
nav[class*="sticky"] header,header[class*="border-b"]{background:#fafaf7!important;border-bottom:none!important;position:relative!important}

#nav-left button,#nav-right button{background:#fff!important;border:2px solid #141414!important;border-radius:2px!important;color:#141414!important;box-shadow:3px 3px 0 #141414!important;font-family:"Noto Serif SC",serif!important;font-weight:700!important;transition:transform .12s cubic-bezier(.4,0,.2,1),box-shadow .12s,background .15s,color .15s!important}
#nav-left button svg,#nav-right button svg{color:currentColor!important;transition:transform .25s cubic-bezier(.34,1.56,.64,1)!important}
#nav-left button:hover,#nav-right button:hover{background:#141414!important;color:#fff!important;transform:translate(-1px,-2px)!important;box-shadow:4px 5px 0 rgba(20,20,20,.3)!important}
#nav-left button:hover svg,#nav-right button:hover svg{transform:rotate(-8deg) scale(1.08)!important}
#nav-left button:active,#nav-right button:active{transform:translate(2px,2px)!important;box-shadow:1px 1px 0 #141414!important}
#nav-right span[class*="bg-orange"],#nav-right span[class*="rounded-full"]{background:#c73e3a!important;border-color:#fafaf7!important;font-family:"Noto Serif SC",serif!important;font-weight:900!important;animation:fw-pulse 2s ease-in-out infinite!important}

/* ═══ 输入组容器 ═══ */
div[data-slot="input-group"]{position:relative!important;background:#f4f3ef!important;border:2.5px solid #141414!important;border-radius:2px!important;box-shadow:5px 5px 0 rgba(20,20,20,.12)!important;transition:box-shadow .2s,transform .2s!important;overflow:hidden!important}
div[data-slot="input-group"]:focus-within{box-shadow:6px 6px 0 #141414!important;transform:translate(-1px,-1px)!important}
div[data-slot="input-group"]::before{content:"";position:absolute!important;inset:0;background-image:radial-gradient(#141414 .6px,transparent .6px);background-size:7px 7px;opacity:.04;pointer-events:none;z-index:0}
textarea[data-slot="input-group-control"],textarea[name="message"]{position:relative!important;z-index:1;background:transparent!important;color:#141414!important;font-family:"Noto Serif SC",serif!important;letter-spacing:.3px!important;line-height:1.7!important}
textarea[name="message"]::placeholder{color:#96968f!important;font-style:italic!important}
textarea[name="message"]::selection{background:#c73e3a!important;color:#fff!important}

/* ═══ 工具/底栏按钮（发送键除外） ═══ */
#prompt-input-header button,#prompt-input-footer button:not([type="submit"]){position:relative!important;background:#fff!important;border:2px solid #141414!important;border-radius:2px!important;color:#141414!important;box-shadow:2px 2px 0 #141414!important;transition:transform .12s cubic-bezier(.4,0,.2,1),box-shadow .12s,background .15s,color .15s!important}
#prompt-input-header button svg,#prompt-input-footer button:not([type="submit"]) svg{color:currentColor!important;transition:transform .25s cubic-bezier(.34,1.56,.64,1)!important}
#prompt-input-header button:hover,#prompt-input-footer button:not([type="submit"]):hover{background:#141414!important;color:#fff!important;transform:translate(-1px,-2px)!important;box-shadow:3px 4px 0 rgba(20,20,20,.3)!important}
#prompt-input-header button:hover svg,#prompt-input-footer button:not([type="submit"]):hover svg{transform:scale(1.12)!important}
#prompt-input-header button:active,#prompt-input-footer button:not([type="submit"]):active{transform:translate(1px,1px)!important;box-shadow:1px 1px 0 #141414!important}
#prompt-input-header button span,#prompt-input-footer button span{font-family:"Noto Serif SC",serif!important;font-weight:700!important;letter-spacing:.5px!important}
#prompt-input-header button::after,#prompt-input-footer button:not([type="submit"])::after{content:"";position:absolute!important;left:0;bottom:-2px;width:100%;height:2px;background:#c73e3a!important;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.4,0,.2,1)!important}
#prompt-input-header button:hover::after,#prompt-input-footer button:not([type="submit"]):hover::after{transform:scaleX(1)!important}
#prompt-input-footer img{filter:grayscale(1) contrast(1.15)!important;transition:filter .2s!important}
#prompt-input-footer button:hover img{filter:grayscale(1) contrast(1.15) invert(1)!important}

/* ═══ 发送键：待机脉冲+飙红 ═══ */
#prompt-input-footer button[type="submit"]{position:relative!important;background:#141414!important;border:2px solid #141414!important;border-radius:2px!important;color:#fff!important;box-shadow:3px 3px 0 rgba(199,62,58,.85)!important;animation:fw-standby 2.4s ease-in-out infinite!important;transition:transform .12s,background .18s,box-shadow .18s!important}
#prompt-input-footer button[type="submit"] svg{color:#fff!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important}
#prompt-input-footer button[type="submit"]::before{content:"";position:absolute!important;inset:2px;border:1px dashed rgba(255,255,255,.35)!important;pointer-events:none}
#prompt-input-footer button[type="submit"]:hover{background:#c73e3a!important;border-color:#c73e3a!important;transform:translate(-1px,-2px)!important;box-shadow:4px 5px 0 rgba(20,20,20,.35)!important;animation:none!important}
#prompt-input-footer button[type="submit"]:hover svg{transform:translate(-2px,2px) scale(1.1)!important}
#prompt-input-footer button[type="submit"]:active{transform:translate(1px,1px)!important;box-shadow:1px 1px 0 #c73e3a!important}
wx {
  display: block;
  background: #ededed;
  border-radius: 14px;
  margin: 16px auto;
  padding: 0;
  overflow: hidden;
  max-width: 400px;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
  border: 1px solid rgba(0,0,0,0.04);
}

wxh {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #f7f7f7;
  border-bottom: 1px solid #e2e2e2;
  padding: 13px 44px;
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.3px;
}

wxh::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-left: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
}

wxh::after {
  content: "···";
  position: absolute;
  right: 16px;
  top: 44%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 700;
  color: #333;
  letter-spacing: 1px;
}

wxb {
  display: block;
  padding: 18px 14px 20px;
  background: #ededed;
  min-height: 50px;
}

msg {
  display: flex;
  align-items: flex-start;
  margin-bottom: 18px;
  gap: 10px;
}

msg.right {
  flex-direction: row-reverse;
}

msg:last-child {
  margin-bottom: 0;
}

ava {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

ava.szh { background: linear-gradient(135deg, #8a76c4, #6d5aa8); }
ava.xl { background: linear-gradient(135deg, #ffb84d, #f5920a); }
ava.snw { background: linear-gradient(135deg, #f7aec1, #ee87a3); }
ava.ly { background: linear-gradient(135deg, #3ba3a3, #268080); }
ava.lc { background: linear-gradient(135deg, #8a9db0, #6d8194); }
ava.npc { background: linear-gradient(135deg, #b0b0b0, #949494); }
ava.me { background: linear-gradient(135deg, #5ca0e6, #4080cc); }

bbl {
  position: relative;
  display: inline-block;
  padding: 10px 14px;
  border-radius: 8px;
  max-width: 230px;
  word-break: break-word;
  font-size: 15.5px;
  line-height: 1.45;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

msg.left bbl {
  background: #fff;
  color: #1a1a1a;
}

msg.right bbl {
  background: #95ec69;
  color: #0d0d0d;
}

msg.left bbl::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 13px;
  width: 10px;
  height: 10px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: -1px 1px 1px rgba(0,0,0,0.04);
}

msg.right bbl::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 13px;
  width: 10px;
  height: 10px;
  background: #95ec69;
  transform: rotate(45deg);
}

t {
  display: table;
  margin: 0 auto 16px;
  padding: 3px 8px;
  background: rgba(0,0,0,0.12);
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
  line-height: 1.2;
}

nm {
  display: block;
  font-size: 12px;
  color: #9a9a9a;
  margin-bottom: 3px;
  padding-left: 3px;
}