@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700&family=ZCOOL+QingKe+HuangYou&display=swap');

.dorm-wrap{
  --bg:#f4edd8;
  --bg2:#ece4cb;
  --ink:#2c2416;
  --red:#8b1a1a;
  --red2:#c0392b;
  --line:#bfae8e;
  --shadow:rgba(44,36,22,.12);
  --accent:#6b4c2a;
  font-family:'Noto Serif SC',serif;
  color:var(--ink);
  font-size:14.5px;
  line-height:1.7;
  max-width:100%;
  padding:6px;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(180,160,120,.13) 27px,rgba(180,160,120,.13) 28px),
    linear-gradient(135deg,#f4edd8 0%,#e8dfc5 40%,#f0e8d0 100%);
  position:relative;
}
.dorm-wrap::before{
  content:'';
  position:absolute;
  top:12px;right:18px;
  width:80px;height:80px;
  background:radial-gradient(circle,rgba(139,26,26,.08) 0%,rgba(139,26,26,.03) 50%,transparent 70%);
  border:2.5px solid rgba(139,26,26,.25);
  border-radius:50%;
  z-index:2;
  pointer-events:none;
}
.dorm-wrap::after{
  content:'CONFIDENTIAL';
  position:absolute;
  top:38px;right:6px;
  font-size:8px;
  letter-spacing:3px;
  color:rgba(139,26,26,.2);
  font-family:monospace;
  transform:rotate(-12deg);
  pointer-events:none;
  z-index:2;
}

/* ===== 思维推理 ===== */
.dorm-reason{
  background:var(--bg2);
  border:1px dashed var(--line);
  margin-bottom:8px;
  padding:0;
}
.dorm-reason>summary{
  cursor:pointer;
  padding:6px 10px;
  font-size:13px;
  font-weight:700;
  color:var(--accent);
  letter-spacing:1px;
  list-style:none;
  position:relative;
  user-select:none;
}
.dorm-reason>summary::-webkit-details-marker{display:none}
.dorm-reason>summary::before{
  content:'▶ ';
  font-size:10px;
  transition:transform .2s;
  display:inline-block;
}
.dorm-reason[open]>summary::before{
  transform:rotate(90deg);
}
.dorm-reason-in{
  padding:4px 10px 8px;
}
.dorm-reason-r{
  display:flex;
  gap:4px;
  padding:2px 0;
  border-bottom:1px dotted rgba(191,174,142,.5);
  font-size:12.5px;
}
.dorm-reason-r:last-child{border-bottom:none}
.dorm-reason-k{
  flex-shrink:0;
  width:70px;
  color:var(--accent);
  font-weight:700;
  font-size:11.5px;
}
.dorm-reason-k::after{content:'│';margin-left:4px;color:var(--line)}
.dorm-reason-v{
  flex:1;
  color:#555040;
  font-size:12px;
}

/* ===== 环境 ===== */
.dorm-env{
  background:linear-gradient(90deg,rgba(107,76,42,.06),transparent);
  border-left:3px solid var(--accent);
  padding:8px 10px;
  margin-bottom:8px;
  font-size:13.5px;
  color:#4a3f2f;
  font-style:italic;
  position:relative;
}
.dorm-env::before{
  content:'📍 现场环境';
  display:block;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  letter-spacing:2px;
  color:var(--accent);
  margin-bottom:3px;
  text-transform:uppercase;
}

/* ===== 目标信息 ===== */
.dorm-profile{
  border:1.5px solid var(--line);
  background:
    linear-gradient(to bottom,rgba(244,237,216,.9),rgba(236,228,203,.95)),
    url("data:image/svg+xml,%3Csvg width='6' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1' fill='rgba(150,130,90,.06)'/%3E%3C/svg%3E");
  margin-bottom:8px;
  position:relative;
  overflow:hidden;
}
.dorm-profile::before{
  content:'';
  position:absolute;
  top:-8px;left:20px;
  width:40px;height:16px;
  background:var(--red);
  opacity:.15;
  transform:rotate(-2deg);
  border-radius:0 0 2px 2px;
}
.dorm-profile::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--red),var(--red2),var(--red));
}
.dorm-profile-h{
  padding:8px 10px 4px;
  font-size:14px;
  font-weight:700;
  color:var(--red);
  letter-spacing:3px;
  border-bottom:1px solid var(--line);
}
.dorm-profile-r{
  display:flex;
  padding:3px 10px;
  border-bottom:1px dotted rgba(191,174,142,.4);
  font-size:13px;
  transition:background .15s;
}
.dorm-profile-r:hover{background:rgba(139,26,26,.03)}
.dorm-profile-r:last-child{border-bottom:none}
.dorm-profile-k{
  flex-shrink:0;
  width:65px;
  font-weight:700;
  color:var(--accent);
  font-size:12px;
  padding-top:1px;
}
.dorm-profile-k::after{content:' ┃';color:var(--line);font-weight:400}
.dorm-profile-v{
  flex:1;
  padding-left:6px;
}

