/* =============================================
   中式人生·高中
   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,
.sc-panel .sc-sg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: .5rem .6rem;
}
/* 状态块 */
.sc-stat-block,
/* 状态块 */
.sc-bk {
  background: hsl(38,25%,96%);
  border-radius: 6px;
  padding: .4rem .5rem;
  border: 1px solid hsl(38,25%,88%);
}
.sc-stat-h,
.sc-sh {
  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,
/* 基础属性行 */
.sc-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px;
  padding: .12rem 0;
  font-size: .76rem;
}
.sc-stat-row span:first-child,
.sc-row span:first-child {
  color: hsl(38,5%,56%);
  font-weight: 500;
  flex-shrink: 0;
}
.sc-stat-row span:last-child,
.sc-row span:last-child {
  color: hsl(38,8%,7%);
  font-weight: 600;
  text-align: right;
}
/* ===== 七维属性网格 ===== */
.sc-attr-grid,
/* ===== 七维属性网格 ===== */
.sc-gg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 8px;
}
.sc-attr-cell,
.sc-cl {
  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,
.sc-nm {
  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,
.sc-ky {
  font-size: .7rem;
  color: hsl(38,5%,56%);
  font-weight: 500;
}
/* 数值色阶 */
.sc-attr-num.sc-lo,
/* 数值色阶 */
.sc-nm.sc-lo {
 color: hsl(0,55%,42%); }
/* <200 红 */
.sc-attr-num.sc-mid,
/* <200 红 */
.sc-nm.sc-mid {
 color: hsl(25,55%,40%); }
/* 200-400 橙 */
.sc-attr-num.sc-ok,
/* 200-400 橙 */
.sc-nm.sc-ok {
 color: hsl(38,6%,35%); }
/* 400-600 灰 */
.sc-attr-num.sc-hi,
/* 400-600 灰 */
.sc-nm.sc-hi {
 color: hsl(140,45%,35%); }
/* 600-800 绿 */
.sc-attr-num.sc-top,
/* 600-800 绿 */
.sc-nm.sc-top {
 color: hsl(40,55%,35%); }
/* 800+ 金 */
/* 档位标签 */
.sc-attr-tip,
/* 800+ 金 */
/* 档位标签 */
.sc-tp {
  font-size: .6rem;
  font-weight: 700;
  padding: .02rem .32rem;
  border-radius: 8px;
  line-height: 1.4;
  white-space: nowrap;
  background: hsl(38,20%,93%);
  color: hsl(38,8%,40%);
}
.sc-attr-tip.t-lo,
.sc-tp.t-lo {
 background: hsl(0,22%,95%); color: hsl(0,55%,42%); }
.sc-attr-tip.t-mid,
.sc-tp.t-mid {
 background: hsl(25,30%,95%); color: hsl(25,55%,40%); }
.sc-attr-tip.t-ok,
.sc-tp.t-ok {
 background: hsl(38,12%,94%); color: hsl(38,6%,40%); }
.sc-attr-tip.t-hi,
.sc-tp.t-hi {
 background: hsl(140,22%,95%); color: hsl(140,45%,35%); }
.sc-attr-tip.t-top,
.sc-tp.t-top {
 background: hsl(40,28%,94%); color: hsl(40,55%,35%); }
/* 心情值大号 */
.sc-mood-big,
/* 心情值大号 */
.sc-mb {
  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,
.sc-mb .sc-ky {
 font-weight: 700; color: hsl(0,44%,30%); }
.sc-mood-big .sc-attr-num,
.sc-mb .sc-nm {
 font-size: 1.3rem; }
/* ===== 两行条目：标题行 + └─描述行（七维/人际关系） ===== */
.sc-rl {
  display: flex;
  align-items: baseline;
  gap: .3rem;
  padding: .15rem 0 .05rem;
  font-size: .78rem;
  font-weight: 600;
  color: hsl(38,8%,7%);
}
.sc-rl .sc-ky {
  font-size: .95rem;
  font-weight: 700;
}
.sc-rl .sc-ky.k1, .sc-ab.k1 .sc-ky { color: hsl(214,50%,35%); }
.sc-rl .sc-ky.k2, .sc-ab.k2 .sc-ky { color: hsl(355,55%,38%); }
.sc-rl .sc-ky.k3, .sc-ab.k3 .sc-ky { color: hsl(30,60%,38%); }
.sc-rl .sc-ky.k4, .sc-ab.k4 .sc-ky { color: hsl(145,40%,28%); }
.sc-rl .sc-ky.k5, .sc-ab.k5 .sc-ky { color: hsl(185,42%,32%); }
.sc-rl .sc-ky.k6, .sc-ab.k6 .sc-ky { color: hsl(335,45%,38%); }
.sc-rl .sc-ky.k7, .sc-ab.k7 .sc-ky { color: hsl(40,75%,30%); }
.sc-rl .sc-nm {
  font-size: .95rem;
}
.sc-rd {
  padding: 0 0 .25rem 1.4rem;
  font-size: .74rem;
  line-height: 1.6;
  color: hsl(38,5%,50%);
}
/* ===== 属性方框（七维每维一个·左色条=属性色） ===== */
.sc-ab {
  background: linear-gradient(135deg, hsl(38,30%,99%), hsl(38,22%,97%));
  border: 1px solid hsl(38,25%,90%);
  border-left: 3px solid hsl(38,25%,82%);
  border-radius: 6px;
  padding: .2rem .5rem .15rem;
  margin-bottom: .35rem;
}
.sc-ab .sc-rl { padding-top: .05rem; }
.sc-ab .sc-rd { padding-bottom: .05rem; }
.sc-ab.k1 { border-left-color: hsl(214,50%,35%); }
.sc-ab.k2 { border-left-color: hsl(355,55%,38%); }
.sc-ab.k3 { border-left-color: hsl(30,60%,38%); }
.sc-ab.k4 { border-left-color: hsl(145,40%,28%); }
.sc-ab.k5 { border-left-color: hsl(185,42%,32%); }
.sc-ab.k6 { border-left-color: hsl(335,45%,38%); }
.sc-ab.k7 { border-left-color: hsl(40,75%,30%); }
/* ===== 天赋卡片 ===== */
.sc-talent-card,
/* ===== 天赋卡片 ===== */
.sc-tc {
  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,
.sc-tn {
  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,
.sc-td {
  font-size: .7rem;
  color: hsl(38,5%,56%);
  line-height: 1.35;
}
/* ===== 人物图鉴 ===== */
.sc-dex-panel,
/* ===== 人物图鉴 ===== */
.sc-dp {
  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,
.sc-dp 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,
.sc-ds {
 padding: .4rem .6rem; }
.sc-dex-item,
.sc-di {
  padding: .4rem 0;
  border-bottom: 1px dotted hsl(38,25%,88%);
}
.sc-dex-item:last-child,
.sc-di:last-child {
 border-bottom: none; }
.sc-dex-name,
.sc-dn {
  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,
.sc-dt {
 padding-left: .2rem; }
.sc-dex-line,
.sc-dl {
  font-size: .74rem;
  color: hsl(38,6%,35%);
  line-height: 1.5;
  padding: .06rem 0;
}
.sc-dex-line b,
.sc-dl b {
  color: hsl(38,8%,7%);
  font-weight: 600;
}
.sc-dex-meta,
.sc-dm {
  font-size: .68rem;
  color: hsl(38,5%,56%);
  margin-top: .12rem;
  font-style: italic;
}
/* ===== 记忆区（独立面板） ===== */
.sc-mem-panel,
/* ===== 记忆区（独立面板） ===== */
.sc-mp {
  border-left: 4px solid hsl(200,30%,50%) !important;
}
.sc-mem-grid,
.sc-mg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: .5rem .6rem;
}
.sc-mem-col,
.sc-mc {
  background: hsl(38,25%,96%);
  border-radius: 6px;
  padding: .35rem .45rem;
  border: 1px solid hsl(38,25%,88%);
}
.sc-mem-h,
.sc-mh {
  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,
.sc-mt {
  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, .sc-mg { grid-template-columns: 1fr; }
}/* ===== 隐藏状态链 ===== */
.sc-chain-data,
/* ===== 隐藏状态链 ===== */
.sc-cd {
 display: none !important; }
/* ===== 响应式 ===== */
@media (max-width: 600px) {
  .sc-panel .sc-status-grid, .sc-panel .sc-sg { grid-template-columns: 1fr; }
.sc-day,
.sc-chain,
.sc-panel,
.sc-dex-panel,
.sc-dp,
.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;
  }
}
/* ==========================================================
   MOD · 传闻 —— 校园八卦流
   班级信息总览 / 大喇叭 / 表白墙·树洞 / 心声频道
   独立MOD样式，不与主卡 sc-* 冲突
   ========================================================== */
.sc-rumor-panel {
  max-width: 720px;
  margin: .4rem auto;
  background: hsl(38,25%,100%);
  border: 1px solid hsl(38,25%,80%);
  border-radius: 8px;
  font-size: .78rem;
  line-height: 1.6;
  color: hsl(38,6%,35%);
}
.sc-rumor-h {
  padding: .4rem .7rem;
  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;
}
/* 频道一 · 班级信息 */
.sc-rumor-info { border-left: 4px solid hsl(200,35%,50%); }
.sc-rumor-line {
  padding: .12rem .7rem;
  font-size: .76rem;
  color: hsl(38,6%,35%);
}
.sc-rumor-line b { color: hsl(38,8%,7%); }
/* 频道二 · 大喇叭 */
.sc-rumor-item {
  padding: .18rem .7rem;
  border-bottom: 1px dotted hsl(38,25%,88%);
  font-size: .76rem;
}
.sc-rumor-item:last-child { border-bottom: none; }
.rumor-tag {
  display: inline-block;
  font-size: .6rem;
  font-weight: 700;
  padding: .05rem .3rem;
  border-radius: 3px;
  margin-right: .3rem;
  vertical-align: .05rem;
}
.r-hot      { color: hsl(0,60%,38%);  background: hsl(0,40%,94%); }
.r-official { color: hsl(200,50%,32%); background: hsl(200,40%,94%); }
.r-scandal  { color: hsl(330,50%,42%); background: hsl(330,35%,95%); }
.r-warn     { color: hsl(25,55%,36%);  background: hsl(25,40%,94%); }
/* 频道三 · 表白墙 */
.sc-rumor-post {
  padding: .25rem .7rem;
  font-weight: 700;
  font-size: .78rem;
  color: hsl(0,55%,40%);
  border-bottom: 1px solid hsl(38,25%,85%);
  background: linear-gradient(135deg, hsl(0,40%,97%), hsl(38,35%,97%));
}
.sc-rumor-reply {
  padding: .14rem .7rem .14rem 1.3rem;
  font-size: .74rem;
  color: hsl(38,6%,40%);
}
.sc-rumor-reply::before { content: "↳ "; color: hsl(38,8%,65%); }
/* 频道四 · 心声 */
.sc-rumor-heart { border-left: 4px solid hsl(330,50%,55%); }
.sc-rumor-heartline {
  padding: .28rem .7rem;
  font-size: .76rem;
  color: hsl(330,45%,35%);
  background: hsl(330,20%,96%);
  border-left: 3px solid hsl(330,45%,65%);
  margin: .35rem .7rem;
  border-radius: 0 5px 5px 0;
  font-style: italic;
}
/* 手机自适应 */
@media (max-width: 600px) {
  .sc-rumor-item { font-size: .72rem; }
  .sc-rumor-reply { padding-left: .8rem; font-size: .7rem; }
  .sc-rumor-heartline { margin: .25rem .5rem; }
}