/* =========================================================
   临床波普主题 · Clinical Pop-Art Skin (v2 · 记忆区亮色/去斜纹)
   规则：无 body/html/* 、无 :root、无首字下沉、容器内限定
   ========================================================= */

/* ---------- 0. 心电图分隔线 ECG Divider ---------- */
.ecg-line{
  display:block;
  width:100%;
  height:26px;
  margin:16px 0;
  border-radius:4px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='24'%20viewBox='0%200%20120%2024'%3E%3Cdefs%3E%3ClinearGradient%20id='eg'%20x1='0'%20y1='0'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23F8BBD0'/%3E%3Cstop%20offset='0.5'%20stop-color='%23E53935'/%3E%3Cstop%20offset='1'%20stop-color='%23F8BBD0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d='M0,12%20L30,12%20L34,9%20L38,15%20L42,12%20L48,12%20L52,3%20L56,21%20L60,12%20L90,12%20L94,9%20L98,15%20L102,12%20L120,12'%20fill='none'%20stroke='url(%23eg)'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:repeat-x;
  background-position:0 center;
  background-size:120px 24px;
  animation:ecg-scroll 3.2s linear infinite, ecg-breath 2.4s ease-in-out infinite;
}
.ecg-line.ecg-flat{
  height:24px;
  opacity:.9;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='24'%20viewBox='0%200%20240%2024'%3E%3Cdefs%3E%3ClinearGradient%20id='fg'%20x1='0'%20y1='0'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23E53935'/%3E%3Cstop%20offset='0.7'%20stop-color='%23F48FB1'/%3E%3Cstop%20offset='1'%20stop-color='%23F48FB1'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d='M0,12%20L20,12%20L24,9%20L28,15%20L32,12%20L38,12%20L42,4%20L46,20%20L50,12%20L80,12%20L84,10%20L88,14%20L92,12%20L120,12%20L124,11%20L128,13%20L132,12%20L240,12'%20fill='none'%20stroke='url(%23fg)'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 24px;
  animation:ecg-breath 3s ease-in-out infinite;
}
@keyframes ecg-scroll{
  from{background-position:0 center;}
  to{background-position:120px center;}
}
@keyframes ecg-breath{
  0%,100%{opacity:.68;}
  50%{opacity:1;}
}

