/* =============================================
   中式人生·高中
   base-hue:38  base-sat:25%  is-dark:0  accent-hue:0  accent-sat:55%
   bg-deep:hsl(38,25%,96%)    bg-default:hsl(38,25%,93%)
   bg-paper:hsl(38,25%,100%)  bg-raised:hsl(38,25%,88%)
   bg-hover:hsl(38,25%,82%)   text-main:hsl(38,8%,7%)
   text-sub:hsl(38,6%,35%)    text-muted:hsl(38,5%,56%)
   border:hsl(38,25%,80%)     accent:hsl(0,55%,42%)
   accent-dim:hsl(0,19%,90%)  accent-text:hsl(0,44%,30%)
   glow:0 0 14px hsl(0,55%,55%,0.4)
   ============================================= */
/* ===== 危险区域 ===== */
[class*="bg-[#F1CBCB]"], [class*="bg-[#c9e1e9]"] { display: none !important; }
.markdown-body pre {
  background: hsl(38,25%,100%) !important;
  border: 1px solid hsl(38,25%,80%) !important;
  border-radius: 6px !important;
  padding: .6em .9em !important;
  overflow-x: auto !important;
}
.markdown-body pre code {
  background: transparent !important;
  color: hsl(38,8%,7%) !important;
}
.markdown-body :not(pre)>code {
  background: hsl(0,19%,90%) !important;
  color: hsl(0,44%,30%) !important;
  padding: .15em .45em !important;
  border-radius: 4px !important;
}
.markdown-body details {
  background: hsl(38,25%,100%) !important;
  border: 1px solid hsl(38,25%,80%) !important;
  border-radius: 8px !important;
  margin: 8px 0 !important;
  overflow: hidden !important;
}
.markdown-body details[open] { border-color: hsl(0,55%,42%) !important; }
.markdown-body details summary {
  background: hsl(38,25%,88%) !important;
  color: hsl(38,8%,7%) !important;
  padding: 8px 12px 8px 32px !important;
  display: block !important;
  position: relative !important;
  border-bottom: 1px solid hsl(38,25%,80%) !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  list-style: none !important;
  user-select: none !important;
}
.markdown-body details summary::before {
  content: '▶' !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: hsl(0,55%,42%) !important;
  font-size: 11px !important;
  transition: transform .2s ease !important;
}
.markdown-body details[open] summary::before { transform: translateY(-50%) rotate(90deg) !important; }
.markdown-body details summary::-webkit-details-marker { display: none !important; }
.markdown-body ::-webkit-scrollbar { width: 6px !important; height: 6px !important; }
.markdown-body ::-webkit-scrollbar-track { background: hsl(38,25%,96%) !important; }
.markdown-body ::-webkit-scrollbar-thumb { background: hsl(0,19%,90%) !important; border-radius: 3px !important; }
.markdown-body ::-webkit-scrollbar-thumb:hover { background: hsl(0,55%,42%) !important; }
.markdown-body ::selection {
  background: hsl(0,19%,90%) !important;
  color: hsl(0,44%,30%) !important;
}
/* ===== 全局与布局 ===== */
.markdown-body {
  color: hsl(38,8%,7%) !important;
  line-height: 1.7 !important;
  font-size: .92rem !important;
}
.markdown-body h1, .markdown-body h2, .markdown-body h3 {
  color: hsl(38,8%,7%) !important;
  border-bottom: 1px solid hsl(38,25%,80%) !important;
  padding-bottom: .3em !important;
}
.markdown-body blockquote {
  border-left: 4px solid hsl(0,55%,42%) !important;
  background: hsl(0,19%,90%) !important;
  color: hsl(0,44%,30%) !important;
  padding: 8px 16px !important;
  margin: 12px 0 !important;
}
.markdown-body strong { color: hsl(0,44%,30%) !important; }
.markdown-body a { color: hsl(0,55%,42%) !important; }
/* ===== 聊天气泡 ===== */
.markdown-body .bg-gray-100\/90.relative.inline-block {
  background: hsl(38,25%,100%) !important;
  border: 1px solid hsl(38,25%,80%) !important;
  border-radius: 16px !important;
  padding: 12px !important;
}
/* ===== 底部输入 ===== */
#ai-chat-input {
  background: hsl(38,25%,100%) !important;
  color: hsl(38,8%,7%) !important;
  caret-color: hsl(0,55%,42%) !important;
}
#ai-chat-input::placeholder { color: hsl(38,5%,56%) !important; }
#ai-send-button {
  background: hsl(0,55%,42%) !important;
  color: #fff !important;
  border-radius: 8px !important;
}
/* ===== sc-day 日容器 ===== */
.sc-day {
  display: block;
  max-width: 720px;
  margin: 0 auto .6rem;
  padding: .5rem .6rem;
  border-radius: 12px;
  font-size: .88rem;
  line-height: 1.75;
  transition: background .3s;
}
/* —— 早 · 破晓金光 —— */
.sc-day-morning {
  background: linear-gradient(180deg, hsl(38,55%,94%) 0%, hsl(35,45%,90%) 100%);
  border: 1px solid hsl(35,40%,75%);
}
.sc-day-morning .sc-event {
  box-shadow: 0 1px 4px hsl(35,35%,70%,0.45);
}
/* —— 午 · 白昼烈光 —— */
.sc-day-afternoon {
  background: linear-gradient(180deg, hsl(210,5%,99%) 0%, hsl(210,8%,95%) 100%);
  border: 1px solid hsl(210,12%,82%);
}
.sc-day-afternoon .sc-event {
  box-shadow: 0 1px 6px hsl(210,10%,78%,0.3);
}
/* —— 晚 · 深蓝夜幕 —— */
.sc-day-night {
  background: linear-gradient(180deg, hsl(235,18%,26%) 0%, hsl(235,15%,18%) 100%);
  border: 1px solid hsl(235,12%,30%);
}
.sc-day-night .sc-event {
  box-shadow: 0 1px 6px hsla(235,20%,5%,0.5);
}
.sc-day-night,
.sc-day-night .sc-ev-subj,
.sc-day-night .sc-date,
.sc-day-night .sc-seg-label { color: hsl(235,12%,88%); }
.sc-day-night .sc-weather,
.sc-day-night .sc-ev-time { color: hsl(235,8%,65%); }
.sc-day-night .sc-ev-body { color: hsl(240,6%,18%); }
.sc-day-night .sc-seg-end { color: hsl(240,6%,35%); border-top-color: hsl(235,6%,70%); }
.sc-day-night .sc-gain { color: hsl(140,45%,30%); background: hsl(140,25%,93%); }
.sc-day-night .sc-loss { color: hsl(0,50%,40%); background: hsl(0,25%,94%); }
.sc-day-night .sc-ev-gains { border-top-color: hsl(235,6%,78%); }
/* ===== 段头 ===== */
.sc-seg-h {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  padding: .6rem .9rem;
  margin-bottom: .5rem;
  border-radius: 10px;
  font-size: .84rem;
  font-weight: 600;
  color: hsl(38,6%,35%);
}
/* 早——破晓金光 */
.sc-morning {
  background: linear-gradient(135deg, hsl(38,55%,90%), hsl(35,48%,84%));
  border: 1px solid hsl(35,45%,70%);
  border-left: 5px solid hsl(32,60%,48%);
}
.sc-morning .sc-seg-label { color: hsl(32,50%,25%); }
.sc-morning .sc-date { color: hsl(32,35%,20%); }
/* 午——白昼烈光 */
.sc-afternoon {
  background: linear-gradient(135deg, hsl(210,5%,98%), hsl(210,8%,94%));
  border: 1px solid hsl(210,15%,78%);
  border-left: 5px solid hsl(205,40%,45%);
}
.sc-afternoon .sc-seg-label { color: hsl(205,40%,28%); }
.sc-afternoon .sc-date { color: hsl(205,30%,22%); }
/* 晚——深蓝夜幕 */
.sc-night {
  background: linear-gradient(135deg, hsl(235,15%,32%), hsl(235,12%,22%));
  border: 1px solid hsl(235,10%,35%);
  border-left: 5px solid hsl(225,25%,52%);
}
.sc-night .sc-seg-label { color: hsl(235,12%,88%); }
.sc-night .sc-date { color: hsl(235,10%,80%); }
.sc-night .sc-weather { color: hsl(235,8%,65%); }
.sc-weekend {
  background: linear-gradient(135deg, hsl(38,30%,97%), hsl(38,25%,94%));
  border: 1px solid hsl(38,25%,80%);
  border-left: 5px solid hsl(0,55%,42%);
}
.sc-seg-icon { font-size: 1.05rem; }
.sc-seg-label {
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  font-size: 1rem;
  letter-spacing: .05em;
}
.sc-date { font-weight: 700; }
.sc-weather { font-size: .78rem; font-weight: 400; }
/* ===== 心情值 ===== */
.sc-mood {
  display: inline-block;
  font-weight: 700;
  font-size: .8rem;
  padding: 1px 6px;
  border-radius: 3px;
}
.sc-mood-high { color: hsl(140,45%,30%); background: hsl(140,30%,92%); }
.sc-mood-good { color: hsl(140,35%,35%); background: hsl(140,25%,94%); }
.sc-mood-normal { color: hsl(38,5%,40%); background: hsl(38,10%,94%); }
.sc-mood-low { color: hsl(25,55%,35%); background: hsl(25,40%,93%); }
.sc-mood-bad { color: hsl(0,50%,35%); background: hsl(0,30%,93%); }
/* ===== 事件块 ===== */
.sc-event {
  display: block;
  margin-bottom: .7rem;
  border-radius: 8px;
  overflow: hidden;
  background: hsl(38,25%,100%);
  border: 1px solid hsl(38,25%,80%);
  border-left: 4px solid hsl(38,15%,70%);
}
.sc-event.good { border-left-color: hsl(140,35%,45%); }
.sc-event.bad { border-left-color: hsl(0,50%,50%); }
.sc-event.neutral { border-left-color: hsl(38,15%,70%); }
.sc-event.social { border-left-color: hsl(35,50%,50%); background: linear-gradient(135deg, hsl(40,35%,99%), hsl(38,30%,97%)); }
.sc-event.sport { border-left-color: hsl(200,35%,50%); }
.sc-event.fortune { border-left: 3px dashed hsl(25,55%,50%); background: linear-gradient(135deg, hsl(40,35%,99%), hsl(38,30%,96%)); }
.sc-event.exam { border-left: 5px solid hsl(0,55%,42%); }
/* 早间事件微暖 */
.sc-day-morning .sc-event { border-color: hsl(35,30%,80%); background: hsl(40,35%,98%); }
.sc-day-morning .sc-event.neutral { border-left-color: hsl(35,35%,55%); }
.sc-day-morning .sc-ev-hd { background: hsl(40,40%,96%); border-bottom-color: hsl(38,30%,82%); }
/* 午间事件亮白 */
.sc-day-afternoon .sc-event { border-color: hsl(210,10%,82%); background: hsl(0,0%,100%); }
.sc-day-afternoon .sc-event.neutral { border-left-color: hsl(205,22%,58%); }
.sc-day-afternoon .sc-ev-hd { background: hsl(210,5%,99%); border-bottom-color: hsl(210,10%,88%); }
/* 晚间事件暗夜 */
.sc-day-night .sc-event { border-color: hsl(235,8%,50%); background: hsl(240,5%,82%); }
.sc-day-night .sc-event.neutral { border-left-color: hsl(225,15%,52%); }
.sc-day-night .sc-ev-hd { background: hsl(240,5%,90%); border-bottom-color: hsl(235,6%,78%); }
.sc-day-night .sc-ev-hd .sc-ev-subj { color: hsl(240,10%,18%); }
.sc-day-night .sc-ev-hd .sc-ev-time { color: hsl(240,6%,38%); }
.sc-day-night .sc-ev-gains { border-top-color: hsl(235,6%,78%); }
/* 事件标题栏 */
.sc-ev-hd {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: .45rem .7rem;
  border-bottom: 1px solid hsl(38,20%,88%);
  font-weight: 700;
  font-size: .86rem;
  background: hsl(38,25%,99%);
}
.sc-ev-subj {
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .03em;
  color: hsl(38,8%,7%);
}
.sc-ev-time {
  font-weight: 400;
  font-size: .72rem;
  color: hsl(38,5%,56%);
  white-space: nowrap;
  margin-left: 8px;
}
/* 事件正文 */
.sc-ev-body {
  padding: .55rem .7rem;
  font-size: .85rem;
  line-height: 1.8;
}
.sc-ev-body p {
  margin: 0 0 .45rem 0;
  text-indent: 2em;
}
.sc-ev-body p:last-child { margin-bottom: 0; }
/* 事件数值行 */
.sc-ev-gains {
  padding: .3rem .7rem;
  border-top: 1px dotted hsl(38,20%,88%);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
/* 数值标签 */
.sc-gain {
  display: inline-block;
  font-weight: 700;
  font-size: .76rem;
  color: hsl(140,45%,30%);
  background: hsl(140,25%,93%);
  border-radius: 3px;
  padding: 0 6px;
  line-height: 1.6;
}
.sc-loss {
  display: inline-block;
  font-weight: 700;
  font-size: .76rem;
  color: hsl(0,50%,40%);
  background: hsl(0,25%,94%);
  border-radius: 3px;
  padding: 0 6px;
  line-height: 1.6;
}
.sc-boom {
  display: inline-block;
  font-weight: 900;
  font-size: 1.02rem;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: .5px;
}
.sc-boom.sc-gain {
  color: hsl(140,50%,25%);
  background: hsl(140,35%,88%);
  border: 1px solid hsl(140,40%,70%);
}
.sc-boom.sc-loss {
  color: hsl(0,60%,30%);
  background: hsl(0,30%,90%);
  border: 1px solid hsl(0,40%,75%);
}
/* 段尾 */
.sc-seg-end {
  text-align: center;
  padding: .4rem;
  font-size: .78rem;
  color: hsl(38,5%,56%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .04em;
  border-top: 1px dashed hsl(38,25%,80%);
  margin-top: .2rem;
}
/* ===== 考试日 ===== */
.sc-exam-h {
  text-align: center;
  padding: .7rem 1rem;
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: hsl(0,55%,42%);
  letter-spacing: .08em;
  background: linear-gradient(135deg, hsl(0,20%,98%), hsl(0,15%,95%));
  border-bottom: 2px solid hsl(0,20%,90%);
  margin-bottom: .5rem;
  border-radius: 8px 8px 0 0;
}
.sc-exam-body {
  background: hsl(38,25%,100%);
  border: 1px solid hsl(38,25%,80%);
  border-top: none;
  border-radius: 0 0 8px 8px;
  padding: .7rem;
}
.sc-exam-rank {
  text-align: center;
  padding: .5rem 0 .8rem;
  border-bottom: 1px solid hsl(38,25%,80%);
  margin-bottom: .6rem;
}
.sc-rank-big {
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  font-size: 2.6rem;
  font-weight: 900;
  color: hsl(38,8%,7%);
  letter-spacing: .12em;
  line-height: 1.2;
}
.sc-rank-sub {
  font-size: .8rem;
  color: hsl(38,5%,56%);
  margin-top: .15rem;
}
.sc-subj {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: .35rem .5rem;
  border-bottom: 1px dotted hsl(38,20%,88%);
  font-size: .84rem;
}
.sc-subj:last-child { border-bottom: none; }
.sc-subj > span:first-child {
  width: 50px;
  font-weight: 600;
  color: hsl(38,8%,7%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
}
.sc-score {
  width: 45px;
  text-align: right;
  font-weight: 700;
  font-size: .92rem;
  color: hsl(38,8%,7%);
}
.sc-grade {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 3px;
  font-weight: 700;
  font-size: .76rem;
}
.sc-grade-S { color: hsl(40,60%,30%); background: hsl(40,50%,92%); border: 1px solid hsl(40,40%,75%); }
.sc-grade-A { color: hsl(140,45%,30%); background: hsl(140,30%,92%); border: 1px solid hsl(140,30%,75%); }
.sc-grade-B { color: hsl(200,35%,30%); background: hsl(200,30%,92%); border: 1px solid hsl(200,25%,75%); }
.sc-grade-C { color: hsl(25,50%,35%); background: hsl(25,35%,92%); border: 1px solid hsl(25,30%,75%); }
.sc-grade-D { color: hsl(0,50%,35%); background: hsl(0,25%,93%); border: 1px solid hsl(0,30%,75%); }
.sc-exam-note {
  margin-top: .6rem;
  padding: .4rem .5rem;
  background: hsl(38,25%,93%);
  border-radius: 6px;
  font-size: .8rem;
  color: hsl(38,6%,35%);
  text-indent: 2em;
  line-height: 1.7;
}
/* ===== 思维链 ===== */
.sc-chain {
  max-width: 720px;
  margin: 0 auto .6rem;
  background: hsl(38,25%,100%);
  border: 1px solid hsl(38,25%,80%);
  border-left: 4px solid hsl(38,10%,50%);
  border-radius: 8px;
  font-size: .76rem;
  line-height: 1.5;
  color: hsl(38,6%,35%);
}
.sc-chain[open] { padding: 0; }
.sc-chain summary {
  padding: .4rem .7rem;
  cursor: pointer;
  font-weight: 700;
  font-size: .8rem;
  color: hsl(38,8%,7%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .04em;
  background: linear-gradient(135deg, hsl(38,30%,96%), hsl(38,25%,93%));
  border-bottom: 1px solid hsl(38,25%,80%);
  border-radius: 7px 7px 0 0;
  user-select: none;
}
.sc-chain .sc-chain-body {
  padding: .5rem .7rem;
  font-family: 'SF Mono','Consolas','Menlo',monospace;
  font-size: .72rem;
  white-space: pre-wrap;
  line-height: 1.45;
  color: hsl(38,6%,35%);
  max-height: 420px;
  overflow-y: auto;
}
/* ===== 情节聚焦 ===== */
.sc-focus {
  display: block;
  max-width: 720px;
  margin: 0 auto .6rem;
  padding: .7rem .9rem;
  background: linear-gradient(135deg, hsl(40,35%,99%), hsl(38,30%,97%));
  border: 2px solid hsl(38,30%,70%);
  border-radius: 10px;
  box-shadow: 0 2px 12px hsl(38,25%,70%,0.15);
  font-size: .88rem;
  line-height: 1.85;
}
.sc-focus::before {
  content: '🔍 情节聚焦';
  display: block;
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  font-size: .8rem;
  color: hsl(0,55%,42%);
  margin-bottom: .5rem;
  padding-bottom: .35rem;
  border-bottom: 1px dashed hsl(38,25%,80%);
  letter-spacing: .06em;
}
.sc-unfocus {
  display: block;
  max-width: 720px;
  margin: 0 auto .5rem;
  padding: .4rem .9rem;
  background: hsl(38,25%,93%);
  border: 1px dashed hsl(38,25%,80%);
  border-radius: 8px;
  font-size: .78rem;
  color: hsl(38,5%,56%);
  text-align: center;
}
/* ===== 行动选项面板 sm-actions ===== */
.sm-actions {
  max-width: 720px;
  margin: .4rem auto 0;
  border: 1px solid hsl(38,25%,80%);
  border-left: 4px solid hsl(0,55%,42%);
  border-radius: 8px;
  background: hsl(38,25%,100%);
  overflow: hidden;
}
.sm-actions .sm-panel-h {
  padding: .4rem .7rem;
  font-weight: 700;
  font-size: .82rem;
  color: hsl(0,44%,30%);
  background: hsl(0,19%,90%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .04em;
  border-bottom: 1px solid hsl(0,19%,85%);
}
.sm-actions .sm-sec {
  padding: .35rem .5rem .5rem;
}
/* 代码块去代码感 */
.sm-actions .sm-sec pre {
  margin: .35rem 0;
  padding: .5rem .7rem;
  border-radius: 6px;
  border-left: 4px solid hsl(140,35%,45%);
  background: hsl(140,20%,96%);
  transition: background .15s, border-color .15s;
}
.sm-actions .sm-sec pre:hover {
  background: hsl(140,25%,93%);
  border-left-color: hsl(140,45%,35%);
}
.sm-actions .sm-sec pre code {
  font-family: inherit;
  font-size: .82rem;
  line-height: 1.6;
  color: hsl(38,8%,7%);
  background: transparent;
  padding: 0;
  white-space: pre-wrap;
  word-break: break-word;
}
/* A = 课堂/学习（绿） */
.sm-actions .sm-sec pre:nth-of-type(1) {
  border-left-color: hsl(140,35%,45%);
  background: hsl(140,20%,96%);
}
.sm-actions .sm-sec pre:nth-of-type(1):hover {
  border-left-color: hsl(140,45%,35%);
  background: hsl(140,25%,93%);
}
/* B = 课间/社交（暖金） */
.sm-actions .sm-sec pre:nth-of-type(2) {
  border-left-color: hsl(35,50%,50%);
  background: hsl(38,30%,96%);
}
.sm-actions .sm-sec pre:nth-of-type(2):hover {
  border-left-color: hsl(35,55%,42%);
  background: hsl(38,35%,93%);
}
/* C = 时间推进（灰蓝） */
.sm-actions .sm-sec pre:nth-of-type(3) {
  border-left-color: hsl(200,20%,55%);
  background: hsl(200,15%,96%);
}
.sm-actions .sm-sec pre:nth-of-type(3):hover {
  border-left-color: hsl(200,25%,45%);
  background: hsl(200,20%,93%);
}
/* 自由输入 */
.sm-free {
  display: block;
  padding: .35rem .7rem;
  margin-top: .2rem;
  color: hsl(38,5%,56%);
  font-size: .78rem;
  font-style: italic;
}
/* ===== 玩家面板 ===== */
.sc-panel {
  max-width: 720px;
  margin: .4rem auto;
  background: hsl(38,25%,100%);
  border: 1px solid hsl(38,25%,80%);
  border-radius: 8px;
  font-size: .8rem;
  line-height: 1.6;
  color: hsl(38,6%,35%);
}
.sc-panel summary {
  padding: .4rem .7rem;
  cursor: pointer;
  font-weight: 700;
  font-size: .82rem;
  color: hsl(38,8%,7%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .04em;
  background: linear-gradient(135deg, hsl(38,30%,96%), hsl(38,25%,93%));
  border-bottom: 1px solid hsl(38,25%,80%);
  border-radius: 7px 7px 0 0;
  user-select: none;
}
.sc-panel .sc-status-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: .5rem .6rem;
}
/* 状态块 */
.sc-stat-block {
  background: hsl(38,25%,96%);
  border-radius: 6px;
  padding: .4rem .5rem;
  border: 1px solid hsl(38,25%,88%);
}
.sc-stat-h {
  font-weight: 700;
  font-size: .78rem;
  color: hsl(38,8%,7%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .04em;
  margin-bottom: .25rem;
  padding-bottom: .2rem;
  border-bottom: 1px dotted hsl(38,25%,80%);
}
/* 基础属性行 */
.sc-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px;
  padding: .12rem 0;
  font-size: .76rem;
}
.sc-stat-row span:first-child {
  color: hsl(38,5%,56%);
  font-weight: 500;
  flex-shrink: 0;
}
.sc-stat-row span:last-child {
  color: hsl(38,8%,7%);
  font-weight: 600;
  text-align: right;
}
/* ===== 七维属性网格 ===== */
.sc-attr-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 8px;
}
.sc-attr-cell {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: .18rem .3rem;
  border-radius: 3px;
  background: hsl(38,25%,99%);
  border: 1px solid hsl(38,25%,92%);
}
.sc-attr-num {
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  font-family: 'SF Mono','Consolas','Menlo',monospace;
}
.sc-attr-key {
  font-size: .7rem;
  color: hsl(38,5%,56%);
  font-weight: 500;
}
/* 数值色阶 */
.sc-attr-num.sc-lo { color: hsl(0,55%,42%); }       /* <200 红 */
.sc-attr-num.sc-mid { color: hsl(25,55%,40%); }      /* 200-400 橙 */
.sc-attr-num.sc-ok { color: hsl(38,6%,35%); }        /* 400-600 灰 */
.sc-attr-num.sc-hi { color: hsl(140,45%,35%); }      /* 600-800 绿 */
.sc-attr-num.sc-top { color: hsl(40,55%,35%); }      /* 800+ 金 */
/* 心情值大号 */
.sc-mood-big {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-top: .25rem;
  padding: .25rem .3rem;
  border-radius: 4px;
  background: linear-gradient(135deg, hsl(40,30%,97%), hsl(0,15%,96%));
  border: 1px solid hsl(0,15%,85%);
}
.sc-mood-big .sc-attr-key { font-weight: 700; color: hsl(0,44%,30%); }
.sc-mood-big .sc-attr-num { font-size: 1.3rem; }
/* ===== 天赋卡片 ===== */
.sc-talent-card {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: .3rem .45rem;
  margin: .15rem 0;
  border-radius: 4px;
  border-left: 3px solid;
  font-size: .74rem;
}
.sc-talent-red {
  background: linear-gradient(135deg, hsl(0,20%,98%), hsl(0,15%,95%));
  border-left-color: hsl(0,55%,42%);
}
.sc-talent-gold {
  background: linear-gradient(135deg, hsl(40,35%,98%), hsl(40,30%,95%));
  border-left-color: hsl(40,55%,38%);
}
.sc-talent-purple {
  background: linear-gradient(135deg, hsl(280,15%,98%), hsl(280,12%,95%));
  border-left-color: hsl(280,35%,45%);
}
.sc-talent-blue {
  background: linear-gradient(135deg, hsl(200,20%,98%), hsl(200,15%,95%));
  border-left-color: hsl(200,35%,45%);
}
.sc-talent-name {
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .05em;
  color: hsl(38,8%,7%);
}
.sc-talent-desc {
  font-size: .7rem;
  color: hsl(38,5%,56%);
  line-height: 1.35;
}
/* ===== 人物图鉴 ===== */
.sc-dex-panel {
  max-width: 720px;
  margin: .4rem auto;
  background: hsl(38,25%,100%);
  border: 1px solid hsl(38,25%,80%);
  border-left: 4px solid hsl(38,10%,50%);
  border-radius: 8px;
  font-size: .78rem;
  line-height: 1.55;
  color: hsl(38,6%,35%);
}
.sc-dex-panel summary {
  padding: .4rem .7rem;
  cursor: pointer;
  font-weight: 700;
  font-size: .82rem;
  color: hsl(38,8%,7%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .04em;
  background: linear-gradient(135deg, hsl(38,30%,96%), hsl(38,25%,93%));
  border-bottom: 1px solid hsl(38,25%,80%);
  border-radius: 7px 7px 0 0;
  user-select: none;
}
.sc-dex-list { padding: .4rem .6rem; }
.sc-dex-item {
  padding: .4rem 0;
  border-bottom: 1px dotted hsl(38,25%,88%);
}
.sc-dex-item:last-child { border-bottom: none; }
.sc-dex-name {
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  font-weight: 700;
  font-size: .82rem;
  color: hsl(38,8%,7%);
  letter-spacing: .03em;
  margin-bottom: .2rem;
}
.sc-dex-detail { padding-left: .2rem; }
.sc-dex-line {
  font-size: .74rem;
  color: hsl(38,6%,35%);
  line-height: 1.5;
  padding: .06rem 0;
}
.sc-dex-line b {
  color: hsl(38,8%,7%);
  font-weight: 600;
}
.sc-dex-meta {
  font-size: .68rem;
  color: hsl(38,5%,56%);
  margin-top: .12rem;
  font-style: italic;
}
/* ===== 记忆区（独立面板） ===== */
.sc-mem-panel {
  border-left: 4px solid hsl(200,30%,50%) !important;
}
.sc-mem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: .5rem .6rem;
}
.sc-mem-col {
  background: hsl(38,25%,96%);
  border-radius: 6px;
  padding: .35rem .45rem;
  border: 1px solid hsl(38,25%,88%);
}
.sc-mem-h {
  font-weight: 700;
  font-size: .74rem;
  color: hsl(38,8%,7%);
  font-family: 'STKaiti','KaiTi','Noto Serif SC',serif;
  letter-spacing: .03em;
  margin-bottom: .2rem;
  padding-bottom: .15rem;
  border-bottom: 1px dotted hsl(38,25%,80%);
}
.sc-mem-text {
  font-family: 'SF Mono','Consolas','Menlo',monospace;
  font-size: .7rem;
  line-height: 1.45;
  color: hsl(38,6%,35%);
  white-space: pre-wrap;
  max-height: 160px;
  overflow-y: auto;
}
@media (max-width: 600px) {
  .sc-mem-grid { grid-template-columns: 1fr; }
}
/* ===== 隐藏状态链 ===== */
.sc-chain-data { display: none !important; }
/* ===== 响应式 ===== */
@media (max-width: 600px) {
  .sc-panel .sc-status-grid { grid-template-columns: 1fr; }
  .sc-day, .sc-chain, .sc-panel, .sc-dex-panel, .sc-focus, .sc-unfocus, .sm-actions {
    max-width: 100%;
    margin-left: .2rem;
    margin-right: .2rem;
  }
  .sc-seg-h { font-size: .76rem; padding: .4rem .5rem; }
  .sc-ev-hd { font-size: .78rem; padding: .3rem .45rem; }
  .sc-ev-body { padding: .35rem .45rem; font-size: .78rem; }
  .sc-attr-bar-wrap .sc-attr-label { width: 48px; font-size: .7rem; }
}
/* ===== 降速兜底 ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}