/* ===== 正文 ===== */
.dorm-body{
  padding:8px 4px;
  line-height:1.85;
  text-align:justify;
}
.dorm-girl{
  color:var(--red2);
  font-weight:700;
  border-bottom:1.5px solid rgba(192,57,43,.3);
}

/* ===== 分隔线 ===== */
.dorm-cut{
  border:none;
  height:1px;
  background:repeating-linear-gradient(90deg,var(--line) 0,var(--line) 8px,transparent 8px,transparent 14px);
  margin:4px 0;
  position:relative;
}
.dorm-cut::after{
  content:'✦';
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  background:var(--bg);
  padding:0 8px;
  color:var(--line);
  font-size:10px;
}

/* ===== 行动选项 ===== */
.dorm-acts{
  border:1.5px solid var(--accent);
  background:rgba(107,76,42,.03);
  margin:8px 0;
}
.dorm-acts-h{
  background:linear-gradient(90deg,var(--accent),#8b6914);
  color:#f4edd8;
  text-align:center;
  padding:5px;
  font-size:13px;
  font-weight:700;
  letter-spacing:6px;
}
.dorm-acts-i{
  padding:5px 10px;
  font-size:13px;
  border-bottom:1px dotted var(--line);
  cursor:default;
  transition:all .15s;
}
.dorm-acts-i:last-child{border-bottom:none}
.dorm-acts-i:hover{
  background:rgba(107,76,42,.08);
  padding-left:16px;
}

/* ===== 状态面板 ===== */
.dorm-panel{
  border:1.5px solid var(--red);
  margin:8px 0;
  position:relative;
}
.dorm-panel::before{
  content:'STATUS';
  position:absolute;
  top:-8px;right:10px;
  background:var(--bg);
  padding:0 6px;
  font-size:9px;
  letter-spacing:3px;
  color:var(--red);
  font-family:monospace;
}
.dorm-panel-h{
  background:linear-gradient(90deg,var(--red),var(--red2));
  color:#f4edd8;
  text-align:center;
  padding:5px;
  font-size:13px;
  font-weight:700;
  letter-spacing:6px;
}
.dorm-panel-r{
  display:flex;
  padding:3px 10px;
  border-bottom:1px dotted rgba(139,26,26,.15);
  font-size:13px;
  transition:background .15s;
}
.dorm-panel-r:hover{background:rgba(139,26,26,.04)}
.dorm-panel-r:last-child{border-bottom:none}
.dorm-panel-k{
  flex-shrink:0;
  width:80px;
  font-weight:700;
  font-size:12px;
}
.dorm-panel-v{
  flex:1;
}

/* ===== 记忆区 ===== */
.dorm-mem{
  border:1px dashed var(--red);
  margin-top:8px;
  background:rgba(139,26,26,.02);
}
.dorm-mem>summary{
  cursor:pointer;
  padding:6px 10px;
  font-size:13px;
  font-weight:700;
  color:var(--red);
  letter-spacing:1px;
  list-style:none;
  user-select:none;
}
.dorm-mem>summary::-webkit-details-marker{display:none}
.dorm-mem>summary::before{
  content:'◉ ';
  font-size:10px;
}
.dorm-mem-in{
  padding:4px 10px 8px;
}
.dorm-mem-s{
  margin-bottom:6px;
}
.dorm-mem-t{
  font-size:12px;
  font-weight:700;
  color:var(--accent);
  border-bottom:1px solid var(--line);
  padding-bottom:2px;
  margin-bottom:3px;
}
.dorm-mem-l,.dorm-mem-p{
  font-size:12px;
  padding:1px 0 1px 8px;
  color:#555040;
}
.dorm-mem-w{
  text-align:center;
  font-size:10px;
  color:var(--red);
  letter-spacing:1px;
  padding:4px;
  border-top:1px dashed rgba(139,26,26,.2);
  margin-top:4px;
}

/* ===== 微动画 ===== */
@keyframes stamp{
  0%{opacity:0;transform:scale(2) rotate(-12deg)}
  60%{opacity:.2;transform:scale(.95) rotate(-12deg)}
  100%{opacity:.2;transform:scale(1) rotate(-12deg)}
}
.dorm-wrap::after{
  animation:stamp .4s ease-out both;
}
/* ===== 隐藏默认顶部彩条 ===== */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
  display: none !important;
}