/* ---------- 1. 卡片通用基座 Base Card ---------- */
.card{
  position:relative;
  margin:14px 0;
  padding:0;
  background:#FFF8F0;
  border:2.5px solid #1A1A1A;
  border-radius:12px;
  box-shadow:5px 5px 0 #F48FB1;
  overflow:hidden;
  font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  color:#2B2B2B;
  line-height:1.75;
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{
  transform:translate(-2px,-2px);
  box-shadow:8px 8px 0 #F06292;
}
.card p{
  margin:6px 14px;
  font-size:15px;
  letter-spacing:.2px;
}
.card b{
  color:#C2185B;
  font-weight:700;
}
.card i{
  color:#AD1457;
  font-style:italic;
}
.card hr{
  border:none;
  height:2px;
  margin:10px 14px;
  background-image:repeating-linear-gradient(
    90deg,#1A1A1A 0,#1A1A1A 8px,transparent 8px,transparent 14px);
  opacity:.55;
}

/* ---------- 2. summary 处方签标题条 ---------- */
.card>summary{
  list-style:none;
  cursor:pointer;
  padding:11px 16px 11px 44px;
  font-size:16px;
  font-weight:800;
  letter-spacing:.5px;
  color:#FFFFFF;
  background:#1A1A1A;
  border-bottom:2.5px solid #1A1A1A;
  position:relative;
  user-select:none;
  transition:background .2s ease, letter-spacing .2s ease;
}
.card>summary::-webkit-details-marker{display:none;}
.card>summary::marker{content:"";}
.card>summary::before{
  content:"✚";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  line-height:20px;
  text-align:center;
  font-size:13px;
  color:#1A1A1A;
  background:#FFFFFF;
  border-radius:50%;
  box-shadow:0 0 0 2px #E53935;
}
.card>summary::after{
  content:"▸";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%) rotate(0deg);
  font-size:14px;
  color:#F48FB1;
  transition:transform .22s ease;
}
.card[open]>summary::after{
  transform:translateY(-50%) rotate(90deg);
}
.card>summary:hover{
  letter-spacing:1.2px;
  background:#2B2B2B;
}

/* ---------- 3. 思维链 消毒水青调 cot-card ---------- */
.cot-card{
  background:
    repeating-linear-gradient(45deg,#EAF7F5 0,#EAF7F5 16px,#E1F2EF 16px,#E1F2EF 32px);
  border-color:#00897B;
  box-shadow:5px 5px 0 #4DB6AC;
}
.cot-card:hover{box-shadow:8px 8px 0 #26A69A;}
.cot-card>summary{
  background:#00695C;
  border-bottom-color:#00897B;
  color:#E0F2F1;
}
.cot-card>summary::before{
  content:"🩺";
  background:#E0F2F1;
  box-shadow:0 0 0 2px #00897B;
  font-size:11px;
}
.cot-card>summary::after{color:#80CBC4;}
.cot-card>summary:hover{background:#00796B;}
.cot-card p,.cot-card li{
  color:#004D40;
  font-size:14.5px;
}
.cot-card>*:not(summary){
  margin:8px 16px;
  padding:8px 12px;
  border-left:3px dashed #00897B;
  background:rgba(255,255,255,.45);
  border-radius:0 8px 8px 0;
}
.cot-card ul,.cot-card ol{
  margin:8px 16px 8px 30px;
}

/* ---------- 4. 当前情况 now-card ---------- */
.now-card{
  border-color:#1A1A1A;
  box-shadow:5px 5px 0 #90CAF9;
}
.now-card:hover{box-shadow:8px 8px 0 #64B5F6;}
.now-card>summary{
  background:linear-gradient(100deg,#0D47A1,#1565C0);
  border-bottom-color:#0D47A1;
}
.now-card>summary::before{content:"📍";background:#E3F2FD;box-shadow:0 0 0 2px #1565C0;font-size:11px;}
.now-card>summary::after{color:#90CAF9;}
.now-card p{
  padding:2px 4px;
  border-radius:5px;
  transition:background .15s ease;
}
.now-card p:hover{background:rgba(21,101,192,.08);}
.now-card b{color:#0D47A1;}

/* ---------- 5. 正文 story-body ---------- */
.story-body{
  margin:16px 0;
  padding:20px 22px;
  background:
    linear-gradient(#FFFDFB,#FFFDFB) padding-box,
    repeating-linear-gradient(0deg,#F48FB1 0,#F48FB1 6px,#E53935 6px,#E53935 12px) border-box;
  border:3px solid transparent;
  border-radius:14px;
  box-shadow:6px 6px 0 rgba(244,143,177,.55), inset 0 0 0 1px #FFE7EF;
  position:relative;
}
.story-body::before{
  content:"❤ 病历记录 CASE LOG";
  display:block;
  margin:-4px 0 12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  color:#E53935;
  opacity:.7;
}
.story-body p{
  margin:0 0 15px;
  font-size:16px;
  line-height:1.95;
  color:#2B2B2B;
  text-align:justify;
  text-indent:2em;
}
.story-body p:last-child{margin-bottom:0;}
/* 明确禁止首字下沉，正文不使用 ::first-letter 装饰 */

/* ---------- 6. 主角信息 player-card ---------- */
.player-card{box-shadow:5px 5px 0 #CE93D8;}
.player-card:hover{box-shadow:8px 8px 0 #BA68C8;}
.player-card>summary{
  background:linear-gradient(100deg,#4A148C,#6A1B9A);
  border-bottom-color:#4A148C;
}
.player-card>summary::before{content:"👤";background:#F3E5F5;box-shadow:0 0 0 2px #6A1B9A;font-size:11px;}
.player-card>summary::after{color:#CE93D8;}
.player-card b{color:#6A1B9A;}
.player-card .stat-title{
  margin:12px 14px 6px;
  padding:5px 10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:1px;
  color:#FFFFFF;
  background:#6A1B9A;
  border-radius:6px 6px 0 0;
  border-left:5px solid #E1BEE7;
}

/* ---------- 7. 隐私字段 sex-info（去斜纹·清晰版） ---------- */
.sex-info{
  margin:5px 14px;
  padding:6px 12px;
  font-size:14px;
  color:#880E4F;
  background:#FCE4EC;
  border:1.5px dashed #C2185B;
  border-radius:8px;
  transition:background .2s ease, transform .15s ease;
}
.sex-info:hover{
  background:#F8BBD0;
  transform:translateX(2px);
}
.sex-info i{
  display:inline-block;
  min-width:52px;
  color:#AD1457;
  font-weight:700;
}

/* ---------- 8. 通用 stat-title ---------- */
.stat-title{
  margin:12px 14px 4px;
  padding:4px 10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:1px;
  color:#1A1A1A;
  border-bottom:2px solid #1A1A1A;
}
.stat-title b{color:#1A1A1A;}

/* ---------- 9. 主治医生 doctor-card 红调 ---------- */
.doctor-card{
  border-color:#B71C1C;
  box-shadow:5px 5px 0 #EF9A9A;
  background:linear-gradient(180deg,#FFF5F5,#FFF8F0);
}
.doctor-card:hover{box-shadow:8px 8px 0 #E57373;}
.doctor-card>summary{
  background:linear-gradient(100deg,#B71C1C,#D32F2F);
  border-bottom-color:#B71C1C;
}
.doctor-card>summary::before{content:"🩺";background:#FFEBEE;box-shadow:0 0 0 2px #D32F2F;font-size:11px;}
.doctor-card>summary::after{color:#EF9A9A;}
.doctor-card b{color:#C62828;}
.doctor-card .sex-info{
  background:#FFEBEE;
  border-color:#C62828;
  color:#B71C1C;
}
.doctor-card .sex-info i{color:#C62828;}

/* ---------- 10. 专属陪护 nurse-care-card 粉调 ---------- */
.nurse-care-card{
  border-color:#AD1457;
  box-shadow:5px 5px 0 #F48FB1;
  background:linear-gradient(180deg,#FFF5F9,#FFF8F0);
}
.nurse-care-card:hover{box-shadow:8px 8px 0 #F06292;}
.nurse-care-card>summary{
  background:linear-gradient(100deg,#AD1457,#D81B60);
  border-bottom-color:#AD1457;
}
.nurse-care-card>summary::before{content:"💞";background:#FCE4EC;box-shadow:0 0 0 2px #D81B60;font-size:11px;}
.nurse-care-card>summary::after{color:#F48FB1;}
.nurse-care-card b{color:#AD1457;}

/* ---------- 11. 值班护士 nurse-duty-card 蓝绿调 ---------- */
.nurse-duty-card{
  border-color:#00695C;
  box-shadow:5px 5px 0 #80CBC4;
  background:linear-gradient(180deg,#F1FBF9,#FFF8F0);
}
.nurse-duty-card:hover{box-shadow:8px 8px 0 #4DB6AC;}
.nurse-duty-card>summary{
  background:linear-gradient(100deg,#00695C,#00897B);
  border-bottom-color:#00695C;
}
.nurse-duty-card>summary::before{content:"🩹";background:#E0F2F1;box-shadow:0 0 0 2px #00897B;font-size:11px;}
.nurse-duty-card>summary::after{color:#80CBC4;}
.nurse-duty-card b{color:#00695C;}
.nurse-duty-card .sex-info{
  background:#E0F2F1;
  border-color:#00695C;
  color:#004D40;
}
.nurse-duty-card .sex-info i{color:#00695C;}

/* ---------- 12. 今日治疗方案 plan-card ---------- */
.plan-card{
  border-color:#E65100;
  box-shadow:5px 5px 0 #FFB74D;
  background:linear-gradient(180deg,#FFFBF5,#FFF8F0);
}
.plan-card:hover{box-shadow:8px 8px 0 #FFA726;}
.plan-card>summary{
  background:linear-gradient(100deg,#E65100,#F57C00);
  border-bottom-color:#E65100;
}
.plan-card>summary::before{content:"📋";background:#FFF3E0;box-shadow:0 0 0 2px #F57C00;font-size:11px;}
.plan-card>summary::after{color:#FFB74D;}
.plan-card b{color:#E65100;}

/* ---------- 13. 行/时间轴排版 row & 语义 span ---------- */
.row{
  margin:5px 12px;
  padding:7px 12px;
  font-size:13.5px;
  background:#FFFFFF;
  border:1.5px solid #1A1A1A;
  border-left:5px solid #F48FB1;
  border-radius:8px;
  box-shadow:2px 2px 0 rgba(26,26,26,.12);
  transition:transform .15s ease, box-shadow .15s ease;
}
.row:hover{
  transform:translateX(3px);
  box-shadow:4px 4px 0 rgba(244,143,177,.5);
}
.row .no{
  display:inline-block;
  min-width:22px;
  height:22px;
  line-height:22px;
  margin-right:6px;
  text-align:center;
  font-weight:800;
  color:#FFFFFF;
  background:#1A1A1A;
  border-radius:50%;
  font-size:12px;
}
.row .time{
  display:inline-block;
  padding:1px 7px;
  margin-right:4px;
  font-weight:700;
  color:#0D47A1;
  background:#E3F2FD;
  border-radius:4px;
  font-size:12.5px;
}
.row .scene{color:#6A1B9A;font-weight:600;}
.row .partner{color:#AD1457;font-weight:700;}
.row .detail{
  display:inline-block;
  padding:1px 6px;
  color:#00695C;
  background:#E0F2F1;
  border-radius:4px;
  font-size:12.5px;
}
.row .event{color:#37474F;}
.row .status{
  display:inline-block;
  padding:1px 8px;
  font-weight:700;
  border-radius:10px;
  font-size:12px;
}
.row .npc-tag{
  display:inline-block;
  padding:1px 8px;
  color:#FFFFFF;
  background:#6A1B9A;
  border-radius:4px;
  font-weight:700;
  font-size:12px;
  margin-right:4px;
}

/* ---------- 14. 数值胶囊 / 进度点缀 ---------- */
.player-card p:not(.sex-info):not(.stat-title){
  position:relative;
}
.patient-only{
  padding-left:14px;
}
.nurse-only{
  padding-left:14px;
}

/* ---------- 15. 交配/护士档案登记行 nurse-log-card ---------- */
.nurse-log-card{
  border-color:#4527A0;
  box-shadow:5px 5px 0 #B39DDB;
}
.nurse-log-card:hover{box-shadow:8px 8px 0 #9575CD;}
.nurse-log-card>summary{
  background:linear-gradient(100deg,#311B92,#4527A0);
  border-bottom-color:#311B92;
}
.nurse-log-card>summary::before{content:"📇";background:#EDE7F6;box-shadow:0 0 0 2px #4527A0;font-size:11px;}
.nurse-log-card>summary::after{color:#B39DDB;}
.nurse-log-card b{color:#4527A0;}
.nurse-log-card .row{border-left-color:#B39DDB;}

/* ---------- 16. 行动推荐 action-card ---------- */
.action-card{
  border-color:#1A1A1A;
  box-shadow:5px 5px 0 #A5D6A7;
}
.action-card:hover{box-shadow:8px 8px 0 #81C784;}
.action-card>summary{
  background:linear-gradient(100deg,#1B5E20,#2E7D32);
  border-bottom-color:#1B5E20;
}
.action-card>summary::before{content:"🎯";background:#E8F5E9;box-shadow:0 0 0 2px #2E7D32;font-size:11px;}
.action-card>summary::after{color:#A5D6A7;}
.action{
  margin:8px 12px;
  padding:10px 14px 10px 42px;
  position:relative;
  font-size:14.5px;
  font-weight:600;
  color:#1B5E20;
  background:#FFFFFF;
  border:2px solid #1A1A1A;
  border-radius:10px;
  box-shadow:3px 3px 0 #A5D6A7;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.action::before{
  content:"➤";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#2E7D32;
  font-size:14px;
  transition:transform .16s ease;
}
.action:hover{
  transform:translate(-2px,-2px);
  box-shadow:6px 6px 0 #66BB6A;
  background:#F1F8E9;
}
.action:hover::before{
  transform:translateY(-50%) translateX(3px);
}
.action:active{
  transform:translate(1px,1px);
  box-shadow:2px 2px 0 #66BB6A;
}

/* ---------- 17. 星记忆回廊 section.m（亮色临床波普版·三块分色） ---------- */
.section.m{
  margin:16px 0;
  border:2.5px solid #1A1A1A;
  border-radius:12px;
  background:#FFF8F0;
  box-shadow:5px 5px 0 #B39DDB;
  overflow:hidden;
}
.section.m:hover{box-shadow:8px 8px 0 #9575CD;}
.section.m>summary{
  list-style:none;
  cursor:pointer;
  padding:12px 16px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.6px;
  color:#FFFFFF;
  background:linear-gradient(100deg,#4527A0,#5E35B1);
  border-bottom:2.5px solid #1A1A1A;
  position:relative;
  user-select:none;
}
.section.m>summary::-webkit-details-marker{display:none;}
.section.m>summary::after{
  content:"✦";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:#D1C4E9;
  animation:star-twinkle 2s ease-in-out infinite;
}
.section.m .card{
  margin:12px;
  background:#FFFFFF;
  border:2px solid #1A1A1A;
  box-shadow:3px 3px 0 rgba(126,87,194,.35);
  color:#2B2B2B;
}
.section.m .card:hover{
  transform:none;
  box-shadow:5px 5px 0 rgba(126,87,194,.5);
}
.section.m h3{
  margin:0;
  padding:8px 14px;
  font-size:13.5px;
  font-weight:800;
  letter-spacing:1px;
  color:#FFFFFF;
  background:#5E35B1;
  border-bottom:2px solid #1A1A1A;
}
.section.m .card:nth-of-type(1) h3{background:#C62828;}
.section.m .card:nth-of-type(1){border-color:#C62828;box-shadow:3px 3px 0 rgba(198,40,40,.3);}
.section.m .card:nth-of-type(2) h3{background:#E65100;}
.section.m .card:nth-of-type(2){border-color:#E65100;box-shadow:3px 3px 0 rgba(230,81,0,.3);}
.section.m .card:nth-of-type(3) h3{background:#4527A0;}
.section.m .card:nth-of-type(3){border-color:#4527A0;box-shadow:3px 3px 0 rgba(69,39,160,.3);}
.section.m table{
  width:100%;
  border-collapse:collapse;
  font-size:12.5px;
  color:#2B2B2B;
}
.section.m thead th{
  padding:7px 8px;
  text-align:left;
  font-weight:800;
  color:#1A1A1A;
  background:#F3E5F5;
  border-bottom:2px solid #1A1A1A;
  white-space:nowrap;
}
.section.m .card:nth-of-type(1) thead th{background:#FFEBEE;}
.section.m .card:nth-of-type(2) thead th{background:#FFF3E0;}
.section.m .card:nth-of-type(3) thead th{background:#EDE7F6;}
.section.m tbody td{
  padding:7px 8px;
  color:#2B2B2B;
  border-bottom:1px dashed #BDBDBD;
  vertical-align:top;
  line-height:1.65;
}
.section.m tbody tr:hover td{
  background:rgba(126,87,194,.1);
}

/* ---------- 18. 关键词高亮 / 徽标 ---------- */
.card .partner,.card .npc-tag{
  text-shadow:0 0 1px rgba(0,0,0,.1);
}
.card>summary span{
  font-weight:600;
}

/* ---------- 19. 动画关键帧 ---------- */
@keyframes star-twinkle{
  0%,100%{opacity:.4;transform:translateY(-50%) scale(.85);}
  50%{opacity:1;transform:translateY(-50%) scale(1.15);}
}
@keyframes card-in{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes pulse-red{
  0%,100%{box-shadow:0 0 0 0 rgba(229,57,53,.5);}
  50%{box-shadow:0 0 0 6px rgba(229,57,53,0);}
}
.card{animation:card-in .35s ease both;}
.doctor-card>summary::before{animation:pulse-red 2s ease-in-out infinite;}

/* ---------- 20. 状态色（进行中/完成/待执行） ---------- */
.row .status{background:#FFF3E0;color:#E65100;}
.row .status:empty{display:none;}

/* ---------- 21. 响应式：平板 (≤768px) ---------- */
@media screen and (max-width:768px){
  .card{
    margin:12px 0;
    box-shadow:4px 4px 0 #F48FB1;
  }
  .card>summary{
    font-size:15px;
    padding:10px 14px 10px 40px;
  }
  .card p{font-size:14px;margin:5px 12px;}
  .story-body{padding:16px 16px;}
  .story-body p{font-size:15px;line-height:1.85;}
  .section.m table{font-size:11.5px;}
  .action{font-size:13.5px;padding:9px 12px 9px 38px;}
  .ecg-line{height:22px;margin:12px 0;}
}

/* ---------- 22. 响应式：手机 (≤480px) ---------- */
@media screen and (max-width:480px){
  .card{
    border-width:2px;
    box-shadow:3px 3px 0 #F48FB1;
    border-radius:10px;
  }
  .card:hover{transform:none;box-shadow:3px 3px 0 #F48FB1;}
  .card>summary{
    font-size:14px;
    padding:9px 12px 9px 36px;
    letter-spacing:.3px;
  }
  .card>summary::before{
    left:11px;width:17px;height:17px;line-height:17px;font-size:10px;
  }
  .card p{font-size:13.5px;margin:5px 10px;line-height:1.7;}
  .sex-info{font-size:12.5px;padding:5px 9px;}
  .sex-info i{min-width:44px;}
  .story-body{padding:14px 13px;border-width:2.5px;}
  .story-body::before{font-size:10px;letter-spacing:1.5px;}
  .story-body p{font-size:14.5px;line-height:1.8;text-indent:2em;}
  .row{font-size:12.5px;padding:6px 9px;margin:5px 9px;}
  .row .time{font-size:11.5px;}
  .row:hover{transform:none;}
  .action{
    font-size:13px;
    padding:8px 10px 8px 34px;
    box-shadow:2px 2px 0 #A5D6A7;
  }
  .action:hover{transform:none;box-shadow:2px 2px 0 #A5D6A7;}
  .action::before{left:12px;font-size:12px;}
  .section.m{box-shadow:3px 3px 0 #B39DDB;}
  .section.m>summary{font-size:13px;padding:10px 12px;}
  .section.m .card{margin:9px;}
  .section.m thead th{font-size:11px;padding:5px 6px;}
  .section.m tbody td{font-size:11px;padding:5px 6px;}
  .cot-card>*:not(summary){margin:7px 11px;padding:7px 10px;}
  .ecg-line{height:20px;margin:10px 0;background-size:100px 20px;}
  .ecg-line.ecg-flat{height:20px;}
}

/* ---------- 23. 细节点缀：治疗方式 T1-T5 徽标 ---------- */
.plan-card .row .detail{
  background:#FFF3E0;
  color:#E65100;
  border:1px solid #FFB74D;
}
.plan-card .row:hover{
  border-left-color:#FFB74D;
}

/* ---------- 24. 数值行图标对齐 ---------- */
.player-card p{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:2px 6px;
}
.player-card .sex-info,
.player-card .stat-title{display:block;}

/* ---------- 25. 折叠动画细节 ---------- */
.card[open]>summary{
  border-bottom-style:solid;
}
.card:not([open])>summary{
  border-bottom-color:transparent;
}

/* ---------- 26. 选中文字配色（记忆区改亮色） ---------- */
.card ::selection{
  background:#F48FB1;
  color:#1A1A1A;
}
.section.m ::selection{
  background:#D1C4E9;
  color:#1A1A1A;
}

/* ---------- 27. 空态兜底 ---------- */
.nurse-duty-card .stat-title:only-child{
  color:#78909C;
  font-style:italic;
}

/* ---------- 28. cot-card 列表标记美化 ---------- */
.cot-card li::marker{
  color:#00897B;
  font-weight:800;
}

/* ---------- 29. 打印/长图友好（去动画） ---------- */
@media print{
  .ecg-line,.doctor-card>summary::before,.section.m>summary::after{
    animation:none;
  }
  .card{box-shadow:3px 3px 0 #ccc;}
}
/* ================= END OF SKIN ================= */


/* ============================================
   🌸 精致动态爱心加载动画 + 粉色主题美化
   ============================================ */
/* --- 加载动画容器 --- */
@keyframes heartBeat {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 8px rgba(255, 105, 140, 0.4));
  }
  15% {
    transform: scale(1.15);
    filter: drop-shadow(0 0 16px rgba(255, 105, 140, 0.7));
  }
  30% {
    transform: scale(0.95);
    filter: drop-shadow(0 0 10px rgba(255, 105, 140, 0.5));
  }
  45% {
    transform: scale(1.08);
    filter: drop-shadow(0 0 14px rgba(255, 105, 140, 0.65));
  }
  60% {
    transform: scale(1);
    filter: drop-shadow(0 0 8px rgba(255, 105, 140, 0.4));
  }
  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 8px rgba(255, 105, 140, 0.4));
  }
}
@keyframes heartGlow {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.3);
  }
}
@keyframes shimmer {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}
@keyframes floatParticle1 {
  0% {
    transform: translate(0, 0) scale(0);
    opacity: 0;
  }
  20% {
    opacity: 1;
    transform: translate(-15px, -10px) scale(1);
  }
  100% {
    transform: translate(-35px, -50px) scale(0);
    opacity: 0;
  }
}
@keyframes floatParticle2 {
  0% {
    transform: translate(0, 0) scale(0);
    opacity: 0;
  }
  25% {
    opacity: 0.8;
    transform: translate(12px, -8px) scale(1);
  }
  100% {
    transform: translate(30px, -45px) scale(0);
    opacity: 0;
  }
}
@keyframes floatParticle3 {
  0% {
    transform: translate(0, 0) scale(0);
    opacity: 0;
  }
  30% {
    opacity: 0.9;
    transform: translate(5px, -12px) scale(0.8);
  }
  100% {
    transform: translate(-10px, -55px) scale(0);
    opacity: 0;
  }
}
@keyframes floatParticle4 {
  0% {
    transform: translate(0, 0) scale(0);
    opacity: 0;
  }
  15% {
    opacity: 0.7;
    transform: translate(-20px, -5px) scale(0.6);
  }
  100% {
    transform: translate(-40px, -40px) scale(0);
    opacity: 0;
  }
}
@keyframes floatParticle5 {
  0% {
    transform: translate(0, 0) scale(0);
    opacity: 0;
  }
  20% {
    opacity: 0.85;
    transform: translate(18px, -15px) scale(0.7);
  }
  100% {
    transform: translate(25px, -55px) scale(0);
    opacity: 0;
  }
}
@keyframes ringPulse {
  0% {
    transform: scale(0.8);
    opacity: 0.5;
    border-width: 2px;
  }
  50% {
    transform: scale(1.4);
    opacity: 0;
    border-width: 0.5px;
  }
  100% {
    transform: scale(0.8);
    opacity: 0;
    border-width: 2px;
  }
}
@keyframes softRotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes textFade {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}
/* 加载动画主体 - 替换默认loading */
div[class*="loading"],
div[class*="Loading"],
.animate-spin {
  width: 60px !important;
  height: 60px !important;
  border: none !important;
  background: transparent !important;
  position: relative !important;
  animation: none !important;
}
div[class*="loading"]::before,
div[class*="Loading"]::before,
.animate-spin::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 32px !important;
  height: 30px !important;
  transform: translate(-50%, -50%) !important;
  background:
    radial-gradient(
      ellipse 16px 17px at 8px 10px,
      #ff6b8a 0%,
      #ff4d73 25%,
      #e8365d 50%,
      #d42a52 75%,
      transparent 100%
    ),
    radial-gradient(
      ellipse 16px 17px at 24px 10px,
      #ff6b8a 0%,
      #ff4d73 25%,
      #e8365d 50%,
      #d42a52 75%,
      transparent 100%
    ),
    linear-gradient(
      to bottom,
      transparent 0%,
      #ff4d73 10%,
      #e8365d 40%,
      #d42a52 65%,
      #c0203f 85%,
      transparent 100%
    ) !important;
  background-size: 32px 20px, 32px 20px, 20px 22px !important;
  background-position: 0 0, 0 0, 6px 8px !important;
  background-repeat: no-repeat !important;
  clip-path: path('M16 28 C16 28 2 18 2 9 C2 4 6 0 11 0 C13.5 0 15.5 1.5 16 3 C16.5 1.5 18.5 0 21 0 C26 0 30 4 30 9 C30 18 16 28 16 28Z') !important;
  animation: heartBeat 1.4s ease-in-out infinite !important;
  filter: drop-shadow(0 0 10px rgba(255, 77, 115, 0.5)) !important;
  z-index: 2 !important;
}
div[class*="loading"]::after,
div[class*="Loading"]::after,
.animate-spin::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 26px !important;
  height: 24px !important;
  transform: translate(-50%, -48%) !important;
  clip-path: path('M13 23 C13 23 1.5 14.5 1.5 7.5 C1.5 3.5 5 0 9 0 C11 0 12.5 1.2 13 2.5 C13.5 1.2 15 0 17 0 C21 0 24.5 3.5 24.5 7.5 C24.5 14.5 13 23 13 23Z') !important;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.35) 0%,
    rgba(255, 255, 255, 0.08) 40%,
    transparent 60%
  ) !important;
  animation: heartBeat 1.4s ease-in-out infinite !important;
  z-index: 3 !important;
}
/* ============================================
   🌸 顶部栏美化
   ============================================ */
.sticky.w-full.top-0.flex.items-center {
  background: linear-gradient(135deg, #fff0f3 0%, #ffe0e8 40%, #ffd1dd 100%) !important;
  border-bottom: 1px solid rgba(255, 150, 170, 0.25) !important;
  box-shadow: 0 2px 12px rgba(255, 105, 140, 0.12),
              0 1px 3px rgba(255, 105, 140, 0.08) !important;
  transition: all 0.3s ease !important;
}
.sticky.w-full.top-0.flex.items-center::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 105, 140, 0.3), transparent) !important;
}
#ai-model-selector .group.flex.items-center {
  background: rgba(255, 255, 255, 0.6) !important;
  border: 1px solid rgba(255, 150, 170, 0.3) !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(8px) !important;
}
#ai-model-selector .group.flex.items-center:hover {
  background: rgba(255, 255, 255, 0.85) !important;
  border-color: rgba(255, 105, 140, 0.5) !important;
  box-shadow: 0 2px 8px rgba(255, 105, 140, 0.15) !important;
}
#ai-model-selector .truncate.text-\[13px\] {
  color: #d4456a !important;
  font-weight: 600 !important;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif !important;
}
#ai-model-selector .shrink-0.flex.items-center svg {
  color: #e8628a !important;
  transition: transform 0.3s ease !important;
}
#ai-model-selector .group.flex.items-center:hover svg {
  transform: rotate(180deg) !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8 {
  color: #d4456a !important;
  transition: all 0.3s ease !important;
}
.sticky.w-full.top-0 svg.lucide-clock-8:hover {
  color: #ff4d73 !important;
  filter: drop-shadow(0 0 4px rgba(255, 77, 115, 0.3)) !important;
}
.sticky.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background: linear-gradient(135deg, #ff6b8a, #ff4d73) !important;
  box-shadow: 0 0 6px rgba(255, 77, 115, 0.5) !important;
}
#header-setting-button {
  transition: all 0.3s ease !important;
  border-radius: 50% !important;
}
#header-setting-button:hover {
  background: rgba(255, 105, 140, 0.1) !important;
}
#header-setting-button svg {
  color: #d4456a !important;
  transition: transform 0.4s ease !important;
}
#header-setting-button:hover svg {
  transform: rotate(90deg) !important;
  color: #ff4d73 !important;
}
/* ============================================
   🌸 开场白选择器美化
   ============================================ */
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"] {
  background: linear-gradient(135deg, #fff5f7, #ffe8ee) !important;
  border: 1px solid rgba(255, 150, 170, 0.35) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(255, 105, 140, 0.1) !important;
  transition: all 0.3s ease !important;
}
div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover {
  border-color: rgba(255, 105, 140, 0.5) !important;
  box-shadow: 0 4px 14px rgba(255, 105, 140, 0.18) !important;
  background: linear-gradient(135deg, #fff0f3, #ffe0e8) !important;
}
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"],
div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="ChevronDown"] {
  color: #d4456a !important;
  transition: all 0.3s ease !important;
}
/* ============================================
   🌸 按钮栏美化
   ============================================ */
#ai-mod-button2 {
  background: transparent !important;
}
#ai-mod-button2 button.MuiButton-root {
  background: linear-gradient(135deg, #fff0f3, #ffe0e8) !important;
  border: 1px solid rgba(255, 150, 170, 0.3) !important;
  border-radius: 16px !important;
  color: #d4456a !important;
  font-weight: 500 !important;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 1px 4px rgba(255, 105, 140, 0.1) !important;
}
#ai-mod-button2 button.MuiButton-root:hover {
  background: linear-gradient(135deg, #ffe0e8, #ffd1dd) !important;
  border-color: rgba(255, 105, 140, 0.5) !important;
  box-shadow: 0 3px 10px rgba(255, 105, 140, 0.2) !important;
  transform: translateY(-1px) !important;
}
#ai-mod-button2 button.MuiButton-root:active {
  transform: translateY(0) !important;
}
#ai-mod-button2 button.MuiButton-root svg {
  color: #e8628a !important;
  transition: all 0.3s ease !important;
}
#ai-mod-button2 button.MuiButton-root:hover svg {
  color: #ff4d73 !important;
}
/* ============================================
   🌸 底部栏美化
   ============================================ */
.bg-gradient-to-t {
  background: linear-gradient(to top, #fff0f3 0%, rgba(255, 240, 243, 0.8) 60%, transparent 100%) !important;
}
#ai-chat-bottom-input {
  background: rgba(255, 255, 255, 0.75) !important;
  border: 1.5px solid rgba(255, 150, 170, 0.3) !important;
  border-radius: 20px !important;
  box-shadow: 0 2px 12px rgba(255, 105, 140, 0.1),
              inset 0 1px 2px rgba(255, 255, 255, 0.8) 