/* ═══════════════════════════════════════════════════════════════
   《僵尸毁灭工程》· 聊天界面CSS —— 视觉身份「1993·肯塔基州生存装备」
   军械橄榄 #4A5334 · 路障橙 #E87A2A · 警示红 #C1272D · 磷光绿 #A8C256
   旧纸 #EDE6D2 · 帆布 #26221A · 夜雾 #1A1712 · 血锈 #8C2F2B
   道具语汇：路障胶带 / 旧军帆布 / 路牌 / 罐头标签 / 手写登记卡
   新组件：.dl-needs 生存需求 · .dl-skills 技能熟练度 · .dl-loot 搜刮结算 · .dl-map 肯塔基州地图
   ═══════════════════════════════════════════════════════════════ */
:root{
  --pz-bg:#1A1712;            /* 夜雾黑 */
  --pz-panel:#26221A;         /* 帆布深卡 */
  --pz-panel2:#2E2A1F;        /* 帆布亮卡 */
  --pz-line:#4A4533;          /* 缝线 */
  --pz-soft:rgba(200,185,140,.22);
  --pz-paper:#EDE6D2;         /* 旧纸 */
  --pz-ink:#F2EEDC;           /* 纸面主字 */
  --pz-ink2:#C9C0A2;          /* 次级字 */
  --pz-ink3:#8F8769;          /* 弱化字 */
  --pz-green:#A8C256;         /* 磷光绿 */
  --pz-olive:#4A5334;         /* 军械橄榄 */
  --pz-orange:#E87A2A;        /* 路障橙 */
  --pz-red:#C1272D;           /* 警示红 */
  --pz-rust:#8C2F2B;          /* 血锈 */
  --pz-gold:#D9B36C;          /* 黄铜 */
  --pz-blue:#5E7EA8;          /* 警用蓝 */
  --pz-radius:6px;
  --pz-font:-apple-system,'PingFang SC','Microsoft YaHei','SimSun',sans-serif;
}
.dl-chain,.dl-self,.dl-cast,.dl-memory,.dl-actions,.dl-needs,.dl-skills,.dl-loot,.dl-map{
  width:100%;max-width:none;box-sizing:border-box;
  background:var(--pz-panel);border:1px solid var(--pz-line);
  border-radius:var(--pz-radius);margin:10px 0 0;
  box-shadow:0 2px 10px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
  font-family:var(--pz-font);color:var(--pz-ink);font-size:14px;line-height:1.65;
}
.dl-chain>summary,.dl-self>summary,.dl-cast>summary,.dl-memory>summary,
.dl-actions>summary,.dl-needs>summary,.dl-skills>summary,.dl-loot>summary,.dl-map>summary{
  list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;
  padding:10px 12px;user-select:none;
  background:linear-gradient(180deg,var(--pz-panel2),var(--pz-panel));
  border-radius:var(--pz-radius);
}
.dl-chain>summary::-webkit-details-marker,.dl-self>summary::-webkit-details-marker,
.dl-cast>summary::-webkit-details-marker,.dl-memory>summary::-webkit-details-marker,
.dl-actions>summary::-webkit-details-marker,.dl-needs>summary::-webkit-details-marker,
.dl-skills>summary::-webkit-details-marker,.dl-loot>summary::-webkit-details-marker,.dl-map>summary::-webkit-details-marker{display:none;}
.dl-chain>summary span:first-child,.dl-self>summary span:first-child,.dl-cast>summary span:first-child,
.dl-memory>summary span:first-child,.dl-actions>summary span:first-child,.dl-needs>summary span:first-child,
.dl-skills>summary span:first-child,.dl-loot>summary span:first-child,.dl-map>summary span:first-child{
  display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.5px;
}
.dl-chain-arrow,.dl-self-arrow,.dl-cast-arrow,.dl-mem-arrow,.dl-act-arrow,.nd-arrow,.sk-arrow,.lo-arrow,.mp-arrow{margin-left:auto;color:var(--pz-ink3);font-size:12px;}
.dl-chain-ic,.dl-self-ic,.dl-cast-ic,.dl-mem-ic,.dl-act-ic,.nd-ico,.sk-ico,.lo-ico,.mp-ico{font-size:15px;}

