/* ============================================================
   focus-redesign.css — focused chat / expressive casebook home
   2026.10 / 仅在核心屏幕上重构视觉，不改变故事引擎
   ============================================================ */

/* ========== GAME / 上方模拟聊天 + 下方唯一决策卡 ========== */
.game--chat {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  min-height: 0;
  padding: 0;
  background:
    radial-gradient(ellipse at 3% 1%, rgba(232,164,115,.20), transparent 42%),
    radial-gradient(ellipse at 98% 70%, rgba(116,163,149,.19), transparent 49%),
    #e9eee8;
}
.game--chat .chat-window {
  position: relative;
  flex: 1 1 0; min-height: 0;
  margin: 12px 12px 9px;
  display: flex; flex-direction: column;
  border: 1px solid rgba(42,84,74,.13);
  border-radius: 25px;
  overflow: hidden;
  isolation: isolate;
  background: #f4f5f0;
  box-shadow: 0 10px 34px rgba(26,66,56,.09), inset 0 1px 0 rgba(255,255,255,.7);
}
.game--chat .chat-window::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  opacity: .43;
  background:
    radial-gradient(circle at 28px 28px, rgba(97,137,113,.055) 2px, transparent 2px) 0 0 / 34px 34px,
    linear-gradient(170deg, #f8faf5 0%, #eef3ef 100%);
  pointer-events: none;
}
.game--chat .chat-header {
  display: flex; align-items: center; gap: 10px;
  flex: 0 0 auto;
  padding: 15px 14px 12px;
  min-height: 70px;
  border-bottom: 1px solid #e5eae2;
  background: rgba(255,254,250,.97);
}
.game--chat .chat-back,
.game--chat .chat-menu {
  display: grid; place-items: center;
  flex: 0 0 35px;
  width: 35px; height: 35px;
  border-radius: 11px;
  border: 1px solid #e2e8e1;
  background: #f5f7f3;
  color: #2e6158;
  transition: background .2s, border-color .2s;
}
.game--chat .chat-back:hover, .game--chat .chat-menu:hover {
  background: #e7f0e8; border-color: #b4d6c4;
}
.game--chat .chat-back svg { transform: rotate(180deg); }
.game--chat .chat-back svg, .game--chat .chat-menu svg { width: 17px; height: 17px; }
.game--chat .chat-identity { min-width: 0; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.game--chat .chat-identity-kicker {
  font-family: var(--ff-num); font-size: 8px; font-weight: 800;
  color: #8c9d92; letter-spacing: .055em; line-height: 1.4;
  white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}
.game--chat .chat-name {
  color: #21473e; font-size: 15px; font-weight: 850; line-height: 1.2;
  white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}
.game--chat .chat-context {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 10px 17px 8px;
  background: rgba(245,248,242,.95);
  color: #778a7c; font-size: 10px;
  border-bottom: 1px solid rgba(59,107,82,.055);
}
.game--chat .chat-chapter {
  display: block; min-width: 0; font-weight: 800; color: #487a68;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.game--chat .chat-step { flex: 0 0 auto; font-family: var(--ff-num); font-size: 9px; color: #96a69a; }
.game--chat .game-story {
  padding: 18px 15px 20px;
  flex: 1 1 0; min-height: 0; width: 100%;
  overflow-y: auto; overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: transparent;
  scroll-padding-bottom: 15px;
}
.game--chat .log {
  display: flex; flex-direction: column; gap: 13px;
  min-height: 100%;
}
.game--chat .log > :first-child { margin-top: auto; }
.game--chat .log-row {
  width: 100%; max-width: 100%;
  animation: fz-chat-appear .27s ease both;
}
@keyframes fz-chat-appear {
  from { transform: translateY(8px); opacity: .35; }
  to { transform: translateY(0); opacity: 1; }
}
.game--chat .bubble { max-width: 96%; gap: 8px; }
.game--chat .bubble-body { min-width: 0; max-width: min(100%, 276px); }
.game--chat .bubble-avatar { border: 1px solid #cadbd0; background: #e2e9e2; width: 31px; height: 31px; }
.game--chat .bubble-name { margin-bottom: 5px; color: #729285; font-size: 10px; }
.game--chat .bubble-text {
  background: #fffefb;
  border: 1px solid #e4ebe3;
  border-radius: 6px 17px 17px 17px;
  padding: 11px 12px;
  font-size: var(--fs-md); font-weight: 550;
  line-height: 1.87;
  letter-spacing: .015em;
  color: #2f4943;
  box-shadow: 0 5px 14px rgba(28,72,57,.07);
}
.game--chat .bubble-avatar + .bubble-body .bubble-text::before { display: none; }
.game--chat .bubble--self .bubble-text {
  background: #d9e9dc;
  border-color: #cee1d2;
  border-radius: 17px 6px 17px 17px;
  color: #245548;
}
.game--chat .bubble--scam .bubble-text { background: #fff7f0; border-color: #f3e0d2; }
.game--chat .bubble--ally .bubble-text { background: #eaf6ec; border-color: #d6e9d8; }
.game--chat .log-narr {
  width: 100%; max-width: 100%; margin: 2px auto;
  border: 1px solid #e7e7d9; border-left: 3px solid #d09a6d;
  border-radius: 7px 14px 14px 7px;
  background: #fffef7;
  color: #59685d;
  font-size: var(--fs-md); font-weight: 570; line-height: 1.95;
  padding: 13px 14px; box-shadow: 0 6px 18px rgba(40,70,55,.05);
  overflow-wrap: anywhere; white-space: pre-line;
}
.game--chat .sys-note {
  max-width: 100%; align-self: center; border-radius: 9px;
  padding: 7px 11px; font-size: 11px; color: #698477;
  background: rgba(220,232,218,.78);
}
.game--chat .ui-mock {
  width: 100%; max-width: 100%; min-width: 0; overflow: hidden;
  border: 1px solid #dbe4de; border-radius: 13px;
  background: #fffefa; box-shadow: 0 7px 19px rgba(24,69,53,.07);
}
.game--chat .ui-mock-bar { background: #eaf0ea; border-color: #dbe5da; }
.game--chat .ui-mock-body { padding: 10px; }
.game--chat .mk-shot, .game--chat .mk-vcall { max-width: 100%; }
.game--chat .anchor-card {
  max-width: 100%; border: 1px solid #a4d2ba;
  background: #f5fff7; box-shadow: 0 4px 15px rgba(38,110,75,.07);
}
.game--chat .chat-input-faux {
  display: flex; flex: 0 0 44px; align-items: center; gap: 10px;
  padding: 0 14px;
  border-top: 1px solid #e3e8e0;
  background: #fffefa; color: #96a69d;
}
.chat-input-plus {
  display: grid; place-items: center; width: 24px; height: 24px;
  border: 1.5px solid #a6b8ac; border-radius: 50%;
  font-size: 20px; line-height: 1; font-weight: 400;
}
.chat-input-placeholder { padding: 8px 12px; border-radius: 99px; background: #f4f5ef; flex: 1; font-size: 11px; }
.chat-input-dots { font-size: 14px; letter-spacing: 2px; color: #729786; }

/* 单一选择卡：整张卡是一个组件，不再堆叠多个浮动纸盒 */
.game--chat .decision-dock {
  flex: 0 1 auto; min-height: 0;
  display: block;
  max-height: min(47dvh, 390px);
  overflow-y: auto; overflow-x: hidden;
  margin: 0 12px calc(9px + var(--sab));
  padding: 0;
  border: 0; background: transparent; box-shadow: none;
  z-index: 20;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.game--chat .decision-dock:has(.choices) { padding: 0; background: transparent; border: 0; box-shadow: none; }
.game--chat .decision-dock:has(.choices)::before { display: none; }
.game--chat .decision-host { width: 100%; }
.game--chat .decision-card {
  display: flex; flex-direction: column; gap: 0;
  min-width: 0; width: 100%; margin: 0;
  padding: 16px;
  border-radius: 23px;
  background: #fffefb;
  border: 1px solid #dce7de;
  box-shadow: 0 10px 24px rgba(25,74,54,.13);
  overflow: hidden;
}
.decision-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 10px; font-weight: 800; letter-spacing: .10em;
  color: #417869; margin-bottom: 7px;
}
.decision-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #e49862; box-shadow: 0 0 0 3px rgba(228,152,98,.13);
}
.game--chat .choices-prompt {
  display: block; font-size: 17px; font-weight: 900;
  line-height: 1.43; color: #193e35;
  margin: 0 0 5px; padding: 0;
}
.game--chat .choices-helper {
  display: block; margin: 0 0 12px; line-height: 1.65;
  font-size: 10px; font-weight: 550; color: #8da098;
}
.game--chat .choices > .tiny { margin: 0 0 10px !important; font-size: 10px; }
.game--chat .choice {
  display: flex; align-items: center; gap: 11px;
  flex: 0 0 auto;
  width: 100%; text-align: left;
  min-height: 47px;
  margin: 0; padding: 11px 11px;
  border-radius: 10px;
  border: 1px solid #e4ece3;
  background: #f8faf6;
  box-shadow: none;
  line-height: 1.53;
  font-size: 12.5px; font-weight: 730;
  transition: border-color .15s, background .15s, transform .15s;
}
.game--chat .choice + .choice { margin-top: 8px; }
.game--chat .choice:hover, .game--chat .choice:focus-visible {
  background: #ecf6ee; border-color: #7db59b; box-shadow: none;
}
.game--chat .choice:active { transform: scale(.99); }
.game--chat .choice .choice-idx,
.game--chat .choice--risky .choice-idx,
.game--chat .choice--wise .choice-idx {
  flex: 0 0 27px; display: grid; place-items: center;
  width: 27px; height: 27px; border-radius: 9px;
  background: #e5efe6; color: #3e8270;
  font: 800 12px/1 var(--ff-num); margin: 0;
}
.game--chat .choice-label { color: #284b41; line-height: 1.58; font-weight: 730; }
.game--chat .choice-hint { font-size: 10px; line-height: 1.5; color: #81998c; }
.game--chat .choice--risky, .game--chat .choice--wise {
  background: #f8faf6; border-color: #e4ece3;
}
.game--chat .choice--risky::before, .game--chat .choice--risky::after { display: none !important; }
.game--chat .decision-card--continue { gap: 0; }
.game--chat .decision-continue-row { display: flex; align-items: center; gap: 12px; justify-content: space-between; }
.game--chat .decision-continue-row > div { min-width: 0; flex: 1; }
.game--chat .decision-continue-row strong { font-size: 15px; color: #1c4539; line-height: 1.45; }
.game--chat .decision-continue-row p { font-size: 10px; color: #82988a; line-height: 1.6; margin-top: 4px; }
.game--chat .continue-cue {
  display: inline-flex; align-items: center; gap: 6px;
  flex: 0 0 auto; width: auto; height: 45px; min-height: 45px;
  margin: 0; padding: 0 17px; border-radius: 13px;
  border: 1px solid #225e4c; background: #286e57;
  color: #fff; font-size: 12px; font-weight: 900;
  box-shadow: 0 5px 12px rgba(27,105,68,.16);
}
.game--chat .continue-cue:hover { background: #205c49; }
.game--chat .continue-cue svg { color: #fff; width: 16px; height: 16px; }

/* 辅助数据与历史交给菜单，避免回到堆砌式信息布局 */
.game-menu-info {
  padding: 13px 14px; border-radius: 15px;
  background: linear-gradient(125deg,#ecf5e9,#f9fcf4);
  border: 1px solid #d7e6d8;
}
.game-menu-info > p { font-size: 13px; font-weight: 850; color: #255742; }
.game-menu-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 12px; }
.game-menu-metrics div { display: flex; flex-direction: column; gap: 2px; border-right: 1px solid #d6e4d9; }
.game-menu-metrics div:last-child { border-right: none; }
.game-menu-metrics span { font-size: 9px; color: #7c9483; }
.game-menu-metrics strong { font-family: var(--ff-num); font-size: 19px; color: #2b765d; }
.game-menu-actions { display: grid; gap: 9px; margin-top: 13px; }
.game-menu-action {
  display: flex; align-items: center; gap: 10px;
  width: 100%; min-height: 46px; padding: 11px 13px;
  border: 1px solid #dce8da; border-radius: 12px;
  background: #fffefa; font-size: 12px; font-weight: 780; color: #2d6050;
}
.game-menu-action:hover { background: #eef6eb; }
.game-menu-action svg { height: 17px; width: 17px; }

/* compact viewport: 短屏优先让选项可滚动、消息区保持可见 */
@media (max-height: 710px) {
  .game--chat .chat-window { margin: 7px 9px 6px; border-radius: 19px; }
  .game--chat .chat-header { padding: 9px 10px; min-height: 54px; }
  .game--chat .chat-context { padding: 6px 12px; }
  .game--chat .game-story { padding: 11px 11px 13px; }
  .game--chat .decision-dock { max-height: 47dvh; margin: 0 9px calc(5px + var(--sab)); }
  .game--chat .decision-card { padding: 12px; border-radius: 18px; }
  .game--chat .choice { padding: 8px 10px; min-height: 42px; }
  .game--chat .choices-prompt { font-size: 15px; }
  .game--chat .chat-input-faux { flex-basis: 36px; }
}
@media (max-height: 550px) {
  .game--chat .chat-header { padding: 6px 9px; min-height: 44px; }
  .game--chat .chat-context { padding: 5px 10px; }
  .game--chat .chat-input-faux { display: none; }
  .game--chat .decision-dock { max-height: 52dvh; }
  .game--chat .decision-card { padding: 10px; }
  .game--chat .choices-helper { display: none; }
}
@media (max-width: 340px) {
  .game--chat .chat-identity-kicker { display: none; }
  .game--chat .chat-header { min-height: 52px; }
  .game--chat .game-story { padding: 10px; }
  .game--chat .decision-card { padding: 11px; }
  .game--chat .choice { font-size: 12px; }
}

/* ========== HOME / 有戏剧张力的案件杂志海报 ========== */
.home { background: #f5f2e8; }
.home .home-topbar {
  padding: calc(var(--sat) + 10px) 16px 9px;
  border: none;
  background: #f5f2e8; box-shadow: none;
}
.home-nav { display: flex; align-items: center; gap: 9px; min-height: 34px; }
.home-nav-icon {
  display: grid; place-items: center; width: 33px; height: 33px; border-radius: 10px;
  background: #1e514b; color: #fff;
}
.home-nav-icon svg { width: 18px; height: 18px; color: #fff; }
.home-nav-title {
  display: flex; gap: 8px; align-items: baseline;
  color: #234b43; font-size: 16px; font-weight: 900; letter-spacing: .07em;
}
.home-nav-title small { color: #9b9e8c; font-size: 9px; font-weight: 700; letter-spacing: .045em; }
.home-nav-spacer { flex: 1; }
.home-nav-action {
  display: grid; place-items: center; width: 36px; height: 34px;
  color: #355d4a; background: #fffaf1; border: 1px solid #e7e3d5;
  border-radius: 11px;
}
.home-nav-action svg { width: 17px; height: 17px; }
.home-nav-action:hover { background: #e9e5d7; }
.home .scroll-area { background: #f5f2e8; }
.home .home-hero--editorial {
  position: relative; isolation: isolate;
  min-height: auto; overflow: hidden;
  margin: 5px 13px 0;
  padding: 20px 19px 15px;
  border-radius: 24px;
  border: 1px solid #ddbfa1;
  background:
    radial-gradient(circle at 95% 20%, #f6e3c1 0%, transparent 40%),
    radial-gradient(circle at 5% 94%, #d6e4d3 0%, transparent 51%),
    linear-gradient(145deg, #f8ead6 0%, #f2e5cf 65%, #f5e5c8 100%);
  color: #263f38;
  box-shadow: 0 16px 35px rgba(111,77,44,.10);
}
.home .home-hero--editorial::before {
  content: ""; display: block;
  position: absolute; z-index: -1;
  width: 210px; height: 210px; top: 68px; right: -97px;
  border-radius: 50%;
  border: 28px solid rgba(206,141,95,.09);
  box-shadow: 0 0 0 25px rgba(211,151,109,.055);
  pointer-events: none;
}
.home .home-hero--editorial::after { content: none; }
.hero-grain {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .2;
  background-image: repeating-linear-gradient(122deg, transparent 0 17px, rgba(133,93,64,.11) 18px, transparent 19px 38px);
  mask-image: linear-gradient(110deg,transparent 30%,#000 110%);
}
.hero-topline, .hero-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.hero-topline {
  padding-bottom: 10px; margin-bottom: 13px;
  border-bottom: 1px solid rgba(105,87,58,.20);
}
.hero-index, .hero-series { font: 800 8px/1.4 var(--ff-num); color: #9a795b; letter-spacing: .1em; }
.hero-series { color: #6a8c6c; }
.hero-copy { position: relative; }
.hero-overline {
  display: inline-block; font-size: 10px; font-weight: 800;
  color: #7c7765; letter-spacing: .04em; margin-bottom: 2px;
}
.hero-title {
  display: flex; align-items: baseline;
  color: #1c453e; font-size: clamp(57px, 18vw, 76px);
  line-height: 1.12; letter-spacing: -.065em;
  font-weight: 950;
  text-shadow: 0 3px 0 rgba(255,255,255,.28);
}
.hero-title span { color: #c4694e; margin-left: 3px; }
.hero-title i { color: #a2ab93; font-size: 40px; font-style: normal; margin-left: 3px; }
.hero-lead { font-size: 19px; font-weight: 900; letter-spacing: .012em; color: #294d41; margin: 2px 0 6px; }
.hero-lead em { color: #c56b51; font-style: normal; }
.hero-description {
  max-width: 29ch; margin: 0;
  font-size: 10.5px; font-weight: 600;
  line-height: 1.9; color: #7e7565;
}
.hero-poster {
  margin: 20px 0 16px 11px;
  position: relative;
  padding: 15px 14px 16px;
  background: #fffdf8;
  border: 1px solid #e4d3be;
  border-radius: 16px 16px 6px 16px;
  transform: rotate(-1.9deg);
  box-shadow: 7px 9px 0 #dfc8aa, 0 18px 25px rgba(107,74,38,.12);
}
.hero-poster::before {
  content: ""; position: absolute; top: -9px; left: 43%;
  width: 64px; height: 20px; transform: rotate(4deg);
  background: rgba(202,128,79,.30);
  border-left: 1px dashed rgba(147,94,58,.28);
  border-right: 1px dashed rgba(147,94,58,.28);
  border-radius: 2px;
}
.hero-poster-tag { font: 800 8px var(--ff-num); letter-spacing: .18em; color: #ae967f; margin-bottom: 11px; }
.hero-message { display: flex; align-items: flex-start; gap: 9px; max-width: 91%; }
.hero-message-avatar {
  display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 auto;
  border-radius: 9px; background: #f1dfd3; color: #ba7054; font-size: 14px; font-weight: 900;
}
.hero-message > div { flex: 1; min-width: 0; }
.hero-message small { display: block; color: #8a9d90; font-size: 9px; margin-bottom: 4px; }
.hero-message p {
  display: block; padding: 9px 10px;
  background: #f4f1ed; border-radius: 3px 11px 11px 11px;
  border: 1px solid #eee7df; font-size: 10px; font-weight: 600; line-height: 1.65; color: #5a635d;
}
.hero-reply {
  display: flex; align-items: center; gap: 7px;
  width: fit-content; max-width: 87%; margin: 10px 0 0 auto;
  padding: 8px 11px;
  color: #27674f; background: #e2f1e3;
  border: 1px solid #cfe6d3;
  border-radius: 11px 3px 11px 11px;
  font-size: 11px; font-weight: 850;
}
.hero-reply svg { width: 14px; height: 14px; flex: 0 0 auto; }
.hero-seal {
  position: absolute; right: -2px; top: -15px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  height: 58px; width: 58px; border-radius: 50%;
  transform: rotate(14deg);
  border: 3px double #cb6656;
  color: #c36a58; background: #fff3e9;
  font-size: 16px; font-weight: 950;
  box-shadow: 0 2px 0 rgba(180,83,60,.13);
}
.hero-seal small { font-size: 9px; font-weight: 800; line-height: 1; letter-spacing: .12em; }
.hero-foot {
  padding-top: 12px;
  border-top: 1px solid rgba(105,87,58,.18);
  font-size: 10px; font-weight: 750; color: #728272;
}
.hero-foot-mark { display: inline-flex; align-items: center; gap: 6px; }
.hero-foot-mark i { width: 6px; height: 6px; border-radius: 50%; background: #c1785d; }
.hero-foot-arrow { display: inline-flex; gap: 5px; align-items: center; color: #3a7763; }
.hero-foot-arrow svg { width: 13px; height: 13px; transform: rotate(90deg); }

.home-body { padding: 24px 15px 24px; }
.case-index { margin: 0 0 14px; align-items: flex-end; }
.case-index-kicker { color: #b47e61; font-family: var(--ff-num); }
.case-index h2 { color: #27473d; font-size: 22px; font-weight: 900; letter-spacing: .01em; }
.case-index-note { color: #998e78; }
.case-filter[aria-pressed="true"] { background: #2a6857; border-color: #2a6857; }
.case-search { border-color: #e3e4d8; background: #fffefa; }
.case-filter { background: #fbfbf4; border-color: #e2e5d9; }
.resume-card { border-color: #d3e0c7; background: #e7eee0; }
.resume-icon { background: #2a6857; }
.script-card {
  border-radius: 18px;
  background: #fffef9;
  border: 1px solid #e9e4d8;
  box-shadow: 0 5px 0 rgba(146,115,73,.035), 0 13px 25px rgba(101,85,57,.045);
  padding: 14px;
}
.script-card::before { background: #d5a17e; width: 3px; opacity: .7; }
.script-card:hover { border-color: #d0b797; box-shadow: 0 10px 28px rgba(103,78,40,.12); }
.script-card .sc-cover {
  width: 77px; height: 91px;
  border-radius: 11px;
  border: 1px solid rgba(29,71,58,.11);
  box-shadow: 0 4px 10px rgba(22,59,44,.08);
}
.script-card .sc-badges { gap: 4px; }
.script-card .sc-title { font-size: 17px; letter-spacing: .01em; }
.script-card .sc-desc { color: #7d8073; }
.script-card .sc-cta { margin-top: 12px; padding-top: 11px; border-top: 1px dashed #e8e6d9; }
.script-card .sc-cta-btn {
  background: #2a6857; color: #fff;
  border-radius: 9px;
  padding: 8px 12px;
}
.script-card .sc-badge--diff { border-color: #e8e2d3; }
.sc-featured-label {
  display: flex; align-items: center; justify-content: space-between;
  gap: 6px; margin: -2px 1px 10px;
  padding-bottom: 9px; border-bottom: 1px solid rgba(237,224,202,.24);
}
.sc-featured-label span {
  font-size: 11px; font-weight: 850; color: #f5d9a8;
  letter-spacing: .09em;
}
.sc-featured-label small { font: 750 9px var(--ff-num); letter-spacing: .1em; color: #afcfb6; }
.script-card--featured {
  background:
    radial-gradient(circle at 96% 0%, rgba(164,209,163,.17),transparent 49%),
    linear-gradient(137deg, #1d4b41, #1e3938 85%);
  border: 1px solid #235449;
  box-shadow: 0 12px 27px rgba(29,74,61,.18);
}
.script-card--featured::before { background: #ebb47d; }
.script-card--featured .sc-cover { border-color: rgba(247,238,217,.17); }
.script-card--featured .sc-title, .script-card--featured .sc-no { color: #fffaea; }
.script-card--featured .sc-desc { color: #c4d6c8; }
.script-card--featured .sc-meta i { color: #c9d8c7; }
.script-card--featured .sc-meta svg { color: #dfb88c; }
.script-card--featured .sc-badge { background: rgba(255,255,255,.09); color: #f4ead7; border-color: rgba(255,255,255,.22); }
.script-card--featured .sc-badge--hot { background: rgba(238,155,117,.19); color: #ffd2b1; }
.script-card--featured .sc-cta { border-top-color: rgba(232,242,227,.17); }
.script-card--featured .sc-cta-btn { background: #f0ba82; color: #285045; }
.script-card--featured .sc-ring-txt { color: #f6e9d5; }
.script-card--featured .sc-ring svg circle:first-child { stroke: rgba(255,255,255,.22); }
.script-card--featured:hover { border-color: #35765e; box-shadow: 0 16px 34px rgba(29,74,61,.23); }
.case-list .script-card:nth-child(3n+2):not(.script-card--featured) .sc-cover { background: #e7f0eb; }
.case-list .script-card:nth-child(3n+3):not(.script-card--featured) .sc-cover { background: #f6e8df; }
.home-tiles { margin-top: 5px; gap: 8px; }
.home-tile { border: 1px solid #ebe5d9; background: #fcfbf5; box-shadow: none; }
.home-tile svg { color: #4e7965; }
.home .bar-bottom {
  border-top: 1px solid #e6dfd0;
  padding: 10px 15px calc(var(--sab) + 8px);
  background: rgba(251,248,237,.98);
  box-shadow: 0 -5px 16px rgba(113,91,56,.03);
}
.home-hotline {
  padding: 7px 10px; min-height: 52px; border: 1px solid #edd7c6;
  background: #fff8ed; border-radius: 12px;
}
.home-hotline svg { color: #c47858; width: 20px; height: 20px; }
.home-hotline-txt b { font-size: 11px; }
.home-hotline-txt span { font-size: 9px; }
.home-hotline a { padding: 7px 10px; font-size: 13px; border-radius: 9px; background: #b85e4a; }
.home-credit { margin-top: 5px; font-size: 8px; line-height: 1.5; }

@media (max-width: 360px) {
  .home .home-hero--editorial { margin: 4px 9px 0; padding: 16px 14px 13px; border-radius: 19px; }
  .hero-title { font-size: 58px; }
  .hero-poster { margin-left: 6px; padding: 13px 11px; }
  .hero-description { font-size: 10px; }
  .home-body { padding-left: 11px; padding-right: 11px; }
  .script-card .sc-cover { width: 64px; height: 83px; }
  .script-card .sc-badges { gap: 3px; }
  .script-card .sc-title { font-size: 15px; }
  .script-card .sc-meta { gap: 7px; }
  .sc-featured-label small { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .game--chat .log-row { animation: none; }
  .game--chat .choice { animation: none; }
  .hero-poster { transition: none; }
}


/* 桌面设备刘海与移动设备安全区 */
.game--chat .chat-header { padding-top: calc(15px + var(--sat)); }
@media (min-width: 768px) {
  .game--chat .chat-header { padding-top: 36px; min-height: 94px; }
  .home .home-topbar { padding-top: 36px; }
}
@media (max-height: 710px) and (max-width: 767px) {
  .game--chat .chat-header { padding-top: calc(9px + var(--sat)); }
}
@media (max-height: 550px) and (max-width: 767px) {
  .game--chat .chat-header { padding-top: calc(6px + var(--sat)); }
}
