/* 3.9 · 场景化主界面：时间 / 景语 / 旁白 / 家人卡，取代原来堆叠的深色面板 */
body.scene-v2 main .layout>section>.stats,
body.scene-v2 .month-objective,
body.scene-v2 .campaign-hud,
body.scene-v2 .household-pulse,
body.scene-v2 .family-hotspots,
body.scene-v2 .event-seal,
body.scene-v2 .estate-stage__caption{display:none!important}

.stage-shell{position:absolute;inset:0;z-index:14;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;font-family:"Songti SC","Microsoft YaHei",serif}
.stage-shell>*{pointer-events:auto}
body.scene-v2 aside{z-index:80!important}
body.scene-v2 .stage-shell{z-index:5}

/* 顶栏：时间与家计 */
.stage-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px}
.stage-time{display:flex;flex-direction:column;gap:2px;color:#f7ecd6;text-shadow:0 2px 12px #000c}
.stage-time strong{font-size:15px;letter-spacing:1px}
.stage-time small{font-size:11px;opacity:.82;letter-spacing:2px}
.stage-vitals{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stage-vital{padding:6px 12px;border:1px solid #e8d9b84d;border-radius:999px;background:#0f201cd6;color:#f2e6c9;font-size:12px;box-shadow:0 6px 18px #0003}
.stage-vital b{font-weight:600;color:#fff8e6}

/* 地点与景语 */
.stage-caption{align-self:flex-start;margin:0 16px;max-width:min(560px,74%);color:#f7ecd6;text-shadow:0 2px 14px #000d}
.stage-caption h2{margin:0 0 4px;font-size:24px;letter-spacing:4px}
.stage-caption p{margin:0;font-size:13px;line-height:1.9;color:#efe3cb}
.stage-caption button{margin-top:8px;padding:4px 10px;border-radius:999px;border:1px solid #ffffff3d;background:#1024208a;color:#e9dcc0;font-size:11px}
.stage-caption.is-collapsed p{display:none}

/* 底部：旁白 + 家人卡 + 纪事 */
.stage-bottom{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) auto;gap:14px;align-items:end;padding:0 16px 16px}
.stage-narration{padding:14px 16px;border-radius:16px;background:#fffdf6f2;border:1px solid #d9cdb4;box-shadow:0 18px 50px #00000047;backdrop-filter:blur(10px)}
.stage-narration .eyebrow{font-size:10px;letter-spacing:2px;color:#a07b4a}
.stage-narration .stage-line{margin:6px 0 8px;font-size:13px;line-height:1.9;color:#4a4034}
.stage-narration .stage-task{margin:0;font-size:15px;color:#3b2f25;font-weight:600}
.stage-narration .stage-hint{margin:4px 0 10px;font-size:12px;line-height:1.8;color:#7a6b57}
.stage-narration .stage-buttons{display:flex;flex-wrap:wrap;gap:8px}
.stage-narration button{padding:8px 14px;border-radius:10px;font-size:13px}
.stage-narration button.ghost{background:#f4eee2;border:1px solid #e0d5c1;color:#5c5142}

.stage-family{display:flex;gap:10px;overflow-x:auto;padding:4px 2px}
.stage-person{flex:0 0 auto;width:98px;padding:10px 8px;border-radius:14px;background:#fffdf4f0;border:1px solid #ded3bd;box-shadow:0 12px 30px #00000033;text-align:center;color:#4a4034}
.stage-person .game-portrait{width:54px;height:58px;margin:0 auto 6px;border-radius:14px}
.stage-person strong{display:block;font-size:13px}
.stage-person small{display:block;margin-top:2px;font-size:10px;color:#8a7b66}
.stage-person em{display:inline-block;margin-top:6px;padding:1px 7px;border-radius:999px;font-size:10px;font-style:normal;background:#f0b7c2;color:#5d3540;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage-person.is-calm em{background:#dfe6da;color:#4a5b4a}

.stage-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.stage-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;border:2px solid #f0dfb9;background:#9c4433e8;color:#fff6e2;box-shadow:0 18px 44px #00000059;font-family:"STKaiti","KaiTi",serif}
.stage-seal span{font-size:11px;opacity:.85;letter-spacing:2px}
.stage-seal strong{font-size:19px;letter-spacing:3px;margin-top:2px}
.stage-seal.is-ready{animation:stage-seal-pulse 2.4s ease-in-out infinite}
@keyframes stage-seal-pulse{50%{box-shadow:0 18px 44px #00000059,0 0 0 10px #f6c55b22}}
.stage-mini{display:flex;gap:8px}
.stage-mini button{padding:6px 10px;border-radius:999px;border:1px solid #ffffff3d;background:#1024209e;color:#ecdfc2;font-size:11px}

@media(max-width:859px){
  .stage-top{padding:6px 8px}
  .stage-time strong{font-size:13px}
  .stage-vitals{gap:5px}
  .stage-vital{padding:4px 9px;font-size:11px}
  .stage-caption{margin:0 10px;max-width:none}
  .stage-caption h2{font-size:18px;letter-spacing:2px}
  .stage-caption p{font-size:12px;line-height:1.75}
  .stage-bottom{grid-template-columns:1fr;gap:8px;padding:0 8px 8px}
  .stage-narration{padding:10px 12px;border-radius:12px}
  .stage-narration .stage-line{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .stage-narration .stage-task{font-size:14px}
  .stage-family{padding-bottom:2px}
  .stage-person{width:84px}
  .stage-person .game-portrait{width:44px;height:48px}
  .stage-actions{flex-direction:row;align-items:center;justify-content:space-between}
  .stage-seal{width:92px;height:92px}
  .stage-seal strong{font-size:15px;letter-spacing:2px}
}

/* 纯文字模式下场景仍然成立 */
body.mode-text .stage-person .game-portrait{display:none}
body.mode-text .stage-person{padding:12px 10px}

/* ===== 3.9 续 · 虚化背景 + 居中文案（整体仿参考作的呈现方式） ===== */
body.shell.page-mode::before{content:"";position:fixed;inset:0;z-index:0;background-image:var(--page-bg,none);background-size:cover;background-position:center;filter:blur(18px) saturate(.85) brightness(.7);transform:scale(1.08)}
body.shell.page-mode::after{content:"";position:fixed;inset:0;z-index:0;background:linear-gradient(#0c1a17b8,#0c1a17d8)}
body.shell.page-mode main .layout>section{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 12px!important}
body.shell.page-mode main .layout>section>*{width:min(900px,100%)}
body.shell.page-mode main .layout>section>.stats{position:static!important;background:#fffdf7f2!important;color:inherit}
body.shell.page-mode .case-panel{min-height:0!important}
body.shell.page-mode .estate-map,body.shell.page-mode .card{box-shadow:0 24px 60px #00000059}
body.shell.event-open main .layout>section>article.card{left:0!important;right:0!important;bottom:auto!important;top:7vh!important;width:min(560px,94vw)!important;margin:0 auto!important;max-height:86dvh;border-radius:20px!important}
.dossier{margin:12px 0 4px;padding:12px 14px;border-radius:12px;background:#f7f1e4;border:1px solid #e0d5c1}
.dossier h4{margin:0 0 6px;font-size:13px;color:#6b5a3f;letter-spacing:1px}
.dossier p{margin:0;font-size:13px;line-height:1.95;color:#4a4034}
.dossier-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dossier-tags span{padding:2px 9px;border-radius:999px;font-size:11px;background:#e7eff0;color:#6b5a3f;border:1px solid #cfdedf}
.dossier-tags span.warn{background:#f6e2e2;color:#7a423c;border-color:#e9c9c6}
.dossier-tags span.good{background:#e4ecdf;color:#41573f;border-color:#cddcc6}
.roster{margin:0 0 12px}
.roster-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.roster-tabs button{padding:6px 12px;border-radius:999px;font-size:12px;background:#fffaf0;border:1px solid #e2d8c6;color:#4a4034}
.roster-tabs button.active{background:#3b2f25;border-color:#3b2f25;color:#fdf7e8}
.roster-list{display:grid;gap:6px}
.roster-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;background:#fffdf7;border:1px solid #e6dcc9;text-align:left}
.roster-row strong{font-size:14px;color:#3f4a44;min-width:5.5em}
.roster-row span{font-size:12px;color:#8a7b66;min-width:4.5em}
.roster-row b{margin-left:auto;font-size:12px;color:#5c6f5e;font-weight:500}
.roster-row b.close{color:#a05a63}
.origin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0}
.origin-card{padding:14px;border-radius:14px;border:1px solid #e0d5c1;background:#fffaf0;text-align:left;color:#4a4034}
.origin-card strong{display:block;font-size:15px;color:#3b2f25}
.origin-card small{display:block;margin-top:4px;font-size:11px;color:#8a7b66}
.origin-card em{display:inline-block;margin-top:8px;font-size:11px;font-style:normal;color:#a07b4a;letter-spacing:1px}
.origin-card.active{border-color:#3b2f25;box-shadow:0 0 0 2px #3b2f2526}
.name-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.name-chips button{padding:4px 10px;border-radius:999px;font-size:12px;background:#fffaf0;border:1px solid #e2d8c6;color:#4a4034}
.world-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:10px 0}
.world-card{padding:12px;border-radius:14px;border:1px solid #e0d5c1;background:#fffaf0;text-align:left;color:#4a4034}
.world-card strong{display:block;font-size:14px;color:#3b2f25}
.world-card small{display:block;margin-top:4px;font-size:11px;color:#8a7b66;line-height:1.7}
.world-card.active{border-color:#9c4433;box-shadow:0 0 0 2px #9c443326}
.prologue{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a1a17d9;backdrop-filter:blur(14px)}
.prologue>section{width:min(620px,94vw);max-height:86dvh;overflow:auto;padding:26px 26px 20px;border-radius:18px;background:#fbf7ee;border:1px solid #e2d8c6;box-shadow:0 26px 70px #0007}
.prologue h2{margin:4px 0 14px;color:#3b2f25;letter-spacing:2px}
.prologue p{margin:0 0 12px;font-size:14px;line-height:2;color:#4b4136}
.prologue p.mood{padding-top:12px;border-top:1px solid #e2d8c6;color:#6b5a3f}
.map-badge{display:inline-block;margin-top:4px;padding:1px 7px;border-radius:999px;font-size:10px;font-style:normal;background:#9c4433;color:#fff6e2}
@media(max-width:859px){
  body.shell.page-mode main .layout>section{padding:10px 8px!important}
  body.shell.event-open main .layout>section>article.card{top:4vh!important;width:94vw!important;max-height:90dvh}
  .roster-row{gap:8px;padding:8px 10px}
  .roster-row strong{font-size:13px;min-width:4.5em}
}

/* ===== 主题层已合并入本文件（4.6 合并整理） ===== */
/* 4.0 · 墨金朱砂主题：替掉原来的深绿 + 粉，整体改为暖色国风 */
:root{
  --ink:#241c16;--ink-soft:#3b2f25;--paper:#f7f1e6;--paper-warm:#f3ead9;--paper-card:#fbf6ea;
  --gold:#c8a25d;--gold-soft:#e2c98f;--gold-deep:#8a6a34;--cinnabar:#a5462f;--cinnabar-deep:#7d3524;
  --jade:#5f7f70;--line:#dfd2b9;--text:#3f3427;--text-soft:#7d6b56;
  --ink-deep:#241c16;--wine:#a5462f;
}

body{background:radial-gradient(circle at 50% 0,#fdf8ee,#f4ecdd 60%,#eee4d3);color:var(--text)}
body.shell>header{background:var(--paper-warm)!important;border-bottom:1px solid var(--line)!important;color:var(--ink)!important}
body.shell>header h1,body.shell>header small,body.shell>header span{color:var(--ink)!important}
body>footer{color:var(--text-soft);border-top-color:var(--line)}

/* 侧栏与导航 */
body.shell aside{background:#efe6d5!important;border-right-color:var(--line)!important}
body.shell aside>nav button{background:#fdf8ee!important;border:1px solid var(--line)!important;color:var(--ink-soft)!important}
body.shell aside>nav button.active{background:var(--ink-soft)!important;border-color:var(--ink-soft)!important;color:var(--gold-soft)!important}
body.shell aside>nav button[data-shell-more]{background:#3b2f25!important;color:var(--gold-soft)!important}
body.shell.story-mode aside nav{background:#1d1611d9!important;border-color:#c8a25d55!important}
body.shell.story-mode aside nav button{background:transparent!important;border:0!important;color:#f0dfb9!important}
body.shell.story-mode aside nav button.active{background:var(--gold-soft)!important;color:#2b2117!important}
/* 桌面端侧栏是纸色导航栏，不用手机端那层深色胶囊底 */
@media(min-width:900px){
  body.shell.story-mode aside{background:#efe6d5!important}
  body.shell.story-mode aside nav{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  body.shell.story-mode aside nav button{background:#fdf8ee!important;border:1px solid var(--line)!important;color:var(--ink-soft)!important}
  body.shell.story-mode aside nav button.active{background:var(--ink-soft)!important;border-color:var(--ink-soft)!important;color:var(--gold-soft)!important}
}
.display-toggle{color:var(--text-soft)}
body.shell aside>.display-toggle{background:#fdf8eee6!important;border-color:var(--line)!important}
.display-toggle button{background:#fdf8ee;border:1px solid var(--line);color:var(--ink-soft)}
.display-toggle button.active{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--gold-soft)}

/* 卡片与状态条 */
.card{background:var(--paper-card)!important;border:1px solid var(--line)!important;color:var(--text)!important}
.card h2,.card h3{color:var(--ink-soft)}
.eyebrow{color:var(--gold-deep)!important}
.stats .stat,.stat{background:var(--paper-card)!important;border:1px solid var(--line)!important;color:var(--text-soft)!important}
.stat strong{color:var(--ink-soft)!important}
button{font-family:inherit}
button:not(.stage-seal):not(.map-room):not(.event-seal):not(.family-chip){background:#fdf8ee;border:1px solid var(--line);color:var(--ink-soft)}
button.primary,.primary{background:var(--ink-soft)!important;border-color:var(--ink-soft)!important;color:#f7ecd6!important}
button.danger{background:#f6e2dc!important;border-color:#e3c4ba!important;color:var(--cinnabar-deep)!important}
button:not(:disabled):hover{box-shadow:0 6px 18px #3b2f251f}

/* 场景层（剧情主屏） */
.stage-time{color:#f4e7c9!important}
.stage-vital{background:#1d1611d9!important;border-color:#c8a25d55!important;color:#f0dfb9!important}
.stage-vital b{color:#fff6e2!important}
.stage-caption{color:#f6ead0!important}
.stage-caption button{background:#1d16119e!important;border-color:#c8a25d55!important;color:#eeddba!important}
.stage-narration{background:#fbf6eaf5!important;border-color:#e0d0ae!important;box-shadow:0 18px 50px #2a201447!important}
.stage-narration .eyebrow{color:var(--gold-deep)!important}
.stage-narration .stage-line{color:#4a3f30!important}
.stage-narration .stage-task{color:var(--cinnabar-deep)!important}
.stage-narration .stage-hint{color:var(--text-soft)!important}
.stage-narration button{background:var(--ink-soft)!important;border-color:var(--ink-soft)!important;color:#f7ecd6!important}
.stage-narration button.ghost{background:#f2e8d5!important;border-color:var(--line)!important;color:var(--ink-soft)!important}
.stage-person{background:#fbf6eaf2!important;border-color:#e0d0ae!important;color:var(--text)!important}
.stage-person small{color:var(--text-soft)!important}
.stage-person em{background:#f0d9b4!important;color:#6b4a1f!important}
.stage-person.is-calm em{background:#e3ecdf!important;color:#455a41!important}
.stage-mini button{background:#1d1611a8!important;border-color:#c8a25d55!important;color:#eeddba!important}
.stage-seal{background:var(--cinnabar)!important;border-color:var(--gold-soft)!important;color:#fff6e2!important}

/* 月度纪事浮层与选项 */
body.shell.event-open::before{background:#1a1310c4!important}
body.shell.event-open main .layout>section>article.card{background:var(--paper-card)!important;border:1px solid var(--line)!important}
.choices button{background:#f6ead3!important;border:1px solid #e0cda6!important;color:#4a3a24!important}
.choices button:hover{background:#f2e0c4!important}
.choices button small{color:var(--text-soft)!important}

/* 页面模式：虚化背景 + 居中面板（背景层不吃点击，导航与面板都在其上） */
body.shell.page-mode::before,body.shell.page-mode::after{pointer-events:none!important}
body.shell.page-mode::before{filter:blur(14px) saturate(1) brightness(.95) sepia(.1)!important}
body.shell.page-mode::after{background:linear-gradient(#231a1252,#140e0a6e)!important}
body.shell>header{position:relative;z-index:5;background:#f4ebdae0!important;backdrop-filter:blur(8px)}
body.shell aside{position:relative;z-index:30}
body.shell main,body.shell main .layout{position:relative;z-index:20}
body.shell main .layout>section{position:relative!important;z-index:20!important}
body.shell.page-mode::before,body.shell.page-mode::after{z-index:0!important}

/* 页面模式下的状态条与结果行收小，别占满整屏 */
body.shell.page-mode main .layout>section>.stats{max-width:720px!important;width:100%!important;margin:0 auto 8px!important;padding:4px!important;gap:6px!important;border-radius:10px!important;background:#fdf8eef5!important}
body.shell.page-mode main .layout>section>.stats .stat{padding:5px 9px!important;font-size:11px!important;border-radius:8px!important}
body.shell.page-mode main .layout>section>.stats .stat strong{font-size:14px!important}
body.shell.page-mode main .layout>section>.result{max-width:720px!important;width:100%!important;margin:0 auto 8px!important;padding:8px 12px!important;font-size:12.5px!important;border-radius:10px!important}

/* 家事长卷 */
.case-panel{background:#f9f2e4!important;border-color:#dcc9a2!important;color:#3e3428!important}
.case-panel h3{color:var(--cinnabar-deep)!important}
.case-actions button{background:#fdf8ee!important;border-color:#e0cda6!important;color:#463a26!important}
.case-actions button:hover{background:#f4e6cb!important}
.clue-track span{background:#ece0c8!important;color:#6a5940!important}
.clue-track .done{background:var(--jade)!important;color:#fff!important}
.case-kicker,.case-footer small{color:var(--text-soft)!important}
.echo-row{background:#fdf8ee!important;border:1px solid #ece0c8!important}
.case-history p{border-left-color:var(--gold)!important}

/* 人物弹窗 */
.dialog-backdrop{background:#1a1310b8!important;backdrop-filter:blur(10px)}
.character-dialog{background:var(--paper-card)!important;border:1px solid var(--line)!important;box-shadow:0 26px 70px #2a20144d!important}
.character-dialog__top{background:linear-gradient(#f6ecd9,#fbf6ea)!important;border-bottom:1px solid var(--line)!important}
.character-dialog h2,.character-name{color:var(--ink-soft)!important}
.character-line{background:#f4ecdc!important;border-left:3px solid var(--gold)!important;color:#4a3f30!important}
.relation-bars span{color:var(--text-soft)!important}
.relation-bars i{background:#e6dcc6!important}
.relation-bars .tone-trust i{background:var(--ink-soft)!important}
.relation-bars .tone-close i{background:var(--cinnabar)!important}
.relation-bars .tone-spirit i{background:var(--jade)!important}
.character-context span{background:#f4ecdc!important;color:#5d5142!important;border-color:#e6dcc6!important}
.character-context .is-request{background:#f7e3d8!important;color:var(--cinnabar-deep)!important}
.dialogue-topics button,.dialog-actions button{background:#fdf8ee!important;border:1px solid var(--line)!important;color:var(--ink-soft)!important}
.dialogue-topics button:hover,.dialog-actions button:hover{background:#f4e6cb!important}
.dialogue-topics strong{color:var(--gold-deep)!important}
.dialogue-message.player p{background:#efe3c9!important;color:#3f3427!important}
.dialogue-message.character p{background:#fbf6ea!important;border:1px solid var(--line)!important;color:#3f3427!important}
.free-dialogue-form textarea{background:#fffdf7!important;border:1px solid var(--line)!important;color:var(--text)!important}
.dialog-close{background:#efe6d5!important;color:var(--text-soft)!important}

/* 面板：小传 / 名册 / 开局卡 / 世道卡 */
.dossier{background:#f4ecdc!important;border-color:#e6dcc6!important}
.dossier h4{color:var(--gold-deep)!important}
.dossier p{color:#4a3f30!important}
.dossier-tags span{background:#e9efe9!important;color:#3f5747!important;border-color:#d6e2d5!important}
.dossier-tags span.warn{background:#f7e3d8!important;color:var(--cinnabar-deep)!important;border-color:#eccdbc!important}
.dossier-tags span.good{background:#e6efe4!important;color:#3f5741!important;border-color:#d3e2cf!important}
.roster-tabs button{background:#fdf8ee!important;border-color:var(--line)!important;color:var(--ink-soft)!important}
.roster-tabs button.active{background:var(--ink-soft)!important;border-color:var(--ink-soft)!important;color:var(--gold-soft)!important}
.roster-row{background:#fdf9f0!important;border-color:#e9dcc4!important}
.roster-row strong{color:var(--ink-soft)!important}
.roster-row span{color:var(--text-soft)!important}
.roster-row b{color:var(--jade)!important}
.roster-row b.close{color:var(--cinnabar)!important}
.origin-card,.world-card{background:#fdf8ee!important;border-color:var(--line)!important;color:var(--text)!important}
.origin-card strong,.world-card strong{color:var(--ink-soft)!important}
.origin-card small,.world-card small{color:var(--text-soft)!important}
.origin-card em{color:var(--gold-deep)!important}
.origin-card.active{border-color:var(--ink-soft)!important;box-shadow:0 0 0 2px #3b2f2526!important}
.world-card.active{border-color:var(--cinnabar)!important;box-shadow:0 0 0 2px #a5462f26!important}
.name-chips button{background:#fdf8ee!important;border-color:var(--line)!important;color:var(--ink-soft)!important}
.prologue{background:#1a1310d9!important}
.prologue>section{background:var(--paper-card)!important;border-color:var(--line)!important}
.prologue h2{color:var(--ink-soft)!important}
.prologue p{color:#4a3f30!important}
.prologue .eyebrow{color:var(--gold-deep)!important}

/* 新手引导 / 奖励弹窗 */
.guide-backdrop,.reward-backdrop{background:#1a1310c4!important}
.month-guide,.chapter-reward{background:var(--paper-card)!important;border-color:var(--gold)!important}
.month-guide h2,.chapter-reward h2{color:var(--ink-soft)!important}
.guide-steps>div{background:#f6ecda!important;border-color:#e8dbc2!important}
.guide-steps b{background:var(--cinnabar)!important}
.guide-steps strong{color:var(--ink-soft)!important}
.guide-steps p{color:var(--text-soft)!important}
.guide-steps--extra>div{background:#f4ecdc!important;border-color:#e6dcc6!important}
.guide-steps--extra b{background:var(--gold-deep)!important}

/* 家业 / 地图 / 名册页 */
.venture-options article,.venture-active{background:#f9f2e4!important;border-color:#dcc9a2!important;color:#3e3428!important}
.venture-options p{color:#5d5142!important}
.venture-panel h2{color:var(--ink-soft)!important}
.estate-map__sky{background:linear-gradient(90deg,#2c231a,#5a4a35)!important}

/* ===== 4.7 · 开局引导不再挡路：可关闭、不盖住聊天框、按钮永远看得见 ===== */
.guide-backdrop{z-index:60!important}
.month-guide{position:relative}
.guide-close{position:absolute;right:12px;top:10px;width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font-size:18px;line-height:1;color:#f6ecd5!important;background:#3b2f25!important;border:1px solid #8a6a34!important}
.guide-actions{position:sticky;bottom:-2px;z-index:2;padding:12px 0 4px;background:linear-gradient(#fffdfbf2,#fffdfb)!important}
.guide-steps--extra>div{margin-top:14px}
@media(max-width:859px){
  .month-guide{padding:20px 16px 12px!important}
  .month-guide h2{font-size:21px!important;margin:4px 0 14px!important}
  .guide-steps>div{padding:11px!important}
  .guide-actions{flex-wrap:wrap;gap:6px}
  .guide-actions button{flex:1;min-width:130px}
}

/* ===== 4.7 · 姻缘名册一屏化：整块面板内滚动，三个动作常驻可见 ===== */
.api-talk{margin-bottom:18px}
.match-who{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 26px;background:#241d17;border-bottom:1px solid #8a6a34;color:#f0e3c6}
.match-who .eyebrow{color:#e6c98d;width:100%}
.match-who select{min-width:230px;padding:7px 10px;color:#2f2519;background:#f7ead1;border:1px solid #8a6a34;border-radius:8px}
.match-who p{margin:0;flex:1 1 320px;color:#cdbc9f;font-size:13px;line-height:1.7}
.match-who.is-empty{background:#2a211a}
.match-who.is-empty strong{color:#f6e8c8;font-size:15px}
.match-who__actions button{margin:0}
.courtship-for{margin:8px 0;color:#e6c98d}

/* ===== 4.8 · 序章分幕：文字逐段浮现，进度与跳过都看得见 ===== */
.prologue>section{position:relative}
.prologue .intro-actions{display:flex;align-items:center;gap:14px}
.prologue .intro-actions button{margin:0}
.prologue-progress{margin-left:auto;font-size:12px;letter-spacing:1px;color:#8c7a63}
.prologue-skip{position:absolute;right:14px;top:12px;margin:0;padding:4px 12px;min-height:0;font-size:12px;color:#8a7a63;background:transparent;border:1px solid #d3c3a6;border-radius:999px}
.prologue-skip:hover{background:#f3ece0}
.prologue>section.settled p{animation:prologue-line .5s ease both}
.prologue>section.settled p:nth-of-type(1){animation-delay:.02s}
.prologue>section.settled p:nth-of-type(2){animation-delay:.1s}
.prologue>section.settled p:nth-of-type(3){animation-delay:.18s}
.prologue>section.settled p:nth-of-type(4){animation-delay:.26s}
.prologue>section.settled p:nth-of-type(5){animation-delay:.34s}
.prologue>section.settled p.mood{animation-delay:.44s}
@keyframes prologue-line{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.prologue>section.settled p{animation:none!important}}

/* 开局三个月的口语导语 */
.stage-opening{margin:0 0 8px;padding:8px 12px;color:#f2e2bd;background:#00000038;border-left:3px solid #d8a95e;border-radius:0 8px 8px 0;font-size:13px;line-height:1.7}
.api-talk h2{margin:4px 0 6px}
.api-talk__lead{margin:0 0 14px}
.api-talk-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px}
.api-talk-list button{display:flex;align-items:center;gap:11px;margin:0;padding:10px 12px;text-align:left;color:#f2e5c8;background:#2d241c;border:1px solid #6b563a;border-radius:13px}
.api-talk-list button:hover{background:#3d3024;border-color:#8a6a34}
.api-talk-list button>span{flex:1;min-width:0}
.api-talk-list button strong,.api-talk-list button small{display:block}
.api-talk-list button small{color:#c9b894}
.api-talk-list button b{font-weight:400;font-size:12px;color:#e6c98d;white-space:nowrap}
.talk-portrait{flex:none;width:42px;height:50px;border-radius:10px}
@media(max-width:859px){.api-talk-list{grid-template-columns:1fr}}

.match-workspace{display:grid!important;max-height:none!important;overflow:hidden!important;overscroll-behavior:contain;min-height:0!important}
@media(min-width:1024px){
  .match-workspace{grid-template-columns:200px minmax(0,1fr) minmax(0,1.35fr)!important;grid-template-rows:minmax(0,1fr)!important;height:calc(100dvh - 252px)!important;min-height:420px!important}
  .candidate-list{grid-area:1/1/2/2!important;position:static!important;overflow:auto!important;max-height:none!important}
  .candidate-stage{grid-area:1/2/2/3!important;overflow:hidden!important;justify-content:flex-start!important;padding:18px 14px!important}
  .candidate-portrait.large{height:min(46vh,330px)!important}
  .candidate-dossier{grid-area:1/3/2/4!important;overflow:auto!important;padding:20px 24px!important}
}
@media(max-width:1023px){
  .match-workspace{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important;height:calc(100dvh - 198px)!important;min-height:380px!important}
  .candidate-list{grid-area:1/1/2/2!important;position:static!important;display:flex!important;gap:8px;padding:8px 10px!important;max-height:104px!important;overflow-x:auto!important;overflow-y:hidden!important;border-right:0!important;border-bottom:1px solid #80653b!important}
  .candidate-list button{flex:0 0 auto;width:74px;margin:0!important}
  .candidate-list button span:last-child{display:none}
  .candidate-stage{grid-area:2/1/3/2!important;padding:8px 12px!important;overflow:hidden!important}
  .candidate-portrait.large{height:148px!important}
  .candidate-portrait.large img{object-position:center 12%!important}
  .candidate-dossier{grid-area:3/1/4/2!important;overflow:auto!important;padding:14px!important;border-left:0!important}
  .candidate-dossier dl{grid-template-columns:1fr 1fr!important}
}
.candidate-actions{position:sticky;top:0;z-index:4;padding:7px 0;background:linear-gradient(#211a15f7,#211a15e6)}
.candidate-actions+.match-note{display:block;margin:-2px 0 10px;color:#e6c98d}
.candidate-dossier blockquote.is-reply{margin:2px 0 12px;padding:11px 13px;border-left:3px solid #d8a95e;background:#7c5d2a33;color:#f6e8c8;line-height:1.75}
.candidate-dossier .decision-row{margin-top:12px}
.estate-map__sky{padding:14px 20px!important}
.estate-map__sky h2{font-size:24px!important;margin:3px 0!important}
body.shell.page-mode .estate-map{max-width:860px!important;margin:0 auto!important}
.map-room{background:#1d1611d9!important;border:1px solid #c8a25d66!important;color:#f0dfb9!important}
.map-room.is-here{background:var(--cinnabar)!important;border-color:var(--gold-soft)!important}
.map-room small{color:#d9c9a5!important}
.room-drawer{background:var(--paper-card)!important;border-color:var(--line)!important;color:var(--text)!important}
.room-people button{background:#f7f1e4!important;border-color:var(--line)!important;color:var(--text)!important}
.map-guide{background:#1d1611c4!important;color:#e8d9b6!important}
.match-book>header{background:linear-gradient(90deg,#2c231a,#1a1410)!important}
.courtship-panel{background:#241c16cc!important;border-color:#8a6a34!important}
.courtship-choices button{background:#3b2f25!important;color:#f4e7c9!important;border-color:#8a6a34!important}

/* 表格与其它 */
.scroll table th{background:#efe6d5!important;color:var(--ink-soft)!important}
.scroll table td{border-color:#e9dcc4!important;color:var(--text)!important}
.notice{background:#f6ecda!important;border-color:#e8dbc2!important;color:#5d5142!important}
.result{background:#f8efe0!important;border-left-color:var(--gold)!important;color:#4a3f30!important}
.tag{background:#f2e2c8!important;color:var(--gold-deep)!important}
.log small{color:var(--text-soft)!important}
.muted,.muted *{color:var(--text-soft)!important}
.map-badge{background:var(--cinnabar)!important;color:#fff6e2!important}

/* ===== 滚动兜底：内容高于屏幕时一律可滚，避免"看不到 / 点不到" ===== */
body.shell main .layout>section{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
body.shell.story-mode main .layout>section{overflow-y:auto!important}
body.shell.story-mode .estate-stage{min-height:min(100%,820px)!important}
.month-guide,.chapter-reward,.intro-modal>section,.prologue>section{max-height:88dvh!important;overflow:auto!important}
.character-dialog{max-height:92dvh!important;overflow:auto!important}
body.shell.event-open main .layout>section>article.card{overflow:auto!important}
.estate-map__scene{max-height:62dvh;overflow:auto}
.room-drawer{max-height:72dvh;overflow:auto!important}
.match-book,.candidate-dossier{max-height:none!important;overflow:visible!important}
/* 姻缘名册：原来是半透明底，透出背景图显得发绿，这里改成不透明暖褐 */
.match-book{background:#211b17!important;color:#efe3cb!important}
.match-book>header{background:linear-gradient(90deg,#2c231a,#1a1410)!important;color:#f6ecd5!important}
.match-workspace,.candidate-stage,.candidate-dossier,.candidate-list{background:#211b17!important}
.candidate-list button,.candidate-dossier blockquote,.match-book .decision-row button{background:#2d241c!important;border:1px solid #5c4a33!important;color:#efe3cb!important}
.candidate-list button.active{background:#a5462f!important;border-color:#c8a25d!important;color:#fff6e2!important}
.match-book h2,.match-book h3,.candidate-dossier h3{color:#f6ecd5!important}
.match-book p,.candidate-dossier p,.candidate-list small{color:#d9c9a5!important}
.courtship-panel{background:#2a211a!important;border-color:#8a6a34!important}
.courtship-panel h4,.courtship-panel label{color:#ecd9ad!important}
.courtship-panel>small{color:#c9b894!important}

/* ===== 页面横幅（姻缘择配、家业账房等）：去掉残留青绿，统一暖褐 ===== */
header.surface-banner{background:linear-gradient(105deg,#2c231a,#4a3f26 68%,#6b5a3f)!important;color:#f6ecd5!important;border-bottom:1px solid #c8a25d55!important}
header.surface-banner h2,header.surface-banner strong,header.surface-banner .eyebrow{color:#f6ecd5!important}
header.surface-banner p,header.surface-banner small{color:#dfcd9f!important}
.surface-banner{box-shadow:0 12px 30px #00000040}

/* ===== 收掉顶栏与页面上的两条信息（家计条 / 结果行），反馈改用底部小提示 ===== */
body.shell>header{display:none!important}
body.shell.page-mode main .layout>section>.stats{display:none!important}
body.shell.page-mode main .layout>section>.result{display:none!important}
.ui-toast{position:fixed;left:50%;bottom:26px;z-index:120;pointer-events:none;transform:translateX(-50%);max-width:min(680px,92vw);padding:10px 18px;border-radius:999px;background:#211b17e6;color:#f2e6c9;font-size:13px;line-height:1.6;box-shadow:0 14px 34px #00000059;border:1px solid #c8a25d59;animation:toast-in .26s ease both}
@media(max-width:859px){
  .ui-toast{bottom:96px!important;max-width:86vw;font-size:12px;padding:8px 14px}
  body.shell main .layout>section{padding-bottom:86px!important}
}
.ui-toast.out{animation:toast-out .3s ease both}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes toast-out{to{opacity:0;transform:translate(-50%,10px)}}
.shell-sheet>div{max-height:80dvh!important;overflow:auto!important}
@media(max-width:859px){
  body.shell.story-mode main .layout>section{overflow-y:auto!important}
  .character-dialog{max-height:94dvh!important}
}

/* ===== 侧栏配色再压深一档（原来和旧版太像，看不出换过） ===== */
body.shell aside{background:#e7d9bd!important}
body.shell aside>nav button{background:#f7ead1!important;border:1px solid #dcc9a2!important;color:#4a3b26!important}
body.shell aside>nav button:hover{background:#f2e2c4!important}
body.shell aside>nav button.active{background:#3b2f25!important;border-color:#3b2f25!important;color:#f0dfb9!important}
body.shell aside>.card{background:#f3e8d4!important;border-color:#dcc9a2!important}
body.shell aside>.display-toggle{background:#f7ead1e6!important;border-color:#dcc9a2!important}
body.shell.story-mode aside nav button{background:#f7ead1!important;border:1px solid #dcc9a2!important;color:#4a3b26!important}
body.shell.story-mode aside nav button.active{background:#3b2f25!important;color:#f0dfb9!important}
body.shell.story-mode aside nav{background:transparent!important}

/* ===== 府邸地图：按底图比例排布，八个院落一屏可见，不再被裁 ===== */
.estate-map__scene{aspect-ratio:1672/941!important;min-height:0!important;max-height:none!important;height:auto!important;overflow:hidden!important;background-size:cover!important;background-position:center!important}
.estate-map__sky{background:linear-gradient(90deg,#2c231a,#5a4a35)!important}
@media(max-width:859px){
  .estate-map__scene{aspect-ratio:4/3!important}
  .map-room{min-width:0!important;padding:4px 6px!important;font-size:10px!important;border-radius:5px!important}
  .map-room small{display:none!important}
  .map-room strong{font-weight:500}
  .map-room em{font-size:9px!important}
  .map-guide{font-size:10px!important;padding:4px 8px!important}
  .estate-map__sky h2{font-size:19px!important}
}