/* ===== 聊天框主体 ===== */
.bg-gray-100\/90.relative.inline-block {
  background:
    repeating-linear-gradient(0deg, transparent, transparent 27px, rgba(180,160,120,.1) 27px, rgba(180,160,120,.1) 28px),
    linear-gradient(135deg, #f4edd8 0%, #e8dfc5 40%, #f0e8d0 100%) !important;
  border: 1.5px solid #bfae8e !important;
  border-radius: 3px !important;
  box-shadow:
    2px 3px 8px rgba(44,36,22,.12),
    inset 0 0 30px rgba(200,185,150,.15) !important;
  position: relative !important;
  isolation: isolate !important;
}

/* 左侧红色档案条 */
.bg-gray-100\/90.relative.inline-block::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: linear-gradient(180deg, #8b1a1a, #c0392b, #8b1a1a) !important;
  z-index: 0 !important;
  border-radius: 3px 0 0 3px !important;
}

/* 右上角CLASSIFIED水印 */
.bg-gray-100\/90.relative.inline-block::after {
  content: 'CLASSIFIED' !important;
  position: absolute !important;
  top: 10px !important;
  right: 8px !important;
  font-size: 8px !important;
  font-family: monospace !important;
  letter-spacing: 2px !important;
  color: rgba(139,26,26,.12) !important;
  transform: rotate(-8deg) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ===== 文本内容 ===== */
.markdown-body {
  color: #2c2416 !important;
  font-family: 'Noto Serif SC', 'Georgia', serif !important;
  z-index: 1 !important;
  background: transparent !important;
  line-height: 1.75 !important;
}

/* ===== 底部附加元素 ===== */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
  color: #6b4c2a !important;
  transition: color .2s !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
  color: #8b1a1a !important;
}
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
  color: #8a7a5a !important;
  font-family: monospace !important;
  font-size: 11px !important;
}
.text-orange-500 {
  color: #8b6914 !important;
}

/* ===== 自定义加载动画（打字机光标） ===== */
.style_dot-flashing__8L91Q.style_text__zGhNq {
  display: none !important;
}
.flex.items-center.justify-center.w-6.h-5 {
  position: relative !important;
  height: 24px !important;
}
.flex.items-center.justify-center.w-6.h-5::before {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 2px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='16'%3E%3Crect width='2' height='16' fill='%238b1a1a'%3E%3Canimate attributeName='opacity' values='1;0;1' dur='1s' repeatCount='indefinite'/%3E%3C/rect%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}
.flex.items-center.justify-center.w-6.h-5::after {
  content: 'DECRYPTING...' !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 8px !important;
  font-family: monospace !important;
  letter-spacing: 2px !important;
  color: #8b1a1a !important;
  white-space: nowrap !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'%3E%3Crect width='1' height='1' fill='transparent'%3E%3Canimate attributeName='opacity' values='1;.4;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/rect%3E%3C/svg%3E") !important;
}
```

---

## 界面美化

顶部栏、底部输入栏、评论区统一为档案卷宗主题——泛黄纸张底色、暗红与褐色系、等宽字体点缀。

```css
/* ===== 顶部栏 ===== */
.sticky.w-full.top-0.flex.items-center {
  background: linear-gradient(180deg, #e8dfc5, #f0e8d0) !important;
  border-bottom: 2px solid #bfae8e !important;
  box-shadow: 0 2px 6px rgba(44,36,22,.1) !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: #2c2416 !important;
  font-family: 'Georgia', serif !important;
  font-weight: 700 !important;
}
#ai-model-selector .shrink-0.flex.items-center svg {
  color: #6b4c2a !important;
}
#header-setting-button {
  color: #6b4c2a !important;
}
#header-setting-button svg {
  color: #6b4c2a !important;
  transition: transform .2s !important;
}
#header-setting-button:hover svg {
  transform: rotate(30deg) !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8 {
  color: #6b4c2a !important;
}

