/* ============ 全局云雾垫底(挂在思维链上,不用body) ============ */
.think-shell::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 20% 30%,rgba(122,184,148,.05),transparent),
    radial-gradient(ellipse 50% 35% at 80% 70%,rgba(74,157,120,.04),transparent);
  background-size:200% 200%,180% 180%;
  animation:mistDrift 24s ease-in-out infinite alternate;
}
@keyframes mistDrift{
  0%{background-position:0% 0%,100% 100%}
  100%{background-position:40% 30%,60% 70%}
}

/* ============ 思维链外壳·竹简立体 ============ */
.think-shell{
  margin:14px 0;position:relative;border-radius:12px;overflow:hidden;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 14px),
    linear-gradient(135deg,#1c2e24 0%,#14201a 55%,#121e18 100%);
  border:1px solid #3a5a48;
  box-shadow:
    0 6px 22px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(122,184,148,.18),
    inset 0 -2px 6px rgba(0,0,0,.4),
    inset 2px 0 4px rgba(0,0,0,.3),
    inset -2px 0 4px rgba(0,0,0,.3);
}
.think-shell::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,transparent,#4a9d78,#7ab894,#a8d8bf,#7ab894,#4a9d78,transparent);
  background-size:200% 100%;animation:flowWave 6s linear infinite;
}
@keyframes flowWave{0%{background-position:200% 0}100%{background-position:-200% 0}}
.think-shell>summary{
  cursor:pointer;padding:13px 18px 13px 46px;font-weight:700;color:#b8e0c8;
  font-size:15px;letter-spacing:3px;position:relative;z-index:2;list-style:none;
  text-shadow:0 1px 2px rgba(0,0,0,.6);
  background:linear-gradient(90deg,rgba(74,157,120,.16),rgba(74,157,120,.03) 60%,transparent);
  transition:all .35s ease;
}
.think-shell>summary::-webkit-details-marker{display:none}
.think-shell>summary::before{
  content:"卷";position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;line-height:24px;text-align:center;font-size:13px;
  color:#fff2e2;background:linear-gradient(145deg,#c04a38,#8f2e20);border-radius:4px;
  box-shadow:0 2px 5px rgba(168,58,42,.6),inset 0 1px 1px rgba(255,255,255,.3);
}
.think-shell>summary::after{
  content:"▾";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  color:#7ab894;font-size:12px;transition:transform .35s ease;
}
.think-shell[open]>summary::after{transform:translateY(-50%) rotate(180deg)}
.think-shell>summary:hover{color:#d8f4e4;letter-spacing:4px;
  background:linear-gradient(90deg,rgba(74,157,120,.28),rgba(74,157,120,.06),transparent)}
.think-shell[open]>summary{
  border-bottom:1px solid #2f4a3a;
  box-shadow:0 2px 8px rgba(0,0,0,.35)}
