/* =========================================
   静谧圣所 V8 · 狐狸粉主题（精简定稿）
   ========================================= */

/* ========== 空行兜底 ========== */
p:empty, br + br { display: none !important; }

/* ========== 顶部状态栏 stp ========== */
stp {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-bottom: 16px; padding: 12px;
  background: rgba(255, 253, 254, 0.4);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(139, 69, 90, 0.05);
}
sti {
  display: block; flex: 1 1 auto; min-width: 90px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 182, 193, 0.4);
  border-radius: 8px; font-size: 13px; color: #8b455a;
  text-align: center; transition: all 0.2s ease;
}
sti:hover { background: rgba(255,255,255,0.9); border-color: rgba(212,175,55,0.5); }

/* ========== 正文卡 tb ========== */
tb {
  display: block; margin: 16px 0; padding: 18px 20px;
  position: relative;
  background: linear-gradient(135deg, rgba(255,253,254,0.6), rgba(255,245,248,0.45));
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-left: 3px solid rgba(212, 175, 55, 0.6);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(139,69,90,0.06), inset 0 1px 0 rgba(255,255,255,0.5);
}
tb::before {
  content: '"'; position: absolute; top: 6px; left: 10px;
  font-family: Georgia, serif; font-size: 32px; line-height: 1;
  color: rgba(212, 175, 55, 0.35); pointer-events: none;
}
tb p { margin: 0 0 10px 0; font-size: 14px; line-height: 1.85; color: #6b3a48; text-indent: 2em; }
tb p:last-child { margin-bottom: 0; }

/* ========== 阿卡夏纪录 ========== */
details.ab {
  margin-bottom: 16px;
  background: rgba(255, 250, 252, 0.4);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 12px; overflow: hidden;
}
details.ab > summary {
  display: flex; justify-content: center; align-items: center;
  padding: 12px 16px; font-size: 14px; font-weight: 600;
  color: #a8606e; cursor: pointer;
  background: rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  list-style: none;
}
details.ab > summary::-webkit-details-marker { display: none; }
details.ab > summary::marker { content: ''; }
details.ab > summary::before { content: '✦ '; color: #d4af37; margin-right: 8px; }

details.ai {
  margin: 10px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 182, 193, 0.3);
  border-radius: 8px; max-height: 250px; overflow-y: auto;
}
details.ai::-webkit-scrollbar { width: 6px; }
details.ai::-webkit-scrollbar-track { background: transparent; }
details.ai::-webkit-scrollbar-thumb { background: rgba(212,175,55,0.3); border-radius: 3px; }
details.ai > summary {
  padding: 8px 12px; font-size: 13px; color: #8b455a;
  cursor: pointer; list-style: none;
  background: rgba(255, 230, 235, 0.3);
  position: sticky; top: 0; z-index: 2;
}
details.ai > summary::-webkit-details-marker { display: none; }
details.ai > summary::marker { content: ''; }
details.ai > summary::before { content: '› '; color: #d4af37; margin-right: 6px; }
details.ai p { margin: 8px 12px; font-size: 12px; color: #a8606e; }
details.ai table { width: calc(100% - 16px); margin: 8px; border-collapse: collapse; font-size: 12px; }
details.ai th { padding: 6px; background: rgba(255,230,235,0.6); border: 1px solid rgba(212,175,55,0.3); color: #8b455a; font-weight: 600; text-align: left; }
details.ai td { padding: 6px; background: rgba(255,255,255,0.6); border: 1px solid rgba(212,175,55,0.2); color: #8b455a; }

/* ========== User 状态卡 ========== */
gui { display: block; margin-top: 20px; }
ulb {
  display: block; margin: 18px 0 10px;
  font-size: 13px; font-weight: 600; color: #d4af37;
  text-align: center; letter-spacing: 2px;
}
cdu {
  display: block; margin-bottom: 16px; padding: 16px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(139, 69, 90, 0.04);
}
cdu cdh {
  display: block; margin-bottom: 12px; padding-bottom: 8px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  font-size: 15px; font-weight: 600; color: #8b455a;
}
tg {
  margin-left: 8px; padding: 2px 10px;
  background: rgba(255, 230, 235, 0.6);
  border: 1px solid rgba(255, 182, 193, 0.5);
  border-radius: 10px; font-size: 12px; color: #8b455a;
}
ifb {
  display: flex; flex-direction: column; gap: 6px;
  margin-bottom: 12px; padding: 10px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 182, 193, 0.3);
  border-radius: 10px;
}
g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
g1 { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 8px; }
gi {
  display: block; padding: 8px 10px;
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(212,175,55,0.3);
  border-radius: 8px; font-size: 13px; color: #8b455a;
}

/* ========== 进度条 ========== */
brg { display: block; margin-top: 8px; }
sg { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 8px; }
sl { font-size: 11px; font-weight: 600; color: #a8606e; }
bt {
  display: block; height: 8px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 182, 193, 0.4);
  border-radius: 4px; overflow: hidden;
}
bv { display: block; height: 100%; border-radius: 4px; }
bv.l { background: linear-gradient(90deg, #ffb6c1, #e88a9a); }

/* ========== 选项框 ========== */
slb { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
slo {
  display: block; position: relative;
  padding: 12px 16px 12px 40px;
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(212,175,55,0.35);
  border-radius: 10px; font-size: 14px; color: #8b455a;
  cursor: pointer; transition: all 0.2s ease;
}
slo:hover { background: rgba(255,255,255,0.9); border-color: #d4af37; transform: translateX(3px); }
shd { display: none !important; }
slo::before {
  content: '✧'; position: absolute; left: 16px; top: 50%;
  transform: translateY(-50%); color: #d4af37; font-size: 12px;
  transition: all 0.3s;
}
slo:hover::before { content: '✦'; transform: translateY(-50%) scale(1.2); text-shadow: 0 0 5px rgba(212,175,55,0.5); }

/* =========================================
   ★★★ 角色卡通用骨架 ★★★
   ========================================= */
znn, zdf, zsf { display: block; margin-bottom: 14px; }

znn > details, zdf > details, zsf > details {
  display: block; position: relative;
  background: var(--mc-bg);
  border: 1px solid var(--mc-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mc) 18%, transparent);
  transition: box-shadow 0.3s ease;
}
znn > details[open], zdf > details[open], zsf > details[open] {
  box-shadow: 0 6px 22px color-mix(in srgb, var(--mc) 30%, transparent);
}

/* summary头部 */
znn > details > summary,
zdf > details > summary,
zsf > details > summary {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 14px;
  position: relative; cursor: pointer;
  list-style: none;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc-soft) 50%, white),
    color-mix(in srgb, var(--mc) 18%, white));
  transition: background 0.25s ease;
  user-select: none;
}
znn > details > summary:hover,
zdf > details > summary:hover,
zsf > details > summary:hover {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc-soft) 70%, white),
    color-mix(in srgb, var(--mc) 30%, white));
}
/* 清除原生折叠箭头 */
znn > details > summary::-webkit-details-marker,
zdf > details > summary::-webkit-details-marker,
zsf > details > summary::-webkit-details-marker { display: none; }
znn > details > summary::marker,
zdf > details > summary::marker,
zsf > details > summary::marker { content: ''; display: none; }

/* summary内部网格布局 */
znn > details > summary cdh,
zdf > details > summary cdh,
zsf > details > summary cdh {
  display: grid !important;
  grid-template-columns: 64px 1fr;
  grid-template-rows: 1fr 1fr;
  column-gap: 16px;
  width: 100%;
  align-items: center;
  margin: 0; padding: 0; border: none;
}
znn > details > summary cdh > av,
zdf > details > summary cdh > av,
zsf > details > summary cdh > av { grid-column: 1; grid-row: 1 / 3; align-self: center; }
znn > details > summary cdh > nm,
zdf > details > summary cdh > nm,
zsf > details > summary cdh > nm {
  grid-column: 2; grid-row: 1; align-self: end;
  font-size: 16px; font-weight: 700;
  color: var(--mc-deep); margin: 0; padding-bottom: 4px;
}
znn > details > summary cdh > brg,
zdf > details > summary cdh > brg,
zsf > details > summary cdh > brg {
  grid-column: 2; grid-row: 2; align-self: start;
  margin: 0; width: 90%;
}

/* 展开主体 cdm —— 加0.2s柔和过渡 */
cdm {
  display: block;
  padding: 16px;
  background: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--mc-border, rgba(212,175,55,0.3));
  animation: cdmFadeIn 0.2s ease-out;
}
@keyframes cdmFadeIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
cdm > cdh, cdm > brg { display: none !important; }