/* ===== 底部栏 ===== */
.bg-gradient-to-t {
  background: linear-gradient(to top, #e8dfc5 60%, transparent) !important;
}
#ai-chat-bottom-input {
  background: #f4edd8 !important;
  border: 1.5px solid #bfae8e !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 4px rgba(44,36,22,.08) !important;
}
#ai-chat-input {
  background: transparent !important;
  color: #2c2416 !important;
  font-family: 'Georgia', serif !important;
  font-size: 14px !important;
}
#ai-chat-input::placeholder {
  color: #a09478 !important;
  font-style: italic !important;
}
#ai-chat-input::selection {
  background: rgba(139,26,26,.15) !important;
  color: #2c2416 !important;
}

/* ===== 按钮栏 ===== */
#ai-mod-button2 button.MuiButton-root {
  color: #6b4c2a !important;
  border-color: #bfae8e !important;
  font-family: 'Georgia', serif !important;
  transition: all .2s !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  background: rgba(139,26,26,.06) !important;
  color: #8b1a1a !important;
  border-color: #8b1a1a !important;
}
#ai-mod-button2 button.MuiButton-root svg {
  color: inherit !important;
}

/* ===== 分页栏 ===== */
.MuiPaginationItem-root {
  color: #6b4c2a !important;
  border-color: #bfae8e !important;
  font-family: monospace !important;
}
.MuiPaginationItem-root.Mui-selected {
  background: #8b1a1a !important;
  color: #f4edd8 !important;
  border-color: #8b1a1a !important;
}
.MuiPaginationItem-root.Mui-disabled {
  color: #c4b896 !important;
}
.MuiPaginationItem-icon {
  color: #6b4c2a !important;
}
.MuiInputBase-input {
  color: #2c2416 !important;
  border-color: #bfae8e !important;
}
.MuiStack-root.css-1uwir8f .MuiBox-root {
  color: #6b4c2a !important;
}

/* ===== 评论区 ===== */
div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background: linear-gradient(135deg, #f4edd8, #ece4cb) !important;
}
div.text-lg.font-bold {
  color: #8b1a1a !important;
  font-family: 'Georgia', serif !important;
  letter-spacing: 2px !important;
}
p.MuiTypography-body1.text-grey-600 {
  color: #6b4c2a !important;
}
span.MuiRating-iconEmpty svg {
  color: #c4b896 !important;
}
span.MuiRating-iconFilled svg {
  color: #c0392b !important;
}
span.text-orange-500 {
  color: #8b6914 !important;
}
textarea.rc-textarea {
  background: #faf5e6 !important;
  color: #2c2416 !important;
  border-color: #bfae8e !important;
  font-family: 'Georgia', serif !important;
}
textarea.rc-textarea:focus {
  border-color: #8b1a1a !important;
  box-shadow: 0 0 0 2px rgba(139,26,26,.1) !important;
}
div.bg-gray-100.text-gray-500 {
  background: #ece4cb !important;
  color: #8a7a5a !important;
}
div.cursor-pointer.group.flex.items-center.justify-center {
  color: #8b1a1a !important;
  transition: transform .2s !important;
}
div.cursor-pointer.group.flex.items-center.justify-center:hover {
  transform: scale(1.1) !important;
}
div.style_divider__mW0YX {
  background: #bfae8e !important;
}
button.MuiButton-containedPrimary {
  background: #8b1a1a !important;
  color: #f4edd8 !important;
}
button.MuiButton-outlinedPrimary {
  color: #6b4c2a !important;
  border-color: #bfae8e !important;
}
button.MuiButton-outlinedPrimary:hover {
  background: rgba(139,26,26,.06) !important;
  border-color: #8b1a1a !important;
}
div.group img.rounded-full {
  border: 1.5px solid #bfae8e !important;
}
div.text-sm.text-grey-600 span.font-bold {
  color: #2c2416 !important;
}
span.text-\[10px\] {
  color: #8b1a1a !important;
}
div.break-all {
  color: #2c2416 !important;
}
div.text-xs.text-grey-600 {
  color: #8a7a5a !important;
  font-family: monospace !important;
}
button.text-gray-400 {
  color: #a09478 !important;
}
button.text-gray-400:hover {
  color: #8b1a1a !important;
}
span.cursor-pointer {
  color: #6b4c2a !important;
}
span.cursor-pointer:hover {
  color: #8b1a1a !important;
}
div.ml-8.border-l {
  border-color: #bfae8e !important;
}
div.p-3.overflow-y-auto {
  color: #2c2416 !important;
}