/* 三层文字共用一套 token；不用祖先层级/Markdown strong 决定字号。 */
.night-block p[data-p-type="storyParagraph"],
.night-block p[data-p-type="dialogue"] {
  font-size:var(--nv-t-story-size); font-weight:var(--nv-t-story-weight); line-height:var(--nv-t-story-lh); color:var(--nv-t-story-color);
  letter-spacing:var(--nv-t-story-ls); margin:0 0 var(--nv-sp-paragraph);
}
.night-block p[data-p-type="sceneMarker"] {
  font-family:var(--nv-t-scene-family);
  font-size:var(--nv-t-scene-size); font-weight:var(--nv-t-scene-weight); line-height:var(--nv-t-scene-lh); color:var(--nv-t-scene-color);
  letter-spacing:var(--nv-t-scene-ls); margin:0 0 var(--nv-sp-paragraph);
}
.night-block p[data-p-type="meta"] {
  font-size:var(--nv-t-meta-size); font-weight:var(--nv-t-meta-weight); line-height:var(--nv-t-meta-lh); color:var(--nv-t-meta-color); margin:0 0 var(--nv-sp-paragraph);
}
.night-block p[data-p-type] strong { font-weight:inherit; font-size:inherit; color:inherit; }
.r142-shot img { object-fit:contain; }
.r11-dialog header h2 { min-width:0; }
.r11-dialog header button { flex:0 0 auto; white-space:nowrap; min-width:60px; }
.r144-reference img { max-width:100%; max-height:300px; object-fit:contain; }
.r144-entry { max-width:500px; margin:auto; padding-top:clamp(28px,7vh,60px); }
.night-start.r144-roles { min-height:0; justify-content:flex-start; }
.r144-entry-kicker { margin:0 0 18px; color:#6F5D4E; font:12px/1.6 system-ui; letter-spacing:.16em; }
.r144-entry .night-title { font-size:44px; line-height:1.3; font-weight:500; letter-spacing:.15em; margin:0 0 12px; }
.r144-entry .mode-badge { font-size:12px; font-weight:400; color:#89352F; margin:0 0 22px; }
.r144-entry .night-subtitle { font-size:16px; margin:0 0 24px; color:#6F5D4E; }
.r144-role-list { display:grid; gap:14px; }
html[data-uimode] .r144-entry .night-button.r144-role-card {
  position:relative; display:grid; grid-template-columns:1fr auto; gap:9px 10px;
  width:100%; min-height:144px; padding:21px 22px; text-align:left;
  background:#FBF9F4; color:#2E2926; border:1px solid #C9B9A4; border-radius:6px;
}
html .r144-entry .r144-role-card:focus-visible { outline:2px solid #89352F; outline-offset:3px; }
html .r144-entry .r144-role-card:active { background:#F3EDE0; }
.r144-role-number { grid-column:2; grid-row:1/4; color:#A58E77; font:25px/1.5 "Songti SC",serif; }
.r144-role-name { grid-column:1; font:500 26px/1.3 "Songti SC",serif; letter-spacing:.14em; }
.r144-role-prompt { grid-column:1; font:13px/1.6 system-ui; color:#6F5D4E; }
.r144-role-enter { grid-column:1; color:#89352F; font:12px/1.6 system-ui; }
.r144-entry-note { margin:22px 0 0; color:#6F5D4E; font:12px/1.7 system-ui; }
@media(max-height:650px) {
  .r144-entry { padding-top:24px; }
  .r144-entry-kicker { margin-bottom:10px; }
  .r144-entry .night-title { font-size:36px; }
  .r144-entry .mode-badge,.r144-entry .night-subtitle { margin-bottom:14px; }
  html .r144-entry .r144-role-card { min-height:115px; padding:14px 18px; gap:6px; }
}

/* 历史地图浏览层：独立于现实方向示意和剧情状态。 */
.historic-card{background:#f8f4ea;border:1px solid #d9cbb9;border-radius:14px;padding:12px;margin:12px 0;color:#40382e}
.historic-title{display:flex;justify-content:space-between;gap:8px;padding:2px 2px 10px}.historic-title span{font-size:12px;color:#675c4f}
.historic-viewport{height:min(58vh,440px);min-height:230px;overflow:auto;overscroll-behavior:contain;background:#e6dfd1;border:1px solid #c8baa8;touch-action:pan-x pan-y}
.historic-viewport img{display:block;width:100%;height:auto;max-width:none;user-select:none}
.historic-controls{display:flex;align-items:center;gap:8px;padding-top:10px}.historic-controls button{min-width:44px;min-height:44px;border:1px solid #b4a391;border-radius:7px;background:#fffdf8;color:#40382e}.historic-controls span{font-size:13px}.historic-note{font-size:12px;line-height:1.6;margin:8px 0 0;color:#5b5147}
.historic-viewport:focus-visible,.historic-controls button:focus-visible{outline:3px solid #8c3d2e;outline-offset:2px}
