/* ═══════════════════════════════════════════════════════
   「把老婆租出去的第七天」· 内置CSS v2.0
   设计：金主霓虹 · 深夜紫黑底+霓虹紫主+皮条粉已改标+金主金账本
   组件：.dl-self / .dl-npc-bar / .dl-memory / .dl-actions / .dl-chain
   纯CSS：details/summary + 兄弟选择器 · 零JS 零事件绑定
   ═══════════════════════════════════════════════════════ */

/* ── 0. 基础壳 + 设计令牌 ── */
.dl-self,.dl-npc-bar,.dl-memory,.dl-actions{
  --dl-bg:#241E38;       /* 深夜紫底 */
  --dl-card:#2F2748;     /* 紫黑卡面 */
  --dl-main:#B36BFF;     /* 霓虹紫·主 */
  --dl-hot:#FF5D8F;      /* 皮条粉·已改/强调 */
  --dl-soft:#6F5A9E;     /* 浅紫描边 */
  --dl-text:#EDE4FF;     /* 浅紫白字 */
  --dl-dim:#B8A6D8;      /* 次级 */
  --dl-dim2:#7E6FA3;     /* 弱化 */
  --dl-line:rgba(179,107,255,.42);   /* 霓虹描边 */
  --dl-line-soft:rgba(179,107,255,.16);
  --dl-blue:#7BA8FF;     /* rp-new 蓝 */
  --dl-green:#5FD9A0;    /* rp-known 薄荷 */
  --dl-orange:#FFAB5E;   /* rp-suspect 蜜橙 */
  --dl-gold:#FFC84D;     /* changed 金主金 */
  --dl-dot:rgba(179,107,255,.14);    /* 半调网点 */
  --dl-font:-apple-system,'PingFang SC','Microsoft YaHei','Hiragino Sans GB',sans-serif;
  position:relative;box-sizing:border-box;
  width:100%;max-width:none;margin:10px auto 0;
  background:var(--dl-card);
  border:2px solid var(--dl-line);
  border-radius:16px;
  color:var(--dl-text);
  font-family:var(--dl-font);
  font-size:13px;
  box-shadow:3px 3px 0 rgba(0,0,0,.35),0 0 22px rgba(179,107,255,.10);
  overflow:hidden;
  transition:transform .15s,border-color .2s;
}
.dl-self:hover,.dl-npc-bar:hover,.dl-memory:hover,.dl-actions:hover{
  border-color:var(--dl-main);
  transform:translateY(-1px);
}
/* 卡面半调网点 + 霓虹高光 */
.dl-self::before,.dl-npc-bar::before,.dl-memory::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(var(--dl-dot) 1.4px,transparent 1.4px);
  background-size:14px 14px;
  opacity:.5;
}
.dl-actions::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(120deg,rgba(255,200,77,.05),transparent 40%);
}
.dl-s-row,.dl-n-row,.dl-mem-body,.dl-act-list{position:relative;}

