/* ========== 内置CSS · 《白嫖卷》 ========== */
/* ========== 暖米白纸感 · 舒适耐读版（v6） ========== */
/* 说明：①变量置于:root（壳丢失时var()仍生效）②选择器无前缀，作用于气泡内内容
   ③平台自动包裹 .khorra-output——已为其强制暖米白底色，防默认白底 */

/* ---------- 0. CSS变量 ---------- */
:root{
  --bg:#f6f2e9; --surface:#fffdf8; --surface2:#f4efe4; --surface3:#ece5d6;
  --line:#e4dcc8; --line2:#d5cbb2;
  --text:#3d3a33; --dim:#8a8374; --faint:#a89f8d;
  --cyan:#2f8fc9; --cyan2:#3a9fdb; --cyan-dim:#b8d8ea;
  --pink:#c25f80; --pink2:#b04f70; --pink-dim:#eec9d6;
  --amber:#e8933a; --amber2:#ffab4a; --amber-dim:#f0d3a8;
  --green:#5f9e73; --red:#c96060;
  --purple:#7a68a8; --purple-dim:#d5cbeb;
  --gold:#c9973f;
  --dark-bg:#2e3d52; --dark-line:#42536c; --dark-text:#eef3f8;
}
.khorra-output{
  /* 不设背景色——内容直接落在平台回复气泡上，由气泡提供底色与内边距 */
  color:var(--text); line-height:1.9;
}