/* ═══ 状态栏 2×2：时间/地点/生命/负重 ═══ */
.status-bar{
  width:100%;max-width:none;box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  margin:12px 0 0;font-family:var(--pz-font);
}
.st-item{
  display:flex;align-items:center;gap:9px;min-width:0;padding:9px 11px;
  background:var(--pz-panel);border:1px solid var(--pz-line);border-radius:var(--pz-radius);
  color:var(--pz-ink);font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.st-time,.st-loc{min-width:0;}
.st-ico{font-size:16px;flex-shrink:0;}
.st-ct{display:flex;flex-direction:column;min-width:0;flex:1;}
.st-value{font-weight:800;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.st-sub{font-size:11px;color:var(--pz-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.st-tag{flex-shrink:0;font-size:11px;font-weight:900;padding:2px 7px;border-radius:3px;border:1px solid transparent;}
.is-day .st-tag{color:#2B1F0A;background:var(--pz-gold);}
.is-night .st-tag{color:#0D1020;background:var(--pz-blue);}
.is-late .st-tag{color:#1A090A;background:#7A6A88;}
.st-bar{flex-shrink:0;width:52px;height:6px;border-radius:3px;background:rgba(0,0,0,.5);overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.st-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pz-green),var(--pz-gold));}
.st-hp .st-bar i{background:linear-gradient(90deg,var(--pz-red),var(--pz-orange));}
.st-load .st-bar i{background:linear-gradient(90deg,var(--pz-olive),var(--pz-green));}
.st-up .st-value{color:var(--pz-green);animation:pzPulse .6s ease;}
.st-down .st-value{color:var(--pz-red);animation:pzPulse .6s ease;}
@keyframes pzPulse{50%{opacity:.45;}}

/* ═══ 思维链 ═══ */
.dl-chain-body{padding:10px 14px 12px;font-size:12.5px;color:var(--pz-ink2);white-space:pre-wrap;border-top:1px dashed var(--pz-soft);}

/* ═══ 主角档案 14行 / 在场人物 6行 ═══ */
.dl-self-row{display:flex;align-items:flex-start;gap:9px;padding:6px 12px;border-top:1px dashed rgba(200,185,140,.14);font-size:12.5px;}
.dl-self-row:first-of-type{border-top:none;}
.dl-s-ic{flex-shrink:0;font-size:13px;opacity:.85;}
.dl-s-l{flex-shrink:0;width:46px;color:var(--pz-gold);font-weight:800;letter-spacing:1px;}
.dl-s-v{flex:1;color:var(--pz-ink2);}
.dl-s-v.changed,.dl-self-row.changed .dl-s-v{color:var(--pz-ink);font-weight:700;}
.law-clean{color:var(--pz-green);font-weight:800;}
.law-record{color:var(--pz-orange);font-weight:800;}
.law-warning{color:var(--pz-red);font-weight:900;animation:pzBlink 1.4s steps(2) infinite;}
.rep-tag{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:900;border:1px solid;}
.rp-new{color:var(--pz-blue);border-color:rgba(94,126,168,.5);}
.rp-known{color:var(--pz-green);border-color:rgba(168,194,86,.5);}
.rp-backed{color:var(--pz-gold);border-color:rgba(217,179,108,.5);}
.rp-suspect{color:var(--pz-orange);border-color:rgba(232,122,42,.5);}
.rp-banned{color:var(--pz-red);border-color:rgba(193,39,45,.6);}
.neg-clean{color:var(--pz-green);font-weight:800;}
.neg-minor{color:var(--pz-orange);font-weight:800;}
.neg-major{color:var(--pz-red);font-weight:900;animation:pzBlink 1.4s steps(2) infinite;}
.dl-self-rank{display:inline-block;min-width:20px;text-align:center;padding:1px 5px;border-radius:3px;font-weight:900;font-size:11px;color:#151310;}
.rk-s{background:var(--pz-gold);}
.rk-a{background:var(--pz-blue);}
.rk-b{background:var(--pz-green);}
.rk-c{background:var(--pz-orange);}
.rk-d{background:var(--pz-red);color:#F5EDD8;}
@keyframes pzBlink{50%{opacity:.45;}}

/* ═══ 生存需求状态栏（醒目主玩法·常开） ═══ */
.dl-needs{border-color:var(--pz-orange);}
.dl-needs>summary{background:linear-gradient(180deg,#3A2C17,#26221A);}
.nd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 12px 12px;border-top:1px dashed var(--pz-soft);}
.nd-chip{
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:var(--pz-radius);
  border:1px solid var(--pz-line);background:var(--pz-panel2);text-align:center;
}
.nd-chip .nd-ic{font-size:17px;}
.nd-chip .nd-nm{font-size:11px;color:var(--pz-ink2);font-weight:800;letter-spacing:1px;}
.nd-chip .nd-st{font-size:11.5px;font-weight:900;color:var(--pz-ink3);}
.nd-chip.nd-ok{border-color:rgba(168,194,86,.45);}
.nd-chip.nd-ok .nd-st{color:var(--pz-green);}
.nd-chip.nd-warn{border-color:rgba(217,179,108,.5);}
.nd-chip.nd-warn .nd-st{color:var(--pz-gold);}
.nd-chip.nd-bad{border-color:rgba(232,122,42,.65);}
.nd-chip.nd-bad .nd-st{color:var(--pz-orange);}
.nd-chip.nd-crit{border-color:rgba(193,39,45,.75);background:#2A1714;}
.nd-chip.nd-crit .nd-st{color:var(--pz-red);animation:pzBlink 1.2s steps(2) infinite;}
.nd-chip.changed{outline:1px dashed var(--pz-orange);outline-offset:1px;}
.nd-note{padding:0 12px 10px;font-size:11px;color:var(--pz-ink3);border-top:1px dashed rgba(200,185,140,.12);}

/* ═══ 肯塔基州地图（每轮必出·默认折叠） ═══ */
.dl-map{border-color:var(--pz-olive);}
.dl-map>summary{background:linear-gradient(180deg,#2A3120,#26221A);}
.mp-body{padding:8px;border-top:1px dashed var(--pz-soft);}
.mp-body img{display:block;width:100%;max-width:none;height:auto;border-radius:4px;border:1px solid var(--pz-line);}

/* ═══ 技能熟练度状态栏（醒目主玩法·常开） ═══ */
.dl-skills{border-color:var(--pz-green);}
.dl-skills>summary{background:linear-gradient(180deg,#2A3120,#26221A);}
.dl-skills .sk-grp{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:8px 12px;border-top:1px dashed rgba(200,185,140,.14);}
.sk-grp-t{grid-column:1/-1;font-size:11px;font-weight:900;letter-spacing:2px;color:var(--pz-gold);margin-top:2px;}
.sk-row{display:flex;align-items:center;gap:6px;min-width:0;font-size:11.5px;padding:3px 0;}
.sk-ic{flex-shrink:0;font-size:13px;}
.sk-nm{flex-shrink:0;width:62px;color:var(--pz-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sk-lv{flex-shrink:0;font-size:10.5px;font-weight:900;padding:1px 6px;border-radius:3px;background:rgba(255,255,255,.06);color:var(--pz-ink3);}
.sk-lv.lv0{color:var(--pz-ink3);}
.sk-lv.lv1{color:var(--pz-green);}
.sk-lv.lv2{color:var(--pz-green);}
.sk-lv.lv3{color:var(--pz-gold);}
.sk-lv.lv4{color:var(--pz-orange);}
.sk-lv.lv5,.sk-lv.lv6,.sk-lv.lv7,.sk-lv.lv8,.sk-lv.lv9,.sk-lv.lv10{color:var(--pz-red);}
.sk-bar{flex:1;height:6px;border-radius:3px;background:rgba(0,0,0,.55);overflow:hidden;border:1px solid rgba(255,255,255,.06);}
.sk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pz-olive),var(--pz-green));}
.sk-xp{flex-shrink:0;width:34px;text-align:right;color:var(--pz-ink3);font-size:10.5px;}
.sk-row.changed .sk-nm{color:var(--pz-ink);font-weight:800;}

/* ═══ 搜刮结算 ═══ */
.dl-loot{border-color:var(--pz-gold);}
.dl-loot>summary{background:linear-gradient(180deg,#38301B,#26221A);}
.lo-row{display:flex;align-items:flex-start;gap:10px;padding:6px 12px;border-top:1px dashed rgba(200,185,140,.14);font-size:12.5px;}
.lo-row:first-of-type{border-top:none;}
.lo-l{flex-shrink:0;width:46px;color:var(--pz-gold);font-weight:800;letter-spacing:1px;}
.lo-v{flex:1;color:var(--pz-ink2);}
.lo-v b{color:var(--pz-ink);}
.lo-hit{color:var(--pz-green) !important;font-weight:900;}
.lo-miss{color:var(--pz-red) !important;font-weight:900;}
.lo-big{color:var(--pz-orange) !important;font-weight:900;}

/* ═══ 记忆卡 ═══ */
.dl-memory{border-color:var(--pz-blue);}
.dl-memory>summary{background:linear-gradient(180deg,#202A36,#26221A);}
.dl-mem-body{padding:4px 0;}
.dl-mem-sec{display:flex;align-items:flex-start;gap:9px;padding:6px 12px;border-top:1px dashed rgba(200,185,140,.14);font-size:12px;}
.dl-mem-sec:first-child{border-top:none;}
.dl-mem-tag{flex-shrink:0;width:74px;color:var(--pz-blue);font-weight:800;letter-spacing:.5px;}
.dl-mem-txt{flex:1;color:var(--pz-ink2);}
.dl-mem-sec.changed .dl-mem-txt{color:var(--pz-ink);font-weight:700;}
.delta-up{color:var(--pz-green);font-weight:800;}
.delta-down{color:var(--pz-red);font-weight:800;}

/* ═══ 行动选项 ═══ */
.dl-actions{border-color:var(--pz-orange);}
.dl-actions>summary{background:linear-gradient(180deg,#3A2C17,#26221A);}
.dl-act-list{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px;border-top:1px dashed var(--pz-soft);}
.dl-act-item{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:var(--pz-radius);
  background:var(--pz-panel2);border:1px solid var(--pz-line);font-size:12.5px;color:var(--pz-ink2);}
.dl-act-n{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--pz-orange);color:#1A100A;
  font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.dl-act-t{flex:1;line-height:1.6;}

@media (max-width:480px){
  .status-bar{grid-template-columns:1fr;}
  .nd-grid{grid-template-columns:repeat(2,1fr);}
  .dl-skills .sk-grp{grid-template-columns:1fr;}
  .sk-nm{width:70px;}
  .st-bar{width:40px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
}