/* ── 1. 通用卡头 summary（霓虹渐变条）── */
.dl-self>summary,.dl-npc-bar>summary,.dl-memory>summary,.dl-actions>summary{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;
  font-size:12px;font-weight:900;letter-spacing:2px;
  background:linear-gradient(135deg,#7B4FD8,#B36BFF 45%,#FF5D8F);
  color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}
.dl-self>summary::-webkit-details-marker,
.dl-npc-bar>summary::-webkit-details-marker,
.dl-memory>summary::-webkit-details-marker,
.dl-actions>summary::-webkit-details-marker{display:none;}
.dl-self>summary em,.dl-npc-bar>summary em{
  font-style:normal;font-size:10px;font-weight:800;letter-spacing:1px;
  color:var(--dl-main);
  background:#fff;border:1px solid var(--dl-soft);
  padding:1px 8px;border-radius:20px;
}
/* 折叠箭头 */
.dl-self-arrow,.dl-npc-arrow,.dl-mem-arrow,.dl-act-arrow{
  margin-left:auto;font-size:10px;color:#fff;opacity:.9;
  transition:transform .2s;
}
.dl-self[open]>summary .dl-self-arrow{transform:rotate(180deg);}
.dl-npc-bar[open]>summary .dl-npc-arrow{transform:rotate(180deg);}
.dl-memory[open]>summary .dl-mem-arrow{transform:rotate(180deg);}
.dl-actions[open]>summary .dl-act-arrow{transform:rotate(180deg);}

/* ── 1b. 思维链 .dl-chain（演算稿·紫灰底）── */
.dl-chain{
  --dl-card:#2F2748;--dl-main:#B36BFF;--dl-text:#B8A6D8;--dl-dim:#7E6FA3;
  position:relative;box-sizing:border-box;
  width:100%;max-width:none;margin:6px auto 0;
  background:var(--dl-card);border:1.5px dashed rgba(179,107,255,.35);border-radius:12px;
  color:var(--dl-text);font-family:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  font-size:11.5px;line-height:1.55;overflow:hidden;
  box-shadow:2px 2px 0 rgba(0,0,0,.3);
}
.dl-chain>summary{
  list-style:none;cursor:default;user-select:none;
  padding:6px 12px;color:var(--dl-main);font-weight:800;letter-spacing:.5px;
}
.dl-chain>summary::-webkit-details-marker{display:none;}
.dl-chain[open]>summary{padding-bottom:4px;border-bottom:1px dashed rgba(179,107,255,.25);}
.dl-chain-body{padding:4px 12px 10px;white-space:pre-line;word-break:break-word;}

/* ── 2. 自身状态栏 .dl-self ── */
.dl-s-row{
  display:flex;align-items:center;gap:10px;
  padding:8px 14px 8px 13px;
  border-bottom:1px dashed var(--dl-line-soft);
  position:relative;
  font-size:12.5px;line-height:1.45;
}
.dl-s-row:last-child{border-bottom:none;}
/* 左缘色条：紫系分级 */
.dl-s-row::before{
  content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;
  background:var(--dl-main);opacity:.85;
}
.dl-s-row:nth-child(2)::before{background:var(--dl-hot);}
.dl-s-row:nth-child(3)::before{background:var(--dl-gold);}
.dl-s-row:nth-child(n+4)::before{background:var(--dl-dim2);}
.dl-s-ic{
  width:26px;height:26px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  background:var(--dl-bg);
  border:1.5px solid var(--dl-soft);
  color:var(--dl-main);
}
.dl-self>summary .dl-s-ic{width:30px;height:30px;font-size:15px;}
.dl-s-l{
  color:var(--dl-dim);flex-shrink:0;min-width:36px;
  font-size:10px;font-weight:900;letter-spacing:1px;
}
.dl-s-v{
  flex:1;min-width:0;text-align:right;
  font-size:12.5px;color:var(--dl-text);line-height:1.45;word-break:break-word;
  font-variant-numeric:tabular-nums;
}
.dl-s-v em{font-style:normal;color:var(--dl-hot);font-weight:800;}

/* ── 3. 角色状态栏 .dl-npc-bar（含生理/身体/账本）── */
.dl-n-row{
  display:flex;align-items:center;gap:10px;
  padding:9px 14px 9px 13px;
  border-bottom:1px dashed var(--dl-line-soft);
  position:relative;
  font-size:12.5px;line-height:1.45;
}
.dl-n-row:last-child{border-bottom:none;}
/* 色条：名讳紫 / 样貌热粉 / 性格金 / 穿着橙 / 身体热粉 / 账本金 */
.dl-n-row::before{
  content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;
}
.dl-n-row:nth-child(1)::before{background:var(--dl-main);}
.dl-n-row:nth-child(2)::before{background:var(--dl-hot);}
.dl-n-row:nth-child(3)::before{background:var(--dl-gold);}
.dl-n-row:nth-child(4)::before{background:var(--dl-orange);}
.dl-n-row:nth-child(n+5)::before{background:var(--dl-hot);}
.dl-n-ic{
  width:26px;height:26px;flex-shrink:0;border-radius:9px;
  display:flex;align-items:center;justify-content:center;font-size:13px;
  background:var(--dl-bg);
  border:1.5px solid var(--dl-soft);
  color:var(--dl-main);
}
.dl-npc-bar>summary .dl-n-ic{width:30px;height:30px;font-size:15px;border-radius:10px;}
.dl-n-l{
  color:var(--dl-dim);flex-shrink:0;min-width:36px;
  font-size:10px;font-weight:900;letter-spacing:1px;
}
.dl-n-v{
  flex:1;min-width:0;text-align:right;
  font-size:12.5px;color:var(--dl-text);line-height:1.45;word-break:break-word;
}
.dl-n-v em{font-style:normal;color:var(--dl-hot);font-weight:800;}
.dl-n-v strong{font-style:normal;color:var(--dl-gold);font-weight:800;}

/* ── 3b. 生理周期标 cyc-tag + 怀孕标 preg-tag ── */
.cyc-tag{
  display:inline-block;padding:2px 9px;border-radius:14px;
  font-size:10px;font-weight:900;letter-spacing:.5px;
  background:#fff;border:1.5px solid var(--dl-soft);
}
.cyc-tag.safe{color:#2FA36B;border-color:rgba(95,217,160,.5);background:#EFFBF4;}
.cyc-tag.danger{color:#E02E6B;border-color:rgba(255,93,143,.5);background:#FFF0F4;animation:dl-pulse 1.6s ease-in-out infinite;}
.cyc-tag.ovu{color:#C79A1F;border-color:rgba(255,200,77,.6);background:#FFF8E0;animation:dl-pulse 1.2s ease-in-out infinite;}
@keyframes dl-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,93,143,.25)}50%{box-shadow:0 0 0 4px rgba(255,93,143,0)}}
.preg-tag{
  display:inline-block;padding:2px 9px;border-radius:14px;
  font-size:10px;font-weight:900;letter-spacing:.5px;
  background:#fff;border:1.5px solid var(--dl-soft);
}
.preg-tag.no{color:#7BA8FF;border-color:rgba(123,168,255,.5);background:#F0F5FF;}
.preg-tag.maybe{color:#C79A1F;border-color:rgba(255,200,77,.6);background:#FFF8E0;}
.preg-tag.yes{
  color:#fff;background:linear-gradient(135deg,#FF5D8F,#C48BFF);
  border-color:#FF5D8F;
  box-shadow:0 0 0 2px #fff,0 0 0 3px var(--dl-soft);
  transform:rotate(-1.5deg);
}

/* ── 4. 已改标 set-tag（热粉实心）· 风评 rep-tag（马卡龙）── */
.set-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:2px 9px;border-radius:20px;
  font-size:10px;font-weight:900;letter-spacing:.5px;
  color:#fff;
  background:linear-gradient(135deg,#FF5D8F,#E8327B);
  box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--dl-soft),2px 2px 0 rgba(0,0,0,.25);
  transform:rotate(-1.5deg);
}
.set-tag::before{content:'♥';font-size:9px;color:#FFE0EB;}
.rep-tag{
  display:inline-block;padding:2px 9px;border-radius:20px;
  font-size:10px;font-weight:800;letter-spacing:.5px;
  background:#fff;border:1.5px solid var(--dl-soft);
}
.rep-tag.rp-new{color:var(--dl-blue);border-color:rgba(123,168,255,.45);background:#F0F5FF;}
.rep-tag.rp-known{color:#2FA36B;border-color:rgba(95,217,160,.5);background:#EFFBF4;}
.rep-tag.rp-suspect{color:#E07A2E;border-color:rgba(255,171,94,.5);background:#FFF6EC;}

/* ── 5. 变更行 changed 金主金高亮 ── */
.dl-s-row.changed,.dl-n-row.changed{
  background:linear-gradient(90deg,rgba(255,200,77,.14),transparent);
  box-shadow:inset 3px 0 0 var(--dl-gold);
  animation:dl-flash .9s ease;
}
.dl-s-row.changed .dl-s-v,.dl-n-row.changed .dl-n-v{color:#FFD66B;font-weight:800;}
@keyframes dl-flash{0%{background-color:rgba(255,200,77,.35)}100%{background-color:transparent}}

/* ── 6. 记忆卡 .dl-memory（每轮必出·默认展开open）── */
.dl-memory>summary .dl-mem-tag{margin-bottom:0;}
.dl-mem-body{padding:9px;display:flex;flex-direction:column;gap:8px;}
.dl-mem-sec{
  padding:10px 12px;
  background:#fff;
  border:1.5px solid var(--dl-soft);
  border-radius:12px;
}
.dl-mem-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;
  margin-bottom:5px;color:var(--dl-main);
}
.dl-mem-tag::before{content:'♥';font-size:9px;color:var(--dl-hot);}
/* 四段配色：大总结金 / 长记紫 / 小总结热粉 / 下步橙 */
.dl-mem-sec:nth-child(1){border-left:3px solid var(--dl-gold);background:linear-gradient(90deg,rgba(255,200,77,.10),#fff);}
.dl-mem-sec:nth-child(2){border-left:3px solid var(--dl-main);}
.dl-mem-sec:nth-child(3){border-left:3px solid var(--dl-hot);}
.dl-mem-sec:nth-child(4){border-left:3px solid var(--dl-orange);}
.dl-mem-sec:nth-child(1) .dl-mem-tag{color:#C79A1F;}
.dl-mem-sec:nth-child(2) .dl-mem-tag{color:var(--dl-main);}
.dl-mem-sec:nth-child(3) .dl-mem-tag{color:var(--dl-hot);}
.dl-mem-sec:nth-child(4) .dl-mem-tag{color:#E07A2E;}
.dl-mem-txt{font-size:12.5px;line-height:1.6;color:var(--dl-text);word-break:break-word;}
.dl-mem-txt em{font-style:normal;color:#C79A1F;font-weight:800;}
.dl-mem-txt strong{font-style:normal;color:var(--dl-hot);font-weight:800;}

/* ── 7. 行动选项 .dl-actions（霓虹序号）── */
.dl-act-list{padding:6px 0;}
.dl-act-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 14px;
  border-bottom:1px dashed var(--dl-line-soft);
  font-size:12.5px;line-height:1.5;
}
.dl-act-item:last-child{border-bottom:none;}
.dl-act-n{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#B36BFF,#FF5D8F);color:#fff;font-size:11px;font-weight:900;
  box-shadow:0 0 0 2px #fff,0 0 0 3px var(--dl-soft);
}
.dl-act-t{flex:1;color:var(--dl-text);}

/* ── 响应式 ── */
@media (max-width:480px){
  .dl-self,.dl-npc-bar,.dl-memory,.dl-actions,.dl-chain{margin:8px auto 0;border-radius:14px;}
  .dl-self>summary,.dl-npc-bar>summary,.dl-memory>summary,.dl-actions>summary{padding:10px 12px;font-size:11px;}
  .dl-s-row,.dl-n-row,.dl-act-item{padding:7px 12px 7px 11px;gap:8px;font-size:11.5px;}
  .dl-s-ic,.dl-n-ic{width:22px;height:22px;font-size:12px;}
  .dl-s-l,.dl-n-l{font-size:9px;min-width:30px;}
  .dl-s-v,.dl-n-v{font-size:11.5px;}
  .dl-mem-sec{padding:8px 10px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