/* ---------- 1. 根排版 ---------- */
.narrative-p{
  margin:10px 0; font-size:.94rem; line-height:2; color:var(--text);
  text-indent:2em; /* 中文段落首行缩进 */
}
.inner-monologue{
  margin:10px 0; padding:10px 14px;
  background:linear-gradient(135deg,#fdeef2,#f8e3ea);
  border-left:3px solid var(--pink2);
  color:#7a4a58; font-size:.86rem; line-height:1.9;
  border-radius:0 8px 8px 0;
}

/* ---------- 2. 前置检查（深色思维链 · 保留深色块做层次） ---------- */
details.cot-check-details{
  margin:8px 0; background:var(--dark-bg); border:1px solid var(--dark-line);
  border-radius:8px; padding:0; overflow:hidden;
}
details.cot-check-details > summary{
  cursor:pointer; padding:10px 14px; color:#cfe0f0; font-size:.8rem;
  font-weight:700; letter-spacing:.1em; list-style:none;
  background:linear-gradient(120deg,#35465e,#2a3a4f);
}
details.cot-check-details > summary::-webkit-details-marker{ display:none; }
details.cot-check-details > summary::before{ content:"🧪 "; }
details.cot-check-details[open] > summary{ border-bottom:1px solid var(--dark-line); }
details.cot-check-details .details-body{ padding:10px 14px; }
details.cot-check-details .cot-exec-content{
  font-size:.72rem; line-height:2; color:#b8c9dd; white-space:pre-wrap;
  font-family:Consolas,'Courier New',monospace;
}
details.cot-check-details .cot-exec-content b{ color:var(--gold); }

/* ---------- 3. 时间锚头（深藏青块） ---------- */
.time-header{
  margin:12px 0; padding:12px 16px;
  background:var(--dark-bg);
  background:linear-gradient(135deg,#35465e,#243447);
  border:1px solid var(--dark-line); border-left:4px solid var(--cyan);
  border-radius:6px; color:var(--dark-text);
}
.time-row-main{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.time-day{ font-size:.88rem; font-weight:700; color:#ffd27a; letter-spacing:.08em; }
.time-sep{ color:#6d7f96; }
.time-period{ font-size:.76rem; color:#cfe0f0; }
.time-clock{
  font-size:.72rem; color:#ffe3a8; background:rgba(255,210,122,.12);
  border:1px solid rgba(255,210,122,.32); padding:1px 10px; border-radius:10px;
}
.time-row-loc{ margin-top:6px; font-size:.78rem; color:#b8c9dd; }
.time-row-weather{ margin-top:2px; font-size:.74rem; color:#a3b4c8; }
.time-divider{
  margin:8px 0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(62,198,255,.45),transparent);
}

/* ---------- 4. 对话系统 · 无头像文字气泡 ---------- */
/* 当前女主：名字在上，浅粉气泡在左 */
.jy-msg{ margin:10px 0; }
.jy-name{
  display:block; font-size:.74rem; font-weight:700; letter-spacing:.14em;
  color:var(--pink); line-height:1.4; margin-bottom:2px;
}
.jy-text{
  display:block; max-width:88%;
  background:linear-gradient(135deg,#fdeef2,#f9e4ec);
  border:1px solid #f0cdd9; border-left:3px solid var(--pink2);
  border-radius:4px 14px 14px 14px;
  padding:8px 14px; color:#5a3a44; line-height:1.8; font-size:.9rem;
}
/* 玩家：名字在右，浅青气泡在右 */
.us-msg{ margin:10px 0; }
.us-name{ display:block; text-align:right; font-size:.72rem; font-weight:700; letter-spacing:.14em; color:var(--cyan); margin-bottom:2px; }
.us-text{
  display:block; margin-left:auto; max-width:80%; text-align:left;
  background:linear-gradient(135deg,#eef7fb,#e3f0f7);
  border:1px solid #cfe4f0; border-right:3px solid var(--cyan);
  border-radius:14px 4px 14px 14px; padding:8px 14px;
  color:#3f5a6e; line-height:1.8; font-size:.9rem;
}
/* 路人NPC：居中灰 */
.npc-msg{ margin:6px 0 6px 12px; text-align:left; }
.npc-name{ font-size:.72rem; font-weight:700; letter-spacing:.14em; color:var(--dim); display:block; margin-bottom:2px; }
.npc-text{
  display:inline-block; max-width:85%; text-align:left;
  background:rgba(255,255,255,.8); border:1px solid var(--line);
  border-radius:14px; padding:8px 14px; color:#5a564c; line-height:1.8; font-size:.9rem;
}

/* ---------- 5. App 主界面面板 ---------- */
details.app-panel{
  margin:12px 0; border:1px solid #a9c6da; border-radius:10px;
  background:#eef5fa; overflow:hidden;
  box-shadow:0 2px 10px rgba(60,110,150,.12);
}
details.app-panel > summary{
  cursor:pointer; padding:11px 16px; list-style:none;
  background:var(--dark-bg);
  background:linear-gradient(120deg,#2e4a6e,#3a5a80);
  color:#f2f6fa; font-size:.86rem; font-weight:700; letter-spacing:.08em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.app-panel > summary::-webkit-details-marker{ display:none; }
details.app-panel > summary::before{ content:"▾ "; color:#ffd27a; }
details.app-panel[open] > summary::before{ content:"▸ "; }
details.app-panel > summary .panel-summary-sub{
  margin-left:auto; font-size:.62rem; font-weight:400; letter-spacing:.2em;
  color:#9fb4cc; font-family:Consolas,monospace;
}
details.app-panel .details-body{ padding:14px 16px; }
.app-statusbar{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:8px 10px; background:var(--surface2); border:1px solid var(--line);
  border-radius:8px; margin-bottom:10px;
}
.app-id{ font-size:.78rem; font-weight:700; color:var(--cyan); letter-spacing:.06em; }
.app-lv{ font-size:.64rem; color:#7a93a8; border:1px solid #d0dde8; padding:0 8px; border-radius:10px; }
.app-ticket{
  margin-left:auto; font-size:.78rem; font-weight:800; color:#5a3a00;
  background:linear-gradient(135deg,#ffd27a,#ffb347);
  border:1px solid #ecc68a; padding:2px 12px; border-radius:12px;
  box-shadow:0 1px 6px rgba(232,147,58,.35); letter-spacing:.04em;
}
.app-task-head{
  font-size:.78rem; font-weight:700; color:var(--text);
  letter-spacing:.12em; margin-bottom:8px;
}
.app-task-count{ color:var(--cyan); margin-left:6px; font-size:.72rem; }
.app-task-list{ display:flex; flex-direction:column; gap:6px; }
.app-task-item{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:8px 12px; border-radius:8px;
  background:#faf7ef; border:1px solid var(--line);
}
.app-task-item.done{ background:#eef6ef; border-color:#cfe3d4; }
.app-task-item.fail{ background:#fdf0f0; border-color:#eccccc; }
.app-task-star{ font-size:.72rem; color:var(--amber); min-width:28px; }
.app-task-text{ flex:1; min-width:0; font-size:.8rem; color:var(--text); line-height:1.7; }
.app-task-item.done .app-task-text{ color:#4a7a5c; }
.app-task-item.fail .app-task-text{ color:#a05a5a; text-decoration:line-through; }
.app-task-reward{ font-size:.7rem; color:#a06a1e; font-weight:700; white-space:nowrap; }
.app-task-state{ font-size:.66rem; padding:1px 8px; border-radius:10px; white-space:nowrap; }
.app-task-state.todo{ color:#7a93a8; border:1px solid #d0dde8; }
.app-task-state.ok{ color:#3f7a52; border:1px solid #a9cfb4; }
.app-task-state.no{ color:#b04a4a; border:1px solid #e0a8a8; }
.app-foot{
  margin-top:10px; padding-top:10px; border-top:1px dashed var(--line);
  display:flex; gap:8px; flex-wrap:wrap; font-size:.7rem;
}
.app-refresh{ color:var(--faint); }
.app-target{ color:var(--pink); font-weight:700; margin-left:auto; letter-spacing:.06em; }

/* ---------- 6. 通用面板骨架 ---------- */
details.panel-details{
  margin:10px 0; border:1px solid #d6ccb6; border-radius:8px;
  background:#f7f4ec; overflow:hidden;
  box-shadow:0 1px 6px rgba(90,80,60,.08);
}
details.panel-details > summary{
  cursor:pointer; padding:11px 16px; list-style:none;
  background:var(--dark-bg);
  background:linear-gradient(120deg,#2e4a6e,#3a5a80);
  color:#f2f6fa; font-size:.86rem; font-weight:700; letter-spacing:.08em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
details.panel-details > summary::-webkit-details-marker{ display:none; }
details.panel-details > summary::before{ content:"▾ "; color:#ffd27a; }
details.panel-details[open] > summary::before{ content:"▸ "; }
details.panel-details > summary .panel-summary-icon{ font-size:.9rem; }
details.panel-details > summary .panel-summary-sub{
  margin-left:auto; font-size:.62rem; font-weight:400; letter-spacing:.2em;
  color:#9fb4cc; font-family:Consolas,monospace;
}
details.panel-details .panel-body{ padding:14px 16px; }

/* ---------- 7. 当前女主档案（无立绘 · emoji徽章版） ---------- */
details.heroine-panel{ border-color:#e0c2cd; background:#fdf3f6; }
details.heroine-panel > summary{
  background:linear-gradient(120deg,#b85c7e,#a34a6c);
  color:#fff0f5;
}
details.heroine-panel > summary::before{ color:#ffd7e6; }
.heroine-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.heroine-badge{
  width:60px; height:60px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem;
  background:linear-gradient(135deg,#fdeef2,#f8e3ea);
  border:2px solid #eec9d6; box-shadow:0 2px 10px rgba(194,95,128,.2);
}
.heroine-headinfo{ display:flex; flex-direction:column; gap:3px; }
.heroine-hname{ font-size:1.1rem; font-weight:800; color:#a14d6d; letter-spacing:.16em; }
.heroine-class{ font-size:.72rem; color:#b07a90; }
.heroine-next{
  display:inline-block; font-size:.68rem; color:#fff;
  background:linear-gradient(120deg,#e8933a,#ffab4a);
  padding:2px 10px; border-radius:10px; letter-spacing:.08em; font-weight:700;
  width:fit-content; box-shadow:0 1px 6px rgba(232,147,58,.3);
}
.heroine-status{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.heroine-status span{
  font-size:.72rem; color:var(--text); background:var(--surface2);
  border:1px solid var(--line); padding:3px 10px; border-radius:8px;
}
.heroine-status b{ color:var(--cyan); }
.heroine-sub{ display:flex; flex-direction:column; gap:8px; }
.heroine-sub .sub-block{ padding:9px 12px; border-radius:6px; }
.heroine-sub .sub-block:nth-child(1){ background:#faf7ef; border:1px solid var(--line); }
.heroine-sub .sub-block.thoughts{ background:#fdeef2; border:1px solid #f0cdd9; }
.sub-label{ font-size:.7rem; font-weight:700; color:var(--pink); letter-spacing:.12em; margin-bottom:3px; }
.sub-text{ font-size:.8rem; color:var(--text); line-height:1.8; }

/* ---------- 8. 隐秘档案（深玫红头 · 浅粉体） ---------- */
details.secret-details{
  margin:12px 0 0; border:1px solid #e8b8c6; border-radius:6px; overflow:hidden;
}
details.secret-details > summary{
  cursor:pointer; padding:9px 14px; list-style:none;
  background:linear-gradient(120deg,#8c2f4d,#a84363);
  color:#ffeef3; font-size:.8rem; font-weight:700; letter-spacing:.1em;
  display:flex; align-items:center; gap:8px;
}
details.secret-details > summary::-webkit-details-marker{ display:none; }
details.secret-details > summary::before{ content:"▾ "; }
details.secret-details[open] > summary::before{ content:"▸ "; }
details.secret-details .secret-badge{
  margin-left:auto; font-size:.6rem; color:#ffd7e2; border:1px solid #ffd7e2;
  padding:1px 8px; border-radius:10px; letter-spacing:.2em;
}
details.secret-details .secret-body{ padding:12px 14px; background:#f9e9ef; }
details.secret-details .secret-eye{ font-size:.72rem; color:#b06a7e; margin-bottom:8px; }
details.secret-details .secret-grid{ display:grid; grid-template-columns:1fr; gap:8px; }
details.secret-details .secret-item{
  background:#fff; border:1px solid #f3d7df; border-radius:6px; padding:8px 10px;
}
details.secret-details .secret-label{ font-size:.72rem; color:#c08597; font-weight:700; }
details.secret-details .secret-text{ font-size:.82rem; color:#5a3f48; margin-top:2px; }
details.secret-details .secret-note{ margin-top:8px; font-size:.68rem; color:#b58b98; line-height:1.8; }

/* ---------- 9. 记录面板 · 情报中心 ---------- */
details.record-panel{ border-color:#cbbfe2; background:#f6f3fb; }
details.record-panel > summary{
  background:linear-gradient(120deg,#5b4a8a,#6d5aa8);
  color:#f0ecff;
}
details.record-panel > summary::before{ color:#d5c8ff; }
details.record-panel > summary .panel-summary-sub{ color:#c4b8e8; }
.mem-sec{ margin-bottom:12px; }
.mem-sec:last-child{ margin-bottom:0; }
.mem-sec-label{
  font-size:.7rem; font-weight:700; color:#7a68a8;
  letter-spacing:.12em; margin-bottom:6px;
}
/* 9.1 攻略情报表（每人一条可折叠） */
.info-wrap{ margin-bottom:6px; }
.info-wrap:last-child{ margin-bottom:0; }
.info-details{
  border-radius:8px; overflow:hidden;
  background:#fff; border:1px solid #ddd3f0; border-left:3px solid var(--purple);
}
.info-details > summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:8px 12px;
}
.info-details > summary::-webkit-details-marker{ display:none; }
.info-details > summary::after{ content:"▾"; margin-left:auto; color:#a89acf; font-size:.72rem; }
.info-details[open] > summary::after{ content:"▴"; }
.info-details[open] > summary{ border-bottom:1px solid #e6def5; }
.info-details .info-body{ padding:8px 12px; background:#f3effb; }
.info-name{ font-size:.82rem; font-weight:800; color:#5b4a8a; letter-spacing:.08em; }
.info-role{ font-size:.66rem; color:#8a7ac0; border:1px solid #ddd3f0; padding:0 8px; border-radius:10px; white-space:nowrap; }
.info-tag{
  font-size:.66rem; color:#fff; background:linear-gradient(135deg,#e8933a,#ffab4a);
  padding:1px 9px; border-radius:10px; font-weight:700; white-space:nowrap;
}
.info-times{ font-size:.66rem; color:#a06a1e; border:1px solid #ecd9b4; padding:0 8px; border-radius:10px; white-space:nowrap; }
.info-line{ font-size:.74rem; color:#6b655a; line-height:1.7; }
/* 9.2 事件流水 */
.event-row{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#f7f9fc; border:1px solid #dbe3ec;
  font-size:.74rem; color:#5a616e; line-height:1.7;
}
.event-row:last-child{ margin-bottom:0; }
.event-time{ color:#2f8fc9; font-weight:700; margin-right:4px; }
/* 9.3 警惕与躲闪 */
.warn-row{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#fdf3f3; border:1px solid #eccccc; border-left:3px solid var(--red);
  font-size:.74rem; color:#8f4a4a; line-height:1.7;
}
.warn-row:last-child{ margin-bottom:0; }
.warn-empty{
  padding:6px 10px; border-radius:6px; border:1px dashed var(--line);
  font-size:.72rem; color:var(--faint);
}
/* 9.4 进行中 */
.todo-row{
  padding:6px 10px; margin-bottom:5px; border-radius:6px;
  background:#f0f7fb; border:1px solid #cfe0ec; border-left:3px solid var(--cyan);
  font-size:.74rem; color:#4a6272; line-height:1.7;
}
.todo-row:last-child{ margin-bottom:0; }
.todo-empty{
  padding:6px 10px; border-radius:6px; border:1px dashed var(--line);
  font-size:.72rem; color:var(--faint);
}
.record-empty{
  padding:14px; text-align:center; font-size:.8rem; color:var(--faint);
  border:1px dashed var(--line); border-radius:8px;
}

/* ---------- 10. 选择面板 ---------- */
.choice-panel{
  margin:14px 0; padding:12px 14px; background:#f7f3e9;
  border:1px solid #d6ccb6; border-radius:8px;
  box-shadow:0 1px 6px rgba(90,80,60,.08);
}
.choice-header{ margin-bottom:10px; }
.choice-title{ font-size:.82rem; font-weight:700; color:#2f6f9e; letter-spacing:.08em; }
.choice-list{ display:flex; flex-direction:column; gap:8px; }
.choice-card{
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  cursor:pointer; transition:all .2s ease;
}
.choice-card:hover{ border-color:#a8cfe8; box-shadow:0 2px 10px rgba(47,143,201,.12); }
.choice-card[data-choice="1"]{ border-left:3px solid var(--cyan); }
.choice-card[data-choice="2"]{ border-left:3px solid var(--amber); }
.choice-card[data-choice="3"]{ border-left:3px solid var(--pink); }
.choice-card.choice-skip{ border-left:3px dashed #c5bdb0; opacity:.75; }
.choice-left{ flex:1; min-width:0; }
.choice-label{
  display:block; font-size:.66rem; color:var(--cyan); font-weight:700;
  letter-spacing:.14em; margin-bottom:2px;
}
.choice-card[data-choice="2"] .choice-label{ color:var(--amber); }
.choice-card[data-choice="3"] .choice-label{ color:var(--pink); }
.choice-card.choice-skip .choice-label{ color:#a89f8d; }
.choice-text{ display:block; font-size:.8rem; color:var(--text); line-height:1.8; }
.choice-arrow{ color:#c5bdb0; font-size:.9rem; }

/* ---------- 11. 移动端适配 ---------- */
@media (max-width:640px){
  .khorra-output{ line-height:1.85; }
  .narrative-p{ font-size:.88rem; line-height:1.95; }
  .inner-monologue{ font-size:.82rem; padding:9px 12px; }
  .jy-msg,.us-msg{ margin:9px 0; }
  .jy-name,.us-name{ font-size:.7rem; }
  .jy-text{ max-width:96%; font-size:.88rem; padding:7px 12px; }
  .us-text{ max-width:calc(100% - 30px); font-size:.88rem; padding:7px 12px; }
  .npc-name{ font-size:.68rem; }
  .npc-text{ font-size:.86rem; }
  .jy-text,.us-text,.npc-text{ overflow-wrap:break-word; word-break:break-word; }
  .time-header{ padding:10px 12px; }
  .time-row-main{ gap:6px; }
  .time-day{ font-size:.82rem; }
  .time-period{ font-size:.7rem; }
  .time-clock{ font-size:.66rem; padding:1px 8px; }
  .time-row-loc{ font-size:.74rem; }
  .time-row-weather{ font-size:.7rem; }
  details.app-panel > summary,details.panel-details > summary{ padding:10px 12px; font-size:.82rem; }
  details.app-panel .details-body{ padding:12px 12px; }
  .app-statusbar{ gap:6px; padding:7px 9px; }
  .app-id{ font-size:.74rem; }
  .app-ticket{ font-size:.74rem; padding:2px 10px; }
  .app-task-head{ font-size:.74rem; }
  .app-task-item{ flex-wrap:wrap; gap:6px; padding:7px 10px; }
  .app-task-star{ min-width:24px; }
  .app-task-text{ font-size:.78rem; }
  .app-task-reward{ font-size:.68rem; }
  .app-task-state{ margin-left:auto; font-size:.62rem; }
  .app-foot{ font-size:.66rem; gap:6px; }
  .heroine-head{ gap:10px; }
  .heroine-badge{ width:48px; height:48px; font-size:1.35rem; }
  .heroine-hname{ font-size:.98rem; }
  .heroine-class{ font-size:.68rem; }
  .heroine-next{ font-size:.64rem; padding:2px 8px; }
  .heroine-status{ gap:6px; }
  .heroine-status span{ font-size:.68rem; padding:3px 8px; }
  .sub-label{ font-size:.66rem; }
  .sub-text{ font-size:.78rem; }
  .secret-body{ padding:10px 10px; }
  .secret-item{ padding:7px 9px; }
  .secret-label{ font-size:.68rem; }
  .secret-text{ font-size:.78rem; }
  .mem-sec{ margin-bottom:10px; }
  .mem-sec-label{ font-size:.66rem; }
  .info-details > summary{ padding:7px 10px; gap:6px; }
  .info-name{ font-size:.78rem; }
  .info-role{ font-size:.6rem; padding:0 6px; }
  .info-tag,.info-times{ font-size:.6rem; padding:0 7px; }
  .info-details .info-body{ padding:7px 10px; }
  .info-line{ font-size:.7rem; }
  .event-row,.warn-row,.todo-row{ font-size:.7rem; padding:5px 9px; }
  .choice-panel{ padding:10px 10px; }
  .choice-card{ padding:9px 10px; gap:8px; }
  .choice-label{ font-size:.62rem; }
  .choice-text{ font-size:.78rem; }
  .record-empty{ font-size:.74rem; padding:12px; }
  details.cot-check-details > summary{ padding:9px 12px; font-size:.76rem; }
  details.cot-check-details .cot-exec-content{ font-size:.66rem; }
  .secret-note{ font-size:.62rem; }
  .warn-empty,.todo-empty{ font-size:.66rem; padding:5px 9px; }
}
@media (max-width:400px){
  .jy-text{ max-width:98%; }
  .us-text{ max-width:calc(100% - 16px); }
  .time-clock{ display:inline-block; margin-top:2px; }
  .heroine-status span{ flex:1 1 42%; }
  .choice-card .choice-arrow{ display:none; }
  .info-role{ display:none; }
  details.app-panel > summary .panel-summary-sub,
  details.panel-details > summary .panel-summary-sub{ display:none; }
}

/* ---------- 12. 跨平台适配补丁v2（纯色兜底·防白字·防渐变丢失） ---------- */
/* .khorra-output 不设背景（内容直接落在平台气泡上）；仅兜底文字色 */
.khorra-output{ color:#3d3a33; }
/* 折叠标题栏：先纯色打底、再渐变增强 */
details.app-panel > summary{
  color:#f2f6fa !important;
  background:#2e4a6e !important;
  background:linear-gradient(120deg,#2e4a6e,#3a5a80) !important;
}
details.panel-details > summary{
  color:#f2f6fa !important;
  background:#2e4a6e !important;
  background:linear-gradient(120deg,#2e4a6e,#3a5a80) !important;
}
details.heroine-panel > summary{
  color:#fff0f5 !important;
  background:#b85c7e !important;
  background:linear-gradient(120deg,#b85c7e,#a34a6c) !important;
}
details.record-panel > summary{
  color:#f0ecff !important;
  background:#5b4a8a !important;
  background:linear-gradient(120deg,#5b4a8a,#6d5aa8) !important;
}
details.secret-details > summary{
  color:#ffeef3 !important;
  background:#8c2f4d !important;
  background:linear-gradient(120deg,#8c2f4d,#a84363) !important;
}
details.cot-check-details{
  background:#2e3d52 !important;
  border:1px solid #42536c !important;
}
details.cot-check-details > summary{
  color:#cfe0f0 !important;
  background:#35465e !important;
}
/* 时间头：深藏青纯色兜底 */
.time-header{
  color:#eef3f8 !important;
  background:#2e3d52 !important;
  background:linear-gradient(135deg,#35465e,#243447) !important;
}
/* 浅色面上文字强制显式深色（暖米白主题，防平台默认白字/黑字串台） */
.narrative-p,.us-text,.jy-text,.npc-text,.sub-text,.choice-text,
.app-task-text,.app-refresh,.app-target,
.info-line,.event-row,.warn-row,.todo-row,.record-empty,
.heroine-status span{
  color:#3d3a33;
}
/* 隐秘档案四条目：单列上下排（不依赖@media） */
details.secret-details .secret-grid{ grid-template-columns:1fr !important; }