.think-shell[open]>*:not(summary){animation:fadeSlide .5s ease;position:relative;z-index:2}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.think-shell{color:#8fb8a0;font-size:13px;line-height:1.78}
.think-shell>*:not(summary){padding-left:18px;padding-right:18px}
.think-shell strong{color:#b8e0c8;text-shadow:0 1px 1px rgba(0,0,0,.4)}
.think-shell ul,.think-shell ol{padding-left:34px}
.think-shell li{margin:3px 0}
.think-shell h3{
  color:#e8c8a8;font-size:14px;margin:12px 18px 8px;padding:6px 0 6px 12px;
  border-left:3px solid #c04a38;letter-spacing:2px;
  background:linear-gradient(90deg,rgba(192,74,56,.1),transparent);
  border-radius:0 4px 4px 0;text-shadow:0 1px 2px rgba(0,0,0,.5)}

/* ============ 第十一步·青绿题签卡(立体+流光) ============ */
.card{
  margin:10px 18px 16px;position:relative;border-radius:9px;overflow:hidden;
  background:linear-gradient(135deg,#213629,#16261e);
  border:1px solid #4a7a5e;
  box-shadow:0 3px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(122,184,148,.15);
}
.card::before{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;z-index:1;
  background:linear-gradient(105deg,transparent,rgba(168,216,191,.14),transparent);
  animation:sheen 5s ease-in-out infinite;
}
@keyframes sheen{0%,70%{left:-60%}100%{left:130%}}
.card .row{
  display:flex;align-items:stretch;position:relative;z-index:2;
  border-bottom:1px dashed #30503c;transition:background .28s ease;
}
.card .row:last-child{border-bottom:none}
.card .row:hover{background:rgba(74,157,120,.13)}
.card .k{
  flex:0 0 100px;padding:9px 11px;font-size:12px;color:#f0e4d0;
  background:linear-gradient(90deg,#42624e,#324e3c);text-align:right;
  font-weight:600;letter-spacing:1px;display:flex;align-items:center;
  justify-content:flex-end;border-right:1px solid #4a7a5e;
  text-shadow:0 1px 1px rgba(0,0,0,.4)}
.card .v{
  flex:1;padding:9px 13px;font-size:12.5px;color:#a0d8b8;
  line-height:1.65;display:flex;align-items:center}

/* ============ 顶部状况·题签横条 ============ */
.status-top{
  margin:13px 0;position:relative;border-radius:9px;overflow:hidden;
  background:linear-gradient(135deg,#1e3028,#162420);
  border:1px solid #3a5a48;
  box-shadow:0 3px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(122,184,148,.15)}
.status-top::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#7ab894,transparent);
  background-size:200% 100%;animation:flowWave 7s linear infinite}
.status-top>summary{
  cursor:pointer;padding:11px 18px 11px 44px;font-weight:700;color:#b8e0c8;
  font-size:14px;letter-spacing:2px;list-style:none;position:relative;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  background:linear-gradient(90deg,rgba(74,157,120,.14),transparent);
  transition:all .3s ease}
.status-top>summary::-webkit-details-marker{display:none}
.status-top>summary::before{
  content:"";position:absolute;left:15px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 12 Q7 6 12 12 T22 12' fill='none' stroke='%237ab894' stroke-width='2'/><path d='M2 17 Q7 11 12 17 T22 17' fill='none' stroke='%234a9d78' stroke-width='1.5'/></svg>") no-repeat center/contain}
.status-top>summary:hover{color:#d8f4e4;letter-spacing:3px}
.status-top[open]>div{animation:fadeSlide .45s ease;padding:14px 20px;
  color:#a8c8b4;font-size:13px;line-height:2;border-top:1px solid #2a4636}
.status-top strong{color:#e8c8a8;text-shadow:0 1px 1px rgba(0,0,0,.4)}

/* ============ 正文·宣纸精雕(已修复.story) ============ */
.story{
  display:block;margin:18px 0;padding:26px 28px 30px;position:relative;
  color:#2a2620;border-radius:12px;line-height:2.05;font-size:15.5px;
  background:
    radial-gradient(circle at 15% 15%,rgba(180,150,110,.08),transparent 40%),
    radial-gradient(circle at 85% 85%,rgba(160,130,90,.06),transparent 40%),
    linear-gradient(160deg,#f6efe2,#ece1d0);
  border:1px solid #c8b89a;
  box-shadow:
    0 6px 26px rgba(0,0,0,.45),
    inset 0 0 40px rgba(180,150,110,.14),
    inset 0 1px 0 rgba(255,255,255,.5)}
.story::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:12px 12px 0 0;
  background:linear-gradient(90deg,#4a7a5e,#7ab894,#c04a38,#7ab894,#4a7a5e);
  background-size:200% 100%;animation:flowWave 9s linear infinite;opacity:.75}
/* 四角朱砂印章式装饰角 */
.story::after{
  content:"";position:absolute;top:14px;right:14px;width:22px;height:22px;
  border-top:2px solid #c04a38;border-right:2px solid #c04a38;
  border-radius:0 6px 0 0;opacity:.55}
.story p{margin:0 0 16px;text-indent:2em;letter-spacing:.6px;
  color:#2e2a22;position:relative}
.story p:first-of-type{animation:inkReveal 1.3s ease}
.story p:last-child{margin-bottom:0}
@keyframes inkReveal{
  0%{opacity:0;filter:blur(5px);transform:translateY(6px)}
  100%{opacity:1;filter:blur(0);transform:translateY(0)}}
/* 对话强调(正文中双引号台词可包<em>) */
.story em{font-style:normal;color:#8a3020;font-weight:600}

/* 云纹分隔线(A方案专属) */
.ink-divider{
  display:flex;justify-content:center;align-items:center;margin:18px 0;
  opacity:.7}
.ink-divider svg{width:130px;height:14px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
.ink-divider::before,.ink-divider::after{
  content:"";flex:1;height:1px;max-width:70px;
  background:linear-gradient(90deg,transparent,#c8b89a)}
.ink-divider::after{background:linear-gradient(90deg,#c8b89a,transparent)}

/* 落款印章 */
.ink-seal{
  position:absolute;bottom:16px;right:18px;
  width:36px;height:36px;line-height:36px;text-align:center;
  font-size:18px;color:#fff2e2;font-weight:700;
  background:linear-gradient(145deg,#c04a38,#8f2e20);
  border-radius:5px;
  box-shadow:0 2px 8px rgba(168,58,42,.5),inset 0 1px 2px rgba(255,255,255,.25);
  transform:rotate(-4deg);letter-spacing:0;
  border:1px solid rgba(255,240,220,.3)}

  /* ============ 六状态栏·通用水墨皮肤 ============ */
.role-card,.npc-card,.pursuit-card,.world-card,.memory-zone,.action-card{
  margin:13px 0;position:relative;border-radius:9px;overflow:hidden;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) 1px,transparent 1px,transparent 16px),
    linear-gradient(135deg,#1b2d25,#14221c);
  border:1px solid #3a5a48;
  box-shadow:0 3px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(122,184,148,.14),inset 0 -2px 5px rgba(0,0,0,.3)}
.role-card::before,.npc-card::before,.pursuit-card::before,
.world-card::before,.memory-zone::before,.action-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,transparent,#7ab894,transparent);
  background-size:200% 100%;animation:flowWave 8s linear infinite}
.role-card>summary,.npc-card>summary,.pursuit-card>summary,
.world-card>summary,.memory-zone>summary,.action-card>summary{
  cursor:pointer;padding:12px 40px 12px 46px;font-weight:700;color:#b8e0c8;
  font-size:14px;letter-spacing:2px;list-style:none;position:relative;z-index:2;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  background:linear-gradient(90deg,rgba(74,157,120,.14),rgba(74,157,120,.03) 55%,transparent);
  transition:all .32s ease}
.role-card>summary::-webkit-details-marker,
.npc-card>summary::-webkit-details-marker,
.pursuit-card>summary::-webkit-details-marker,
.world-card>summary::-webkit-details-marker,
.memory-zone>summary::-webkit-details-marker,
.action-card>summary::-webkit-details-marker{display:none}
/* 展开箭头 */
.role-card>summary::after,.npc-card>summary::after,.pursuit-card>summary::after,
.world-card>summary::after,.memory-zone>summary::after,.action-card>summary::after{
  content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  color:#7ab894;font-size:11px;transition:transform .32s ease}
.role-card[open]>summary::after,.npc-card[open]>summary::after,
.pursuit-card[open]>summary::after,.world-card[open]>summary::after,
.memory-zone[open]>summary::after,.action-card[open]>summary::after{
  transform:translateY(-50%) rotate(180deg)}
/* summary悬停 */
.role-card>summary:hover,.npc-card>summary:hover,.pursuit-card>summary:hover,
.world-card>summary:hover,.memory-zone>summary:hover,.action-card>summary:hover{
  color:#d8f4e4;letter-spacing:3px;
  background:linear-gradient(90deg,rgba(74,157,120,.24),rgba(74,157,120,.05),transparent)}
/* 展开内容 */
.role-card[open]>div,.npc-card[open]>div,.pursuit-card[open]>div,
.world-card[open]>div,.memory-zone[open]>div,.action-card[open]>div{
  animation:fadeSlide .45s ease;padding:15px 20px;color:#a8c8b4;
  font-size:13px;line-height:1.9;border-top:1px solid #2a4636;position:relative;z-index:2}
.role-card strong,.npc-card strong,.pursuit-card strong,
.world-card strong,.action-card strong{color:#e8c8a8;text-shadow:0 1px 1px rgba(0,0,0,.4)}
.role-card ul,.npc-card ul,.pursuit-card ul,.world-card ul,.action-card ol{
  padding-left:24px;margin:7px 0}
.role-card li,.npc-card li,.pursuit-card li,.world-card li{margin:5px 0}

/* ============ 六个SVG图标(内联svg背景) ============ */
.role-card>summary::before,.npc-card>summary::before,.pursuit-card>summary::before,
.world-card>summary::before,.memory-zone>summary::before,.action-card>summary::before{
  content:"";position:absolute;left:15px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;background-repeat:no-repeat;background-position:center;
  background-size:contain}
/* 角色档案·印 */
.role-card>summary::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='3' width='18' height='18' rx='2' fill='none' stroke='%23e8c8a8' stroke-width='1.6'/><path d='M8 8h8M8 12h8M8 16h5' stroke='%23c04a38' stroke-width='1.6' stroke-linecap='round'/></svg>")}
/* NPC·人 */
.npc-card>summary::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='8' r='4' fill='none' stroke='%237ab894' stroke-width='1.6'/><path d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8' fill='none' stroke='%237ab894' stroke-width='1.6' stroke-linecap='round'/></svg>")}
/* 攻略·花 */
.pursuit-card>summary::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='2.5' fill='%23c04a38'/><path d='M12 4c2 2 2 4 0 6-2-2-2-4 0-6zM12 20c-2-2-2-4 0-6 2 2 2 4 0 6zM4 12c2-2 4-2 6 0-2 2-4 2-6 0zM20 12c-2 2-4 2-6 0 2-2 4-2 6 0z' fill='%23e89aa8'/></svg>")}
/* 暗流·波 */
.world-card>summary::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 8 Q7 3 12 8 T22 8' fill='none' stroke='%237ab894' stroke-width='1.6'/><path d='M2 13 Q7 8 12 13 T22 13' fill='none' stroke='%234a9d78' stroke-width='1.6'/><path d='M2 18 Q7 13 12 18 T22 18' fill='none' stroke='%233a7a5e' stroke-width='1.6'/></svg>")}
/* 记忆·卷 */
.memory-zone>summary::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 4h11a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4z' fill='none' stroke='%23e8c8a8' stroke-width='1.6'/><path d='M18 20a2 2 0 0 0 2-2V8h-2' fill='none' stroke='%23c04a38' stroke-width='1.6'/><path d='M8 8h6M8 12h6' stroke='%237ab894' stroke-width='1.4' stroke-linecap='round'/></svg>")}
/* 行动·箭 */
.action-card>summary::before{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 12h14M13 6l6 6-6 6' fill='none' stroke='%23e8c8a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}

/* ============ NPC隐私块·朱砂高亮 ============ */
.npc-private{
  margin:10px 0;padding:10px 14px;position:relative;
  border-left:3px solid #c04a38;border-radius:0 8px 8px 0;
  background:linear-gradient(90deg,rgba(192,74,56,.12),rgba(192,74,56,.03) 70%,transparent);
  box-shadow:inset 0 0 12px rgba(192,74,56,.08)}
.npc-private::before{
  content:"密";position:absolute;top:-9px;left:10px;
  font-size:10px;color:#fff2e2;background:#c04a38;
  padding:1px 6px;border-radius:3px;letter-spacing:1px;
  box-shadow:0 1px 3px rgba(192,74,56,.5)}
.npc-private p{margin:4px 0;font-size:12.5px;color:#d8b0a0}
.npc-private em{color:#e89aa8;font-style:normal;font-weight:600;
  display:inline-block;min-width:42px}

/* ============ 攻略卡·桃粉朱砂特调 ============ */
.pursuit-card{
  border-color:#7a4a52;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) 1px,transparent 1px,transparent 16px),
    linear-gradient(135deg,#2d1e24,#221619)}
.pursuit-card>summary{color:#e8b8c0;
  background:linear-gradient(90deg,rgba(232,154,168,.14),transparent)}
.pursuit-card>summary:hover{color:#f4d0d8;
  background:linear-gradient(90deg,rgba(232,154,168,.24),transparent)}
.pursuit-card::before{background:linear-gradient(90deg,transparent,#e89aa8,transparent);
  background-size:200% 100%;animation:flowWave 8s linear infinite}
.pursuit-card strong{color:#f0c0c8}
.pursuit-card[open]>div{border-top-color:#4a2a32}

/* ============ 记忆区·三色精雕表 ============ */
.ltm-title{color:#e05a48;font-weight:700;margin:12px 0 5px;font-size:13px;
  letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.4);
  padding-left:8px;border-left:3px solid #c04a38}
.stm-title{color:#e0b838;font-weight:700;margin:16px 0 5px;font-size:13px;
  letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.4);
  padding-left:8px;border-left:3px solid #b89020}
.npclog-title{color:#4ab0e0;font-weight:700;margin:16px 0 5px;font-size:13px;
  letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.4);
  padding-left:8px;border-left:3px solid #2080b8}
.memory-zone table{
  width:100%;border-collapse:separate;border-spacing:0;margin:5px 0 10px;
  font-size:12px;border:1px solid #4a7a5e;border-radius:7px;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.3)}
.memory-zone th{
  background:linear-gradient(180deg,#42624e,#2e4a3a);color:#f0e4d0;
  padding:8px 9px;text-align:left;font-weight:600;letter-spacing:.5px;
  border-bottom:1px solid #4a7a5e;text-shadow:0 1px 1px rgba(0,0,0,.5);
  white-space:nowrap}
.memory-zone td{
  padding:7px 9px;color:#a0d8b8;border-bottom:1px solid #24382c;
  vertical-align:top;line-height:1.65}
.memory-zone tr:nth-child(even) td{background:rgba(74,157,120,.06)}
.memory-zone tr:hover td{background:rgba(74,157,120,.14)}
.memory-zone tbody tr:last-child td{border-bottom:none}
.memory-zone td:first-child{color:#e8c8a8;font-weight:600;white-space:nowrap}

/* ============ 行动推荐·发光选项 ============ */
.action-card ol{counter-reset:act;padding-left:0;list-style:none}
.action-card li{
  position:relative;margin:8px 0;padding:9px 12px 9px 40px;
  border-radius:7px;transition:all .28s ease;
  background:rgba(74,157,120,.05);border:1px solid transparent;
  counter-increment:act;line-height:1.6}
.action-card li::before{
  content:counter(act);position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;line-height:22px;text-align:center;font-size:12px;
  color:#fff2e2;background:linear-gradient(145deg,#4a9d78,#3a7a5e);
  border-radius:50%;font-weight:700;
  box-shadow:0 1px 3px rgba(0,0,0,.4)}
.action-card li:last-child::before{
  background:linear-gradient(145deg,#c04a38,#8f2e20)}
.action-card li:hover{
  background:rgba(216,184,154,.12);color:#f0e4d0;
  border-color:rgba(216,184,154,.4);transform:translateX(4px);
  box-shadow:0 0 14px rgba(216,184,154,.2),inset 0 0 20px rgba(216,184,154,.05)}

/* ============ 移动端整体优化 ============ */
@media(max-width:600px){
  /* summary通用 */
  .think-shell>summary,.status-top>summary,.role-card>summary,
  .npc-card>summary,.pursuit-card>summary,.world-card>summary,
  .memory-zone>summary,.action-card>summary{
    font-size:13px;letter-spacing:.8px;padding-left:40px;padding-right:34px}
  .think-shell>summary{letter-spacing:1.5px}
  /* 展开内容 */
  .role-card[open]>div,.npc-card[open]>div,.pursuit-card[open]>div,
  .world-card[open]>div,.memory-zone[open]>div,.action-card[open]>div,
  .status-top[open]>div{padding:12px 14px;font-size:12.5px}
  /* 正文 */
  .story{margin:14px 0;padding:18px 16px 24px;font-size:15px;line-height:1.95}
  .story p{text-indent:2em;margin-bottom:14px}
  .story::after{width:18px;height:18px;top:10px;right:10px}
  .ink-seal{width:30px;height:30px;line-height:30px;font-size:15px;
    bottom:12px;right:12px}
  .ink-divider svg{width:100px}
  .ink-divider::before,.ink-divider::after{max-width:40px}
  /* 思维链 */
  .think-shell>*:not(summary){padding-left:12px;padding-right:12px}
  .think-shell ul,.think-shell ol{padding-left:26px}
  .think-shell h3{margin-left:12px;margin-right:12px;font-size:13px}
  /* 第十一步卡 */
  .card{margin:8px 10px 12px}
  .card .k{flex:0 0 74px;font-size:11px;padding:8px 6px}
  .card .v{font-size:11.5px;padding:8px 9px}
  /* NPC隐私块 */
  .npc-private{padding:9px 11px}
  .npc-private p{font-size:12px}
  /* 行动推荐 */
  .action-card li{padding:8px 10px 8px 36px;margin:6px 0}
  .action-card li:hover{transform:none}
  /* 记忆区表格横滑 */
  .memory-zone[open]>div{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .memory-zone table{min-width:520px}
  .memory-zone th,.memory-zone td{padding:6px 7px}
}

/* ============ 收尾·细节点缀 ============ */
.world-card li,.action-card li{transition:color .2s ease}
.role-card em,.npc-card em{color:#e89aa8;font-style:normal;font-weight:600}
.memory-zone summary,.action-card summary{user-select:none}