/* 头像框 */
av {
  display: block; width: 64px; height: 64px;
  flex-shrink: 0; border-radius: 50%;
  border: 2px solid var(--mc, #d4af37);
  background-color: var(--mc-soft, #ffb7d5);
  overflow: hidden;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-soft, #ffb7d5) 60%, transparent),
              0 4px 10px color-mix(in srgb, var(--mc, #d4af37) 35%, transparent);
  transition: transform 0.3s ease;
  position: relative;
}
av:hover { transform: scale(1.06) rotate(-3deg); }
fc {
  display: block; width: 100%; height: 100%;
  background-size: cover; background-position: center top;
  background-repeat: no-repeat;
}

/* 种族 */
rc {
  display: inline-block; margin-bottom: 10px;
  padding: 4px 12px;
  background: color-mix(in srgb, var(--mc-soft, #ffb7d5) 50%, white);
  border: 1px solid var(--mc-border, rgba(255,111,165,0.45));
  border-radius: 999px;
  font-size: 12px; font-weight: 600;
  color: var(--mc-deep, #8b455a);
}

/* 衣服图片容器（每角色一件,1051x788 横图按原比例显示） */
znn-c, zdf-c, zsf-c {
  display: block;
  width: 100%;
  aspect-ratio: 1051 / 788;       /* 关键:按原图比例自动算高度 */
  margin-bottom: 12px;
  border-radius: 10px;
  border: 1px solid var(--mc-border, rgba(255,111,165,0.45));
  background-size: cover;          /* 完全填满容器,不留空白 */
  background-position: center center;
  background-repeat: no-repeat;
  box-shadow: 0 3px 12px color-mix(in srgb, var(--mc, #ff6fa5) 20%, transparent),
              inset 0 0 0 2px rgba(255,255,255,0.4);
  transition: transform 0.3s ease;
}
znn-c:hover, zdf-c:hover, zsf-c:hover { transform: scale(1.02); }

/* 发言气泡 */
say {
  display: inline-block; margin: 6px 0; padding: 10px 14px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc-soft, #ffb7d5) 70%, white),
    color-mix(in srgb, var(--mc, #ff6fa5) 18%, white));
  border: 1px solid var(--mc-border, rgba(255,111,165,0.45));
  border-radius: 16px 16px 16px 4px;
  font-size: 14px; line-height: 1.6;
  color: var(--mc-deep, #8b455a);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mc, #ff6fa5) 18%, transparent);
  max-width: 88%;
}

/* 正文中的大头像（放大版） */
tb fc, p fc {
  display: block; width: 112px; height: 112px;
  border-radius: 50%;
  border: 2px solid var(--mc, #ff6fa5);
  background-color: var(--mc-soft, #ffb7d5);
  background-size: cover; background-position: center top;
  margin: 10px 0 6px;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mc, #ff6fa5) 30%, transparent);
}

/* =========================================
   🦊 奈奈小姐 znn
   ========================================= */
znn {
  --mc: #ff6fa5; --mc-soft: #ffb7d5; --mc-deep: #c9446b;
  --mc-bg: rgba(255, 220, 235, 0.45);
  --mc-border: rgba(255, 111, 165, 0.45);
}
znn rc, znn gi, znn sl, znn nm { color: var(--mc-deep); }
znn gi { border-color: var(--mc-border); }
znn bv.l { background: linear-gradient(90deg, var(--mc-soft), var(--mc)); }
znn say { color: var(--mc-deep); }
znn fc, znn tb fc, znn p fc {
  background-image: url('https://image.acg.lol/file/2026/07/28/U--FOX365d6698f4098085.png');
}
znn-c { background-image: url('https://image.acg.lol/file/2026/07/28/U-FOXa38f70200bb5f4f2.png'); }

/* =========================================
   💧 淡粉酱 zdf
   ========================================= */
zdf {
  --mc: #6fa8ff; --mc-soft: #b7d5ff; --mc-deep: #2c5fa8;
  --mc-bg: rgba(220, 235, 255, 0.45);
  --mc-border: rgba(111, 168, 255, 0.45);
}
zdf rc, zdf gi, zdf sl, zdf nm { color: var(--mc-deep); }
zdf gi { border-color: var(--mc-border); }
zdf bv.l { background: linear-gradient(90deg, var(--mc-soft), var(--mc)); }
zdf say { color: var(--mc-deep); }
zdf fc, zdf tb fc, zdf p fc {
  background-image: url('https://image.acg.lol/file/2026/07/28/M--FOXa4200e0b3be237cd.png');
}
zdf-c { background-image: url('https://image.acg.lol/file/2026/07/28/M-FOX.png'); }


/* =========================================
   👥 通用无人设NPC · znm(男) / znf(女)
   共享中性主题,头像用emoji占位,无衣服图
   ========================================= */
znm, znf {
  display: block; margin-bottom: 14px;
}

/* 男性NPC · 冷蓝灰 */
znm {
  --mc: #6b7a99;
  --mc-soft: #b8c4d6;
  --mc-deep: #3d4a66;
  --mc-bg: rgba(220, 228, 240, 0.45);
  --mc-border: rgba(107, 122, 153, 0.45);
}
/* 女性NPC · 暖紫 */
znf {
  --mc: #b07ac9;
  --mc-soft: #d8b8e6;
  --mc-deep: #6b3d85;
  --mc-bg: rgba(235, 220, 245, 0.45);
  --mc-border: rgba(176, 122, 201, 0.45);
}

/* 复用骨架(直接套用znn那套) */
znm > details, znf > details {
  display: block; position: relative;
  background: var(--mc-bg);
  border: 1px solid var(--mc-border);
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mc) 18%, transparent);
  transition: box-shadow 0.3s ease;
}
znm > details > summary, znf > details > summary {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 14px; cursor: pointer; list-style: none;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc-soft) 50%, white),
    color-mix(in srgb, var(--mc) 18%, white));
  transition: background 0.25s ease; user-select: none;
}
znm > details > summary::-webkit-details-marker,
znf > details > summary::-webkit-details-marker { display: none; }
znm > details > summary::marker,
znf > details > summary::marker { content: ''; display: none; }

znm > details > summary cdh,
znf > details > summary cdh {
  display: grid !important;
  grid-template-columns: 64px 1fr;
  grid-template-rows: 1fr 1fr;
  column-gap: 16px; width: 100%;
  align-items: center;
  margin: 0; padding: 0; border: none;
}
znm > details > summary cdh > av,
znf > details > summary cdh > av { grid-column: 1; grid-row: 1 / 3; align-self: center; }
znm > details > summary cdh > nm,
znf > details > summary cdh > nm {
  grid-column: 2; grid-row: 1; align-self: end;
  font-size: 16px; font-weight: 700;
  color: var(--mc-deep); margin: 0; padding-bottom: 4px;
}
znm > details > summary cdh > brg,
znf > details > summary cdh > brg {
  grid-column: 2; grid-row: 2; align-self: start;
  margin: 0; width: 90%;
}

/* 共享配色覆盖 */
znm rc, znm gi, znm sl, znm nm, znm say,
znf rc, znf gi, znf sl, znf nm, znf say { color: var(--mc-deep); }
znm gi, znf gi { border-color: var(--mc-border); }
znm bv.l, znf bv.l { background: linear-gradient(90deg, var(--mc-soft), var(--mc)); }

/* 头像emoji占位(无图素材) */
znm fc::before, znf fc::before {
  content: ''; display: flex;
  align-items: center; justify-content: center;
  width: 100%; height: 100%; font-size: 36px;
}
znm fc { background: none !important; }
znf fc { background: none !important; }
znm fc::before { content: '🚹'; }
znf fc::before { content: '🚺'; }

/* 无衣服图 → 隐藏衣服标签即可 */
znm-c, znf-c { display: none; }

/* =========================================
   🌹 幻奈专用 · S系列表情+衣服
   复用zsf容器样式,仅追加图片绑定
   ========================================= */

/* ========== S系列表情(8个) ========== */
se1, se2, se3, se4, se5, se6, se7, se8 {
  display: block; width: 100%; height: 100%;
  background-size: cover; background-position: center top;
  background-repeat: no-repeat;
}
tb se1, tb se2, tb se3, tb se4, tb se5, tb se6, tb se7, tb se8,
p se1, p se2, p se3, p se4, p se5, p se6, p se7, p se8 {
  display: block; width: 112px; height: 112px;
  border-radius: 50%;
  border: 2px solid var(--mc, #ff3d8a);
  background-color: var(--mc-soft, #ff8ab5);
  background-size: cover; background-position: center top;
  margin: 10px 0 6px;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mc, #ff3d8a) 30%, transparent);
}

se1 { background-image: url('https://image.acg.lol/file/2026/07/28/S--16ed2fd8932b3349.png'); }
se2 { background-image: url('https://image.acg.lol/file/2026/07/28/S--fbf499d0f696fbe5.png'); }
se3 { background-image: url('https://image.acg.lol/file/2026/07/28/S--37fa73218651487b.png'); }
se4 { background-image: url('https://image.acg.lol/file/2026/07/28/S--d5381959ca7d3a7c.png'); }
se5 { background-image: url('https://image.acg.lol/file/2026/07/28/S--fe178186722dd48e.png'); }
se6 { background-image: url('https://image.acg.lol/file/2026/07/28/S--5b7937cf2d168def.png'); }
se7 { background-image: url('https://image.acg.lol/file/2026/07/28/S--c4dd2b8631890c93.png'); }
se8 { background-image: url('https://image.acg.lol/file/2026/07/28/S--282bca6b4dc2b505.png'); }

/* ========== S系列衣服(13个) ========== */
sc1, sc2, sc3, sc4, sc5, sc6, sc7, sc8, sc9, sc10, sc11, sc12, sc13 {
  display: block; width: 100%;
  aspect-ratio: 1051 / 788;
  margin-bottom: 12px;
  border-radius: 10px;
  border: 1px solid var(--mc-border, rgba(255,61,138,0.5));
  background-size: cover; background-position: center center;
  background-repeat: no-repeat;
  box-shadow: 0 3px 12px color-mix(in srgb, var(--mc, #ff3d8a) 20%, transparent),
              inset 0 0 0 2px rgba(255,255,255,0.4);
  transition: transform 0.3s ease;
}
sc1:hover, sc2:hover, sc3:hover, sc4:hover, sc5:hover, sc6:hover, sc7:hover,
sc8:hover, sc9:hover, sc10:hover, sc11:hover, sc12:hover, sc13:hover { transform: scale(1.02); }

sc1  { background-image: url('https://image.acg.lol/file/2026/07/28/S--bee54bf950011685.png'); }
sc2  { background-image: url('https://image.acg.lol/file/2026/07/28/S--d9b1e2ba8e464d78.png'); }
sc3  { background-image: url('https://image.acg.lol/file/2026/07/28/S--83d59d9ede433b17.png'); }
sc4  { background-image: url('https://image.acg.lol/file/2026/07/28/S--12603aace6d5774b.png'); }
sc5  { background-image: url('https://image.acg.lol/file/2026/07/28/S--a4c8af249d2d5c2c.png'); }
sc6  { background-image: url('https://image.acg.lol/file/2026/07/28/S--0c2a7da55af563ca.png'); }
sc7  { background-image: url('https://image.acg.lol/file/2026/07/28/S--94229e788b41c686.png'); }
sc8  { background-image: url('https://image.acg.lol/file/2026/07/28/S--875e43f2db5aea51.png'); }
sc9  { background-image: url('https://image.acg.lol/file/2026/07/28/S--3d079ce448526005.png'); }
sc10 { background-image: url('https://image.acg.lol/file/2026/07/28/S--42a8bc6f9634fd11.png'); }
sc11 { background-image: url('https://image.acg.lol/file/2026/07/28/S--864e6d8fdf750246.png'); }
sc12 { background-image: url('https://image.acg.lol/file/2026/07/28/S--77d93191c51ee736.png'); }
sc13 { background-image: url('https://image.acg.lol/file/2026/07/28/S--806d03d1b5ef3cf4.png'); }


/* =========================================
   ☕ 老板 · 双形态容器 zo
   基础(n)=咖啡主题 / 异常(x)=混沌主题
   ========================================= */

zo {
  display: block; margin-bottom: 14px;
}

/* —— 基础态：咖啡主题 —— */
zo.n {
  --mc:        #8b5a3c;
  --mc-soft:   #d4a87a;
  --mc-deep:   #4a2a14;
  --mc-cream:  #f5e8d0;
  --mc-bg:     rgba(245, 232, 208, 0.55);
  --mc-border: rgba(139, 90, 60, 0.5);
}

/* —— 异常态：混沌主题 —— */
zo.x {
  --mc:        #6b2d8a;
  --mc-soft:   #a85bc4;
  --mc-deep:   #d8a8e8;
  --mc-glitch: #00ffe5;
  --mc-bg:     rgba(10, 5, 20, 0.9);
  --mc-border: rgba(168, 91, 196, 0.65);
}

/* ========== 通用骨架 ========== */
zo > details {
  display: block; position: relative;
  border-radius: 14px; overflow: hidden;
  transition: box-shadow 0.3s ease;
}

/* 基础态背景：咖啡氤氲 */
zo.n > details {
  background:
    radial-gradient(circle at 20% 30%, rgba(212, 168, 122, 0.3), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(245, 232, 208, 0.4), transparent 50%),
    linear-gradient(135deg, #f5e8d0 0%, #e8d4b0 50%, #d4a87a 100%);
  border: 1.5px solid var(--mc-border);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mc) 25%, transparent);
}
zo.n > details[open] {
  box-shadow: 0 6px 22px color-mix(in srgb, var(--mc) 38%, transparent);
}

/* 异常态背景：混沌噪点 */
zo.x > details {
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0px, transparent 2px,
      rgba(0, 255, 229, 0.04) 2px, rgba(0, 255, 229, 0.04) 3px
    ),
    radial-gradient(circle at 30% 40%, rgba(168, 91, 196, 0.4), transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(0, 255, 229, 0.15), transparent 45%),
    linear-gradient(135deg, #0a0514 0%, #1a0a28 50%, #0a0514 100%);
  border: 1.5px solid var(--mc-border);
  box-shadow: 0 4px 22px color-mix(in srgb, var(--mc) 50%, transparent),
              inset 0 0 30px rgba(0, 255, 229, 0.08);
  animation: glitchShift 6s infinite linear;
}
zo.x > details[open] {
  box-shadow: 0 6px 30px color-mix(in srgb, var(--mc) 65%, transparent),
              inset 0 0 40px rgba(0, 255, 229, 0.12);
}
@keyframes glitchShift {
  0%, 100% { filter: hue-rotate(0deg); }
  20% { filter: hue-rotate(-8deg); }
  50% { filter: hue-rotate(0deg); }
  80% { filter: hue-rotate(8deg); }
}

/* summary头部 */
zo > details > summary {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 14px; cursor: pointer; list-style: none;
  user-select: none;
}
zo.n > details > summary {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc-cream) 70%, white),
    color-mix(in srgb, var(--mc-soft) 35%, white));
}
zo.x > details > summary {
  background: linear-gradient(135deg,
    rgba(30, 10, 50, 0.85),
    rgba(60, 20, 90, 0.7));
}
zo > details > summary::-webkit-details-marker { display: none; }
zo > details > summary::marker { content: ''; display: none; }

zo > details > summary cdh {
  display: grid !important;
  grid-template-columns: 64px 1fr;
  grid-template-rows: 1fr 1fr;
  column-gap: 16px; width: 100%;
  align-items: center;
  margin: 0; padding: 0; border: none;
}
zo > details > summary cdh > av { grid-column: 1; grid-row: 1 / 3; align-self: center; }
zo > details > summary cdh > nm {
  grid-column: 2; grid-row: 1; align-self: end;
  font-size: 16px; font-weight: 700;
  margin: 0; padding-bottom: 4px;
}
zo.n > details > summary cdh > nm { color: var(--mc-deep); }
zo.x > details > summary cdh > nm {
  color: var(--mc-deep);
  text-shadow: 0 0 10px var(--mc-glitch);
}
zo > details > summary cdh > brg {
  grid-column: 2; grid-row: 2; align-self: start;
  margin: 0; width: 90%;
}

/* 头像框 */
zo av {
  display: block; width: 64px; height: 64px;
  flex-shrink: 0; border-radius: 50%;
  overflow: hidden;
  transition: transform 0.3s ease;
}
zo.n av {
  border: 2px solid var(--mc);
  background-color: var(--mc-cream);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-soft) 50%, transparent),
              0 4px 10px color-mix(in srgb, var(--mc) 30%, transparent);
}
zo.x av {
  border: 2px solid var(--mc-glitch);
  background-color: #0a0514;
  box-shadow: 0 0 0 3px rgba(168, 91, 196, 0.5),
              0 0 22px var(--mc-glitch),
              0 4px 14px rgba(0,0,0,0.6);
}
zo av:hover { transform: scale(1.06) rotate(-3deg); }

/* cdm展开主体 */
zo cdm {
  display: block; padding: 16px;
  backdrop-filter: blur(10px);
  animation: cdmFadeIn 0.2s ease-out;
}
zo.n cdm {
  background: rgba(255, 248, 235, 0.5);
  border-top: 1px solid var(--mc-border);
}
zo.x cdm {
  background: rgba(10, 5, 20, 0.8);
  border-top: 1px solid var(--mc-border);
}
zo cdm > cdh, zo cdm > brg { display: none !important; }

/* 颜色覆盖 */
zo rc, zo nm { color: var(--mc-deep); }
zo gi { color: var(--mc-deep); border-color: var(--mc-border); }
zo.n gi { background: rgba(255, 248, 235, 0.7); }
zo.x gi { background: rgba(30, 12, 45, 0.7); }
zo sl { color: var(--mc); }
zo.x sl { color: var(--mc-soft); }
zo bv.l { background: linear-gradient(90deg, var(--mc-soft), var(--mc)); }
zo.x bv.l { box-shadow: 0 0 10px var(--mc-glitch); }

/* 发言气泡 */
zo say {
  display: inline-block; margin: 6px 0; padding: 10px 14px;
  border-radius: 16px 16px 16px 4px;
  font-size: 14px; line-height: 1.6;
  max-width: 88%;
}
zo.n say {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc-cream) 80%, white),
    color-mix(in srgb, var(--mc-soft) 25%, white));
  border: 1px solid var(--mc-border);
  color: var(--mc-deep);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mc) 22%, transparent);
}
zo.x say {
  background: linear-gradient(135deg, rgba(30,12,55,0.92), rgba(70,25,100,0.88));
  border: 1px solid var(--mc-border);
  color: var(--mc-deep);
  box-shadow: 0 3px 14px color-mix(in srgb, var(--mc) 50%, transparent);
  text-shadow: 0 0 8px var(--mc-glitch);
}

/* ========== 表情(头像位) ========== */
ofn, ofx {
  display: block; width: 100%; height: 100%;
  background-size: cover; background-position: center top;
  background-repeat: no-repeat;
}
ofn { background-image: url('https://image.acg.lol/file/2026/07/28/O--cae94563ef0c73c2.png'); }
ofx { background-image: url('https://image.acg.lol/file/2026/07/28/O--7677e080c5fb48c4.png'); }

zo av > ofn, zo av > ofx { width: 100%; height: 100%; }

/* 正文大头像 */
tb ofn, p ofn {
  display: block; width: 112px; height: 112px;
  border-radius: 50%;
  border: 2px solid #8b5a3c;
  background-color: #f5e8d0;
  background-size: cover; background-position: center top;
  margin: 10px 0 6px;
  box-shadow: 0 4px 14px rgba(139, 90, 60, 0.4);
}
tb ofx, p ofx {
  display: block; width: 112px; height: 112px;
  border-radius: 50%;
  border: 2px solid #00ffe5;
  background-color: #0a0514;
  background-size: cover; background-position: center top;
  margin: 10px 0 6px;
  box-shadow: 0 0 22px #00ffe5,
              0 4px 14px rgba(168, 91, 196, 0.5);
}

/* ========== 立绘(状态卡内) ========== */
oin, oix {
  display: block; width: 100%;
  aspect-ratio: 1051 / 788;
  margin-bottom: 12px;
  border-radius: 10px;
  background-size: cover; background-position: center center;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
}
oin {
  border: 1px solid rgba(139, 90, 60, 0.5);
  background-image: url('https://image.acg.lol/file/2026/07/28/O-48cc986484b5d4c6.png');
  box-shadow: 0 3px 12px rgba(139, 90, 60, 0.3),
              inset 0 0 0 2px rgba(255,255,255,0.4);
}
oix {
  border: 1px solid rgba(168, 91, 196, 0.65);
  background-image: url('https://image.acg.lol/file/2026/07/28/O-4ddbdf4de8c5f6be.png');
  box-shadow: 0 3px 16px rgba(168, 91, 196, 0.5),
              inset 0 0 0 2px rgba(0, 255, 229, 0.2);
}
oin:hover, oix:hover { transform: scale(1.02); }

/* ========== 聊天框主体（粉金透感） ========== */
.bg-gray-100\/90.relative.inline-block {
    background: linear-gradient(135deg,
        rgba(255, 253, 254, 0.75),
        rgba(255, 235, 242, 0.65)) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(212, 175, 55, 0.4) !important;
    border-radius: 16px !important;
    box-shadow:
        0 6px 22px rgba(139, 69, 90, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
    isolation: isolate !important;
    position: relative !important;
}

/* 输入框单独多一点暖色 */
.bg-gray-100\/90.relative.inline-block:not(.chat-answer-container .bg-gray-100\/90) {
    background: linear-gradient(135deg,
        rgba(255, 248, 250, 0.85),
        rgba(255, 224, 234, 0.7)) !important;
    border-color: rgba(232, 138, 154, 0.45) !important;
}

/* 正文：浅色背景 → 深色文字（保证可读性） */
.markdown-body {
    color: #6b3a48 !important;
    font-family: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif !important;
    line-height: 1.85 !important;
    font-size: 14px !important;
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
}
.markdown-body strong, .markdown-body b {
    color: #a8606e !important;
    font-weight: bold !important;
}

/* ========== 顶部色条隐藏 ========== */
[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
    display: none !important;
}

/* ========== 底部按钮 / 模型名 / Token 文字 ========== */
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary {
    color: #a8606e !important;
    border-radius: 10px !important;
    transition: all 0.2s ease !important;
}
.MuiButtonBase-root.MuiButton-root.MuiButton-text.MuiButton-textPrimary:hover {
    background: rgba(255, 230, 235, 0.6) !important;
    color: #8b455a !important;
}
.MuiTypography-root.MuiTypography-body2.css-6c0gf2 {
    color: #d4af37 !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
}
.text-orange-500 {
    color: #e88a9a !important;
}

/* =========================================
   ★ 自定义加载动画：欢迎回来主人～
   ========================================= */

/* 1) 隐藏默认点状加载 */
.style-module__AtdJSq__dot-flashing.style-module__AtdJSq__text {
    display: none !important;
}

/* 2) 容器：撑开足够空间承载 SVG 动画 */
.flex.items-center.justify-center.w-6.h-5 {
    position: relative !important;
    width: 240px !important;
    height: 56px !important;
    overflow: visible !important;
}

/* 3) ::before —— SVG（SMIL）粉金心跳 + 闪光 */
.flex.items-center.justify-center.w-6.h-5::before {
    content: "" !important;
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 220px;
    height: 50px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 50'>\
<defs>\
<linearGradient id='g' x1='0' x2='1' y1='0' y2='0'>\
<stop offset='0%' stop-color='%23ffb6c1'/>\
<stop offset='50%' stop-color='%23d4af37'/>\
<stop offset='100%' stop-color='%23ff6fa5'/>\
</linearGradient>\
</defs>\
<g fill='url(%23g)'>\
<path d='M30 25c0-3 2-5 5-5s5 2 5 5-5 8-5 8-5-5-5-8z'>\
<animateTransform attributeName='transform' type='scale' values='1;1.25;1' dur='1.1s' repeatCount='indefinite' additive='sum'/>\
<animate attributeName='opacity' values='0.7;1;0.7' dur='1.1s' repeatCount='indefinite'/>\
</path>\
<circle cx='70' cy='25' r='3'>\
<animate attributeName='r' values='2;5;2' dur='1.3s' repeatCount='indefinite'/>\
<animate attributeName='opacity' values='0.4;1;0.4' dur='1.3s' repeatCount='indefinite'/>\
</circle>\
<circle cx='110' cy='25' r='3'>\
<animate attributeName='r' values='2;5;2' dur='1.3s' begin='0.2s' repeatCount='indefinite'/>\
<animate attributeName='opacity' values='0.4;1;0.4' dur='1.3s' begin='0.2s' repeatCount='indefinite'/>\
</circle>\
<circle cx='150' cy='25' r='3'>\
<animate attributeName='r' values='2;5;2' dur='1.3s' begin='0.4s' repeatCount='indefinite'/>\
<animate attributeName='opacity' values='0.4;1;0.4' dur='1.3s' begin='0.4s' repeatCount='indefinite'/>\
</circle>\
<path d='M185 25l3-6 3 6 6 3-6 3-3 6-3-6-6-3z'>\
<animateTransform attributeName='transform' type='rotate' from='0 191 28' to='360 191 28' dur='3s' repeatCount='indefinite'/>\
<animate attributeName='opacity' values='0.6;1;0.6' dur='1.5s' repeatCount='indefinite'/>\
</path>\
</g>\
</svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    /* CSS 关键帧作为增强（被禁用时 SMIL 仍然可动） */
    animation: loadGlow 2.4s ease-in-out infinite !important;
    filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.45));
    z-index: 0;
}

/* 4) ::after —— SVG 文字「欢迎回来主人～」飘动 */
.flex.items-center.justify-center.w-6.h-5::after {
    content: "" !important;
    position: absolute !important;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);
    width: 240px;
    height: 26px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 26'>\
<defs>\
<linearGradient id='tg' x1='0' x2='1'>\
<stop offset='0%' stop-color='%238b455a'/>\
<stop offset='50%' stop-color='%23d4af37'/>\
<stop offset='100%' stop-color='%23a8606e'/>\
</linearGradient>\
</defs>\
<text x='120' y='18' font-size='14' font-weight='700' text-anchor='middle' font-family='PingFang SC, Microsoft YaHei, sans-serif' fill='url(%23tg)' letter-spacing='2'>\
欢迎回来，主人～\
<animate attributeName='opacity' values='0.55;1;0.55' dur='1.6s' repeatCount='indefinite'/>\
<animateTransform attributeName='transform' type='translate' values='0 0; 0 -2; 0 0' dur='1.6s' repeatCount='indefinite'/>\
</text>\
</svg>") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 0;
}

