/* 宁古斋 · 手作界面层。放在所有样式之后。
   语言：宣纸、乌木、黄铜钉、朱砂印、墨笔。没有圆角卡片、渐变按钮、磨砂玻璃。
   纹理来自 assets/ui（gpt-image-2 生成，见 output/imagegen/ui-*.request.json）。 */
:root {
  --ink-black: #231a12;
  --ink-soft: #4b3a28;
  --vermilion: #b3321f;
  --brass: #c79a45;
  --paper-url: url("../assets/ui/paper.jpg");
  --wood-url: url("../assets/ui/wood.jpg");
  --brush: "STKaiti", "Kaiti SC", "KaiTi", "Songti SC", serif;
  --song: "Songti SC", "STSong", serif;
}
.hud-left, .hud-right, .game-bottom, .quest-note, .debt-note, .interaction-panel { font-family: var(--song); }

/* ───── 顶部：一块挂牌，不是半透明胶囊 ───── */
.hud-day, .hud-gold {
  background: var(--wood-url) center/260px, #1d1510 !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: 0 3px 0 #0a0603, 0 8px 14px #0007, inset 0 0 0 1px #6d4c2a88, inset 0 1px 0 #ffffff14 !important;
  color: #ecd9ae !important;
  position: relative;
}
.hud-day::before, .hud-gold::before {
  content: ""; position: absolute; top: 6px; left: 6px; width: 5px; height: 5px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #f2d58d, #8a6425); box-shadow: 0 1px 1px #000a;
}
.hud-gold::before { left: auto; right: 6px; }
.hud-day strong { font-family: var(--brush); font-size: 19px !important; letter-spacing: 2px; color: #f1dca8 !important; }
.hud-day .day-sun { filter: sepia(1) saturate(2.4) hue-rotate(-18deg); }
.hud-gold strong { font-family: var(--song); color: #f6d99a !important; text-shadow: 0 1px 0 #000a; }
.hud-gold em { color: #c9a35e !important; }
.hud-gold > span:first-child, .hud-gold .coin { filter: none; }

/* 时辰：一排香，燃一支少一截 */
.time-pips { display: inline-flex; align-items: flex-end; gap: 3px; margin-left: 12px; height: 22px; padding-bottom: 1px; }
.time-pips i { position: relative; width: 3px; height: 17px; border-radius: 1px; background: #5b3d24; opacity: .55; }
.time-pips i::before { content: ""; position: absolute; left: -1px; top: -3px; width: 5px; height: 5px; border-radius: 50%; background: #3a2a1d; }
.time-pips i.lit { opacity: 1; background: linear-gradient(#c4895a, #8f5b36); }
.time-pips i.lit::before { background: radial-gradient(circle, #ffd27a 0 30%, #ff8a2b 60%, transparent 75%); box-shadow: 0 0 6px #ff9c3acc; animation: ember 1.8s infinite alternate; }
@keyframes ember { from { opacity: .75; transform: scale(.9); } to { opacity: 1; transform: scale(1.15); } }

/* 左侧的两张纸条：当票（欠钱）与雅集帖 */
.quest-note, .debt-note {
  background: var(--paper-url) center/320px !important;
  color: var(--ink-black) !important;
  border: 0 !important; border-radius: 0 !important;
  box-shadow: 0 5px 12px #0008, inset 0 0 22px #6b4a1d55 !important;
  position: absolute; left: 22px; text-align: left;
}
.quest-note { top: 212px !important; transform: rotate(-.8deg); width: 190px; padding: 9px 14px 10px !important; border-left: 0 !important; }
.quest-note span { color: var(--vermilion) !important; font-family: var(--brush); letter-spacing: 3px; }
.quest-note strong, .quest-note small { color: var(--ink-black) !important; }
.quest-note::before, .debt-note::before {
  content: ""; position: absolute; top: -5px; left: 50%; width: 11px; height: 11px; margin-left: -5px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #f6d58a, #7e5a1c); box-shadow: 0 2px 2px #0008;
}
.debt-note { top: 92px; transform: rotate(1.1deg); width: 190px; padding: 10px 14px 9px; display: grid; gap: 1px; z-index: 3; }
.debt-note[hidden] { display: none; }
.debt-note .debt-kicker { font-family: var(--brush); letter-spacing: 3px; font-size: 12px; color: var(--ink-soft); }
.debt-note .debt-kicker b { color: var(--vermilion); font-weight: 400; }
.debt-note strong { font-size: 21px; color: var(--ink-black); letter-spacing: 0; }
.debt-note small { font-size: 12px; color: var(--vermilion); font-family: var(--brush); letter-spacing: 2px; }
.debt-note::after {
  content: "押"; position: absolute; right: 8px; top: 38px; width: 34px; height: 34px; display: grid; place-items: center;
  font: 22px var(--brush); color: var(--vermilion); border: 2px solid var(--vermilion); border-radius: 3px; transform: rotate(-9deg); opacity: .8; mix-blend-mode: multiply;
}
.debt-note.urgent { animation: tremble 2.8s infinite; }
.debt-note.urgent small { font-weight: 700; }
@keyframes tremble { 0%, 90%, 100% { transform: rotate(1.1deg); } 93% { transform: rotate(2deg) translateX(1px); } 96% { transform: rotate(.2deg) translateX(-1px); } }

/* ───── 右侧交互面板：挂在两根乌木轴之间的一幅纸 ───── */
.interaction-panel {
  top: 108px !important; right: 24px !important; width: 338px !important; max-height: calc(100dvh - 215px) !important;
  background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible !important;
  color: var(--ink-black); padding: 22px 0; filter: drop-shadow(0 12px 18px #000a); display: flex !important; flex-direction: column;
}
.interaction-panel[hidden] { display: none !important; }
.interaction-panel::before, .interaction-panel::after {
  content: ""; position: absolute; left: -9px; right: -9px; height: 20px; border-radius: 10px / 8px; z-index: 3;
  background: linear-gradient(#ffffff22, transparent 40%, #00000066), var(--wood-url) center/200px;
  box-shadow: 0 2px 0 #0008, inset 0 0 0 1px #8a5d3040;
}
.interaction-panel::before { top: 4px; }
.interaction-panel::after { bottom: 4px; }
.interaction-panel > .inspector-top, .interaction-panel > #panel-content { position: relative; }
.interaction-panel { --scroll-h: calc(100dvh - 255px); }
.inspector-top {
  background: var(--paper-url) top center/330px !important; border: 0 !important; backdrop-filter: none !important; position: relative !important;
  padding: 24px 22px 6px !important; color: var(--ink-black) !important; margin: 0 6px; box-shadow: inset 0 0 18px #7a551e44; z-index: 1 !important;
}
.inspector-top #panel-eyebrow { font: 700 21px var(--brush) !important; letter-spacing: 8px; color: var(--ink-black) !important; position: relative; padding-bottom: 8px; }
.inspector-top #panel-eyebrow::after {
  content: ""; position: absolute; left: -6px; bottom: -4px; width: 150px; height: 13px; background: url("../assets/ui/ink.jpg") center/cover; mix-blend-mode: multiply; opacity: .8;
}
.inspector-top button {
  width: 30px !important; height: 30px; display: grid; place-items: center; font: 15px var(--brush) !important; color: #fbe9d4 !important;
  background: radial-gradient(circle at 35% 30%, #d4442b, #8f2112) !important; border-radius: 3px; transform: rotate(5deg); box-shadow: 0 2px 3px #0006;
}
.inspector-top button::before { content: "收"; }
.inspector-top button { font-size: 0 !important; }
.inspector-top button::before { font: 16px var(--brush); }
#panel-content {
  background: var(--paper-url) center/330px !important; margin: 0 6px; flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden;
  box-shadow: inset 0 0 26px #7a551e55, inset 0 -18px 18px -18px #7a551e66; scrollbar-width: thin; scrollbar-color: #7b5a35 transparent;
}
.panel-body { padding: 8px 22px 26px !important; }
.interaction-panel h2, .interaction-panel h3, .interaction-panel p, .interaction-panel strong, .interaction-panel small, .interaction-panel span, .interaction-panel li, .interaction-panel em, .interaction-panel b {
  color: var(--ink-black); text-shadow: none !important;
}
.panel-title, .item-name { font: 700 24px var(--brush) !important; letter-spacing: 4px; color: var(--ink-black) !important; text-align: center; margin: 6px 0 2px; }
.panel-subtitle, .object-history, .mini-note, .panel-note { color: var(--ink-soft) !important; font-family: var(--brush); font-size: 14px !important; line-height: 1.7; }
.object-history { border-left: 3px solid var(--vermilion) !important; padding-left: 10px; background: none !important; font-size: 14px !important; }
.item-category { font: 12px var(--brush) !important; letter-spacing: 4px; color: var(--vermilion) !important; text-align: center; }
.object-stage { background: radial-gradient(ellipse at 50% 70%, #3b251155, transparent 68%) !important; }
.object-stage img.dirty, .offer-image img { filter: sepia(.35) saturate(.85) contrast(1.05) drop-shadow(0 6px 5px #2a180c88) !important; }
.value-row small { color: var(--ink-soft) !important; font-family: var(--brush); letter-spacing: 3px; }
.value-row strong { font: 700 34px var(--song) !important; color: var(--ink-black) !important; }
.value-row em, .bench-price small { color: var(--ink-soft) !important; }
.bench-heading { align-items: center; border: 0 !important; }
.bench-heading h2 { font: 700 21px var(--brush) !important; letter-spacing: 3px; }
.bench-heading > span:not(.grade-seal) { font-family: var(--brush); color: var(--ink-soft) !important; }
.bench-price strong { font: 700 34px var(--song) !important; color: var(--ink-black) !important; }
.bench-price span { font-family: var(--brush); color: var(--ink-soft) !important; }

/* 收货列表：一张张押在案上的当票 */
.offer-list { display: grid !important; gap: 12px !important; }
.offer-card {
  position: relative; flex-direction: row !important; text-align: left !important; align-items: center !important; gap: 12px !important; padding: 8px 14px 8px 8px !important;
  background: #f4e6c455 !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: 0 2px 0 #7a5a3066, inset 0 0 0 1px #8b683a55 !important;
}
.offer-card:nth-child(odd) { transform: rotate(-.7deg); } .offer-card:nth-child(even) { transform: rotate(.6deg); }
.offer-card:hover { background: #f8ecce99 !important; transform: rotate(0) translateY(-2px); box-shadow: 0 6px 8px #0005, inset 0 0 0 1px var(--vermilion) !important; }
.offer-card strong { font: 700 17px var(--brush) !important; color: var(--ink-black) !important; letter-spacing: 2px; }
.offer-card small { color: var(--ink-soft) !important; font-family: var(--brush); }
.offer-card small b { color: var(--vermilion) !important; font: 700 19px var(--song) !important; }
.offer-card .offer-image { width: 66px; height: 58px; flex: none; } .offer-card .offer-image img { width: 62px; height: 56px; }
.offer-arrow { color: var(--vermilion) !important; font-family: var(--brush); }
.empty-symbol { color: var(--vermilion) !important; border-color: var(--vermilion) !important; font-family: var(--brush); }

/* 验看：批注。每条线索前盖一枚圆印 */
.clue-list { list-style: none; margin: 12px 0 14px; padding: 0; display: grid; gap: 8px; }
.clue { margin: 0; padding: 0; }
.clue button {
  display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 4px 10px; width: 100%; text-align: left; padding: 7px 10px 7px 8px;
  background: #f1e2bc66; border: 0; border-bottom: 2px dashed #7c5a3388; border-radius: 0; cursor: pointer;
}
.clue button:hover:not(:disabled) { background: #f9ecc8aa; border-bottom-color: var(--vermilion); }
.clue button:disabled { opacity: .45; cursor: not-allowed; }
.clue b, .clue.done b {
  width: 36px; height: 36px; display: grid; place-items: center; font: 700 13px/1 var(--brush); letter-spacing: -1px; white-space: nowrap; color: var(--vermilion) !important;
  border: 2px solid var(--vermilion); border-radius: 50%; transform: rotate(-8deg); mix-blend-mode: multiply;
}
.clue button span { font: 14px/1.3 var(--brush); color: var(--ink-soft); }
.clue button i { font: 12px var(--brush); color: var(--vermilion); font-style: normal; grid-column: 3; grid-row: 1; letter-spacing: 1px; }
.clue.done { display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: start; padding: 6px 8px; border-bottom: 1px solid #7c5a3344; }
.clue.done span { font: 15px/1.5 var(--brush); color: var(--ink-black); }
.clue.done.fake span { color: #5a1d12; text-decoration: underline wavy #b3321f88 1px; text-underline-offset: 4px; }
.clue.done.real b { color: #2f5a3b !important; border-color: #2f5a3b; }
.clue.done.flaw b { color: #6a4a1c !important; border-color: #6a4a1c; }

/* 等级印 */
.grade-seal { font: 700 17px var(--brush) !important; letter-spacing: 2px; padding: 3px 8px; border: 2px solid currentColor; border-radius: 3px; transform: rotate(-6deg); mix-blend-mode: multiply; }
.grade-seal.real { color: #2f5a3b !important; } .grade-seal.rare { color: #a01c12 !important; box-shadow: 0 0 0 3px #a01c1233; } .grade-seal.oldfake { color: #7a5a1f !important; } .grade-seal.newfake { color: #5b5b5b !important; }

/* 风险条：墨线刻度，不是彩色进度条 */
.risk-label { color: var(--ink-black) !important; font-family: var(--brush); } .risk-label span, .risk-label b { color: var(--ink-black) !important; }
.risk-label b { color: var(--vermilion) !important; font: 700 17px var(--song) !important; }
.risk-bar { height: 10px !important; border-radius: 0 !important; background: #3a2a1a22 !important; box-shadow: inset 0 0 0 1px #5a3f2399 !important; }
.risk-bar i.risk-break { background: #8f2112 !important; } .risk-bar i.risk-damage { background: #b8793a !important; } .risk-bar i.risk-steady { background: #a3977a !important; }
.risk-bar i.risk-crit { background: #c99a2a !important; } .risk-bar i:not([class]), .risk-bar i[class=""] { background: #4b6b41 !important; }
.odds-legend span { color: var(--ink-soft) !important; font-family: var(--brush); }
.flaw-note { text-align: left !important; }

/* ───── 按钮：乌木牌 / 纸条，不再是圆角渐变块 ───── */
.interaction-panel .primary, #panel-content .primary {
  border: 0 !important; border-radius: 3px !important; min-height: 46px; letter-spacing: 4px; font: 700 17px var(--brush) !important;
  background: linear-gradient(#ffffff1a, transparent 35%, #0006), var(--wood-url) center/220px !important; color: #f6dfa5 !important;
  box-shadow: 0 3px 0 #120a05, 0 6px 8px #0006, inset 0 0 0 1px #c79a4566, inset 0 0 0 4px #00000033 !important; text-shadow: 0 1px 0 #000;
}
.interaction-panel .primary:hover:not(:disabled) { filter: brightness(1.15); transform: translateY(-1px); }
.interaction-panel .primary:active { transform: translateY(2px); box-shadow: 0 1px 0 #120a05, inset 0 0 0 1px #c79a4566 !important; }
.interaction-panel .primary:disabled { filter: grayscale(.7) brightness(.7); }
.interaction-panel .primary.red { background: linear-gradient(#ffffff22, transparent 35%, #0006), #8e2415 !important; }
.interaction-panel .secondary, #panel-content .secondary {
  border: 0 !important; border-radius: 0 !important; background: #e8d3a566 !important; color: var(--ink-black) !important; font: 700 15px var(--brush) !important; letter-spacing: 3px;
  box-shadow: inset 0 -2px 0 var(--ink-black), inset 0 0 0 1px #5a3f2355 !important;
}
.interaction-panel .secondary:hover:not(:disabled) { background: #f4e2b8cc !important; box-shadow: inset 0 -3px 0 var(--vermilion) !important; }
.interaction-panel .secondary:disabled { opacity: .4; }
.interaction-panel .text-button { color: var(--vermilion) !important; font: 14px var(--brush) !important; letter-spacing: 2px; text-decoration: underline; text-underline-offset: 4px; }
.button-row { margin-top: 8px; }

/* 议价：三块牌子，价格是主角 */
.haggle { margin-top: 12px; }
.buyer-mood { font: 15px/1.6 var(--brush) !important; color: var(--ink-black) !important; text-align: left !important; border-left: 3px solid var(--vermilion); padding-left: 10px; }
.buyer-mood em { color: var(--vermilion) !important; font-style: normal; }
.stance-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.stance { display: grid !important; gap: 2px; padding: 8px 4px !important; min-height: 62px; justify-items: center; align-content: center; margin: 0 !important; letter-spacing: 0 !important; }
.stance small { font: 12px var(--brush) !important; letter-spacing: 3px; color: #e6c785 !important; }
.stance b { font: 700 19px var(--song) !important; color: #fbe9b8 !important; }
.stance.low { background: linear-gradient(#ffffff1a, transparent 35%, #0006), var(--wood-url) center/220px !important; }
.stance.mid { background: linear-gradient(#ffffff1a, transparent 35%, #0006), #4c3b1e !important; }
.stance.high { background: linear-gradient(#ffffff22, transparent 35%, #0006), #8e2415 !important; }

/* ───── 结果条、提示 ───── */
.result-strip { background: #e9d5a999 !important; color: var(--ink-black) !important; border: 0 !important; border-left: 4px solid #4b6b41 !important; border-radius: 0 !important; font: 15px/1.6 var(--brush); }
.result-strip.bad { border-left-color: var(--vermilion) !important; }
.toast {
  background: var(--paper-url) center/300px !important; color: var(--ink-black) !important; border: 0 !important; border-radius: 0 !important; font: 700 18px/1.5 var(--brush) !important; letter-spacing: 2px;
  padding: 12px 34px !important; box-shadow: 0 8px 18px #0009, inset 0 0 18px #6b4a1d66 !important; max-width: 520px; text-align: center; transform-origin: top center;
}
.toast.show { transform: translate(-50%, 0) rotate(-.4deg); }
.toast, .toast * { color: var(--ink-black) !important; }

/* ───── 底部导航：一排乌木牌 ───── */
.game-tools button {
  background: linear-gradient(#ffffff14, transparent 40%, #0007), var(--wood-url) center/200px !important; border: 0 !important; border-radius: 3px !important;
  box-shadow: 0 3px 0 #0a0603, 0 7px 10px #0008, inset 0 0 0 1px #c79a4555 !important; color: #f0d9a2 !important;
}
.game-tools button:hover { filter: brightness(1.2); transform: translateY(-2px); }
.game-tools button > span { font-family: var(--brush) !important; color: #f6dfa5 !important; text-shadow: 0 1px 0 #000; }
.game-tools button small { color: #cba96a !important; font-family: var(--brush); letter-spacing: 2px; }
.game-tools b { background: var(--vermilion) !important; color: #fbe9d4 !important; }
.hud-right button { background: var(--wood-url) center/160px !important; border: 0 !important; border-radius: 3px !important; box-shadow: 0 3px 0 #0a0603, 0 6px 8px #0007, inset 0 0 0 1px #c79a4555 !important; color: #f0d9a2 !important; }
#next-hint, .scene-hint { font-family: var(--brush); }

/* ───── 弹出的账册：整页账本，不是白卡片 ───── */
dialog.modal { background: none !important; border: 0 !important; box-shadow: none !important; }
dialog.modal .folio-content, .modal .folio-content {
  background: var(--paper-url) center/360px !important; color: var(--ink-black) !important; box-shadow: inset 0 0 40px #7a551e66 !important;
}
.folio-rail { background: var(--wood-url) center/260px !important; color: #f0d9a2 !important; border-right: 4px solid #0c0804 !important; box-shadow: inset -6px 0 12px #0008; }
.folio-rail b { font-family: var(--brush); color: #f6dfa5 !important; } .folio-rail span, .folio-rail small { color: #d1b176 !important; font-family: var(--brush); }
.modal h2, .modal h3, .modal p, .modal li, .modal small, .modal strong { color: var(--ink-black); }
.modal p, .modal li { font-family: var(--song); }
.modal h2 { font: 700 34px var(--brush) !important; letter-spacing: 5px; }
.modal .eyebrow, .folio-imprint { color: var(--vermilion) !important; font-family: var(--brush); letter-spacing: 4px; }
.modal .primary { background: linear-gradient(#ffffff1a, transparent 35%, #0006), var(--wood-url) center/220px !important; color: #f6dfa5 !important; border: 0 !important; border-radius: 3px !important; font: 700 17px var(--brush); letter-spacing: 4px; box-shadow: 0 3px 0 #120a05, inset 0 0 0 1px #c79a4566 !important; }
.modal .primary.red { background: linear-gradient(#ffffff22, transparent 35%, #0006), #8e2415 !important; }
.settle-grid > div { background: #e9d5a966 !important; border: 0 !important; border-radius: 0 !important; box-shadow: inset 0 -2px 0 #3d2a18; }
.settle-grid small { color: var(--ink-soft) !important; font-family: var(--brush); } .settle-grid strong { color: var(--ink-black) !important; font-family: var(--song); }
.modal-close { background: radial-gradient(circle at 35% 30%, #d4442b, #8f2112) !important; color: #fbe9d4 !important; border-radius: 3px !important; transform: rotate(5deg); }

/* 手作的收尾：一枚朱印压在面板右下角 */
#panel-content::after {
  content: ""; position: sticky; display: block; float: right; bottom: 8px; right: 10px; width: 54px; height: 54px; margin: -54px 8px 8px 0;
  background: url("../assets/ui/seal.jpg") center/contain no-repeat; mix-blend-mode: multiply; opacity: .55; pointer-events: none; transform: rotate(7deg);
}

}

/* ───── 鉴定、修复等对话框：乌木框里一张宣纸 ───── */
.appraisal-modal, dialog.appraisal-modal {
  background: var(--paper-url) center/380px padding-box, var(--wood-url) center/260px border-box !important;
  border: 13px solid transparent !important; border-radius: 3px !important; color: var(--ink-black) !important;
  box-shadow: 0 18px 60px #000c, inset 0 0 40px #7a551e66, 0 0 0 1px #000 !important;
}
.appraisal-top h2 { font: 700 30px var(--brush) !important; letter-spacing: 6px !important; color: var(--ink-black) !important; }
.appraisal-top p, .appraisal-top span, .appraisal-top .eyebrow { color: var(--vermilion) !important; font-family: var(--brush) !important; font-size: 14px !important; letter-spacing: 3px; }
#rub-caption, .appraisal-top p#rub-caption { color: var(--ink-soft) !important; font: 15px/1.6 var(--brush) !important; letter-spacing: 1px; }
.appraisal-stage { background: radial-gradient(ellipse, #3b251133, transparent 70%) !important; }
.rub-progress { color: var(--ink-soft) !important; font-family: var(--brush); }
.rub-progress > div { background: #3a2a1a2e !important; border-radius: 0; height: 6px !important; box-shadow: inset 0 0 0 1px #5a3f2366; }
.rub-progress i { background: linear-gradient(90deg, #7a2316, #b3321f) !important; box-shadow: none !important; }
.rub-progress b { color: var(--vermilion) !important; font-family: var(--song); }
.appraisal-bottom { border-top: 2px dashed #7c5a3366 !important; }
.appraisal-bottom small { color: var(--ink-soft) !important; font: 14px var(--brush) !important; }
.appraisal-bottom .text-button { color: var(--vermilion) !important; font: 15px var(--brush) !important; text-decoration: underline; text-underline-offset: 4px; }
.appraisal-bottom .primary, #finish-rub {
  background: linear-gradient(#ffffff1a, transparent 35%, #0006), var(--wood-url) center/220px !important; color: #f6dfa5 !important; border: 0 !important; border-radius: 3px !important;
  font: 700 17px var(--brush) !important; letter-spacing: 3px; padding: 10px 22px !important; box-shadow: 0 3px 0 #120a05, 0 6px 8px #0006, inset 0 0 0 1px #c79a4566 !important; text-shadow: 0 1px 0 #000;
}
#appraisal-close { background: radial-gradient(circle at 35% 30%, #d4442b, #8f2112) !important; color: #fbe9d4 !important; border-radius: 3px !important; transform: rotate(5deg); }
.appraisal-stamp { font-family: var(--brush) !important; font-weight: 700; mix-blend-mode: multiply; }
.appraisal-stamp[data-grade="rare"] { color: #a01c12 !important; border-color: #a01c12 !important; font-size: 1.15em; box-shadow: 0 0 0 3px #a01c1233; }
.appraisal-stamp[data-grade="real"] { color: #2f5a3b !important; border-color: #2f5a3b !important; }
.appraisal-stamp[data-grade="oldfake"] { color: #7a5a1f !important; border-color: #7a5a1f !important; }
.appraisal-stamp[data-grade="newfake"] { color: #555 !important; border-color: #555 !important; }
.quest-note { z-index: 3; }

/* ───── 修复结果：一张压在案边的纸 ───── */
.repair-cinematic[open] {
  background: var(--paper-url) center/340px padding-box, var(--wood-url) center/220px border-box !important; border: 0 !important; border-left: 12px solid transparent !important; border-radius: 0 !important;
  box-shadow: 0 14px 30px #000b, inset 0 0 26px #7a551e66 !important; color: var(--ink-black) !important; font-family: var(--song);
}
.repair-cinematic h2, .repair-cinematic strong, .repair-cinematic p, .repair-cinematic small, .repair-cinematic span, .repair-cinematic div { color: var(--ink-black); text-shadow: none !important; }
.repair-cinematic h2 { font: 700 34px var(--brush) !important; letter-spacing: 6px; }
.repair-cinematic.broken h2 { color: var(--vermilion); }
.repair-cinematic.critical h2, .repair-cinematic.success h2 { color: #7a2316; }
.repair-cinematic strong { font-family: var(--song); }
.repair-cinematic .repair-next-risk, .repair-cinematic p { font-family: var(--brush); color: var(--ink-soft); }
.repair-cinematic button.primary { background: linear-gradient(#ffffff1a, transparent 35%, #0006), var(--wood-url) center/220px !important; color: #f6dfa5 !important; border: 0 !important; border-radius: 3px !important; font: 700 16px var(--brush); letter-spacing: 3px; box-shadow: 0 3px 0 #120a05, inset 0 0 0 1px #c79a4566 !important; text-shadow: 0 1px 0 #000; }
.repair-cinematic button.secondary { background: #e8d3a566 !important; color: var(--ink-black) !important; border: 0 !important; border-radius: 0 !important; font: 700 15px var(--brush); letter-spacing: 3px; box-shadow: inset 0 -2px 0 var(--ink-black) !important; }
.repair-cinematic .text-button { color: var(--vermilion) !important; font-family: var(--brush); }

/* 访客、成交笺 */
.visitor-invite {
  top: 304px !important; width: 190px; max-width: 190px !important; left: 22px !important; border: 0 !important; border-radius: 3px !important; transform: rotate(-.6deg); z-index: 3;
  background: linear-gradient(#ffffff1a, transparent 40%, #0007), var(--wood-url) center/220px !important; color: #f0d9a2 !important; box-shadow: 0 3px 0 #0a0603, 0 7px 10px #0008, inset 0 0 0 1px #c79a4566 !important;
}
.visitor-invite:hover { filter: brightness(1.15); } .visitor-invite strong { font: 700 15px var(--brush) !important; letter-spacing: 2px; color: #f6dfa5 !important; } .visitor-invite small { color: #cba96a !important; font-family: var(--brush); }
.door-chime { border: 2px solid var(--vermilion) !important; color: #f0b9a8 !important; border-radius: 50%; font-family: var(--brush) !important; transform: rotate(-8deg); }
.trade-note { background: var(--paper-url) center/320px !important; border: 0 !important; box-shadow: 0 10px 22px #000a, inset 0 0 22px #7a551e66 !important; color: var(--ink-black) !important; font-family: var(--brush); }
.trade-note *, .trade-note strong { color: var(--ink-black); } .trade-seal { color: var(--vermilion) !important; border-color: var(--vermilion) !important; mix-blend-mode: multiply; font-family: var(--brush); }
.debt-line { font: 16px/1.6 var(--brush) !important; color: var(--ink-black) !important; border-left: 4px solid var(--brass); padding: 6px 10px; background: #e9d5a955; }
.debt-line.due { border-left-color: var(--vermilion); color: #7a1d10 !important; font-weight: 700; }

/* 开铺进度：一道朱砂线 */
.load-track { width: min(240px, 60vw); height: 3px; margin: 14px auto 0; background: #ffffff1c; overflow: hidden; }
.load-track i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #7a2316, #d4442b); transition: width .25s; }

/* ───── 手机竖屏 ───── */
@media (max-width: 760px) {
  .hud-day, .hud-gold { padding: 5px 10px !important; min-height: 38px !important; }
  .hud-day strong { font-size: 16px !important; white-space: nowrap; letter-spacing: 1px; }
  .hud-day .day-sun { display: none; }
  .hud-gold strong { font-size: 19px !important; white-space: nowrap; }
  .time-pips { margin-left: 8px; gap: 2px; height: 18px; } .time-pips i { width: 2px; height: 13px; }
  /* 两张纸条并排，各占半边 */
  .debt-note, .quest-note { top: 62px !important; width: calc(50vw - 16px) !important; padding: 7px 10px 6px !important; transform: none !important; }
  .debt-note { left: 10px !important; } .quest-note { left: auto !important; right: 10px !important; }
  .debt-note .debt-kicker, .quest-note span { font-size: 11px !important; letter-spacing: 1px !important; white-space: nowrap; }
  .debt-note strong, .quest-note strong { font-size: 15px !important; white-space: nowrap; }
  .debt-note small, .quest-note small { font-size: 11px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .debt-note::after { width: 24px; height: 24px; font-size: 15px; top: 26px; right: 6px; }
  .visitor-invite { top: 138px !important; left: 10px !important; width: auto; max-width: 62vw !important; padding: 6px 9px !important; }
  /* 交互时让出场景：纸条收起，卷轴做成底部抽屉 */
  body.interacting .debt-note, body.interacting .quest-note { display: none; }
  .interaction-panel, body.at-bench .interaction-panel {
    top: auto !important; bottom: 84px !important; right: 8px !important; left: 8px !important; width: auto !important; transform: none !important;
    max-height: 50dvh !important; padding: 16px 0 !important;
  }
  .interaction-panel::before, .interaction-panel::after { height: 14px; left: -4px; right: -4px; }
  .interaction-panel::before { top: 3px; } .interaction-panel::after { bottom: 3px; }
  .inspector-top { padding: 14px 16px 2px !important; } .inspector-top #panel-eyebrow { font-size: 17px !important; letter-spacing: 5px; }
  .panel-body { padding: 4px 16px 18px !important; }
  .panel-title, .item-name { font-size: 20px !important; margin: 2px 0 !important; }
  .panel-subtitle { display: none; }
  .object-stage { max-height: 92px; } .object-stage img { max-height: 88px; }
  .offer-list { gap: 8px !important; } .offer-card { padding: 5px 10px 5px 6px !important; }
  .offer-card .offer-image { width: 50px; height: 44px; } .offer-card .offer-image img { width: 48px; height: 42px; }
  .clue-list { margin: 8px 0 10px; gap: 5px; } .clue button { padding: 5px 8px 5px 6px; }
  .value-row strong, .bench-price strong { font-size: 26px !important; }
  .stance { min-height: 52px; } .stance b { font-size: 17px !important; }
  #panel-content::after { width: 40px; height: 40px; margin: -40px 6px 6px 0; }
  .toast { max-width: 88vw; font-size: 15px !important; padding: 9px 18px !important; }
  .appraisal-modal, dialog.appraisal-modal { border-width: 8px !important; padding: 14px 16px 12px !important; }
  .appraisal-top h2 { font-size: 22px !important; letter-spacing: 3px !important; }
  .modal h2 { font-size: 26px !important; letter-spacing: 3px; }
  .repair-cinematic[open] { border-left-width: 8px !important; } .repair-cinematic h2 { font-size: 26px !important; }
}
/* ───── 手机横屏 ───── */
@media (max-height: 560px) and (min-width: 761px) {
  .hud-day, .hud-gold { padding: 4px 10px !important; min-height: 36px !important; }
  .hud-day strong { font-size: 16px !important; white-space: nowrap; } .hud-gold strong { font-size: 19px !important; }
  .debt-note { top: 58px; width: 150px; padding: 6px 10px 5px; } .debt-note strong { font-size: 16px; }
  .debt-note .debt-kicker { white-space: nowrap; font-size: 11px; letter-spacing: 1px; }
  .debt-note::after { width: 24px; height: 24px; font-size: 15px; top: 24px; }
  .quest-note { top: 132px !important; width: 150px; padding: 6px 10px !important; } .quest-note strong { font-size: 14px !important; }
  .visitor-invite { top: 204px !important; width: 150px; padding: 5px 8px !important; } .visitor-invite small { display: none; }
  body.interacting .quest-note, body.interacting .visitor-invite { display: none; }
  .interaction-panel, body.at-bench .interaction-panel { top: 8px !important; bottom: 8px !important; right: 12px !important; left: auto !important; width: 310px !important; max-height: none !important; padding: 16px 0 !important; transform: none !important; }
  .inspector-top { padding: 12px 16px 2px !important; } .inspector-top #panel-eyebrow { font-size: 17px !important; }
  .panel-body { padding: 4px 16px 16px !important; } .panel-title, .item-name { font-size: 19px !important; } .panel-subtitle { display: none; }
  .object-stage { max-height: 76px; } .object-stage img { max-height: 72px; }
  .offer-card .offer-image { width: 46px; height: 40px; } .offer-card .offer-image img { width: 44px; height: 38px; }
}

/* 画质选择 */
.quality-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 4px; font-family: var(--brush); }
.quality-row > span { color: var(--vermilion); letter-spacing: 4px; margin-right: 4px; }
.quality-row button { padding: 5px 14px; font: 700 15px var(--brush); letter-spacing: 2px; color: var(--ink-black); background: #e8d3a566; box-shadow: inset 0 -2px 0 var(--ink-black); }
.quality-row button.on { color: #f6dfa5; background: linear-gradient(#ffffff1a, transparent 35%, #0006), var(--wood-url) center/220px; box-shadow: 0 2px 0 #120a05, inset 0 0 0 1px #c79a4566; }
.quality-row small { flex-basis: 100%; color: var(--ink-soft) !important; font-size: 13px; }