/* CSS 关键帧增强 */
@keyframes loadGlow {
    0%, 100% { filter: drop-shadow(0 0 4px rgba(212, 175, 55, 0.35)); }
    50%      { filter: drop-shadow(0 0 10px rgba(255, 111, 165, 0.65)); }
}

/* 移动端适配 */
@media (max-width: 480px) {
    .flex.items-center.justify-center.w-6.h-5 {
        width: 200px !important;
        height: 50px !important;
    }
    .flex.items-center.justify-center.w-6.h-5::before { width: 180px; height: 42px; }
    .flex.items-center.justify-center.w-6.h-5::after  { width: 200px; bottom: -20px; }
}

/* 低动效偏好：减慢但不停 */
@media (prefers-reduced-motion: reduce) {
    .flex.items-center.justify-center.w-6.h-5::before { animation-duration: 5s !important; }
}

cot, cot-ca, cot-na, cot-tj {
  display: none !important;
}

/* =========================================
   🌹 深粉酱 zsf
   ========================================= */
zsf {
  --mc: #ff3d8a; --mc-soft: #ff8ab5; --mc-deep: #a01856;
  --mc-bg: rgba(255, 200, 220, 0.5);
  --mc-border: rgba(255, 61, 138, 0.5);
}
zsf rc, zsf gi, zsf sl, zsf nm { color: var(--mc-deep); }
zsf gi { border-color: var(--mc-border); }
zsf bv.l { background: linear-gradient(90deg, var(--mc-soft), var(--mc)); }
zsf say { color: var(--mc-deep); }
zsf fc, zsf tb fc, zsf p fc {
  background-image: url('https://image.acg.lol/file/2026/07/28/S-FOX.png');
}
zsf-c { background-image: url('https://image.acg.lol/file/2026/07/28/S--FOX907e1e1c1de0d4a3.png'); }