/* 《百草》 · 第一章 界面样式
   画面基准 16:9，所有尺寸以 --u（舞台高度的 1%）为单位，任意窗口等比缩放。 */
@font-face { font-family: "BCBody";  src: url(../assets/fonts/body.woff2) format("woff2"); font-display: block; }
@font-face { font-family: "BCBrush"; src: url(../assets/fonts/brush.woff2) format("woff2"); font-display: block; }

:root {
  --u: 1vh;
  --win-mask: url(data:image/webp;base64,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);
  --ink-mask: url(data:image/webp;base64,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);
  --ink: #15171c;
  --ink-2: #23262d;
  --paper: #ece4d3;
  --paper-2: #d9cfba;
  --paper-dim: rgba(236, 228, 211, .62);
  --gold: #c9a66b;
  --gold-2: #e3c48c;
  --cinnabar: #9b3b2f;
  --indigo: #1c2c4c;
  --indigo-2: #2d4470;
  --silver: #dce1e8;
  --body: "BCBody", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", serif;
  --brush: "BCBrush", "BCBody", "STKaiti", "Kaiti SC", serif;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --batik: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' fill='none' stroke='%23aebdd2' stroke-width='1' stroke-opacity='.16'%3E%3Cpath d='M40 26a14 14 0 1 1-14 14a9 9 0 0 1 9-9a5 5 0 0 1 5 5'/%3E%3Cpath d='M40 0L46 6L40 12L34 6Z M0 40L6 46L0 52 M80 40L74 46L80 52 M40 80L46 74L34 74Z'/%3E%3Cpath d='M10 10L16 16M64 64L70 70M70 10L64 16M10 70L16 64' stroke-opacity='.12'/%3E%3Ccircle cx='16' cy='40' r='1.2' fill='%23aebdd2' fill-opacity='.18' stroke='none'/%3E%3Ccircle cx='64' cy='40' r='1.2' fill='%23aebdd2' fill-opacity='.18' stroke='none'/%3E%3C/svg%3E");
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; height: 100%; background: #000; overflow: hidden; }
body { display: grid; place-items: center; font-family: var(--body); color: var(--paper); user-select: none; -webkit-user-select: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
button:focus-visible, [tabindex]:focus-visible { outline: 1px solid var(--gold); outline-offset: 3px; }

#stage {
  position: relative; overflow: hidden; background: #000;
  width: min(100vw, 177.7778vh); height: min(56.25vw, 100vh);
  font-size: calc(var(--u) * 3.1);
  container-type: size;
}
#stage.hide-cursor { cursor: none; }
.layer { position: absolute; inset: 0; }
.hidden { display: none !important; }

/* ===================== 载入 ===================== */
#boot {
  z-index: 90; background: #050608; display: grid; place-items: center;
  transition: opacity 1.2s var(--ease);
}
#boot.done { opacity: 0; pointer-events: none; }
.boot-inner { text-align: center; }
.boot-seal {
  width: calc(var(--u) * 9); height: calc(var(--u) * 9); margin: 0 auto calc(var(--u) * 3);
  display: grid; place-items: center; font-family: var(--brush); font-size: calc(var(--u) * 5.4);
  color: var(--cinnabar); border: 2px solid var(--cinnabar); border-radius: 6%;
  animation: breathe 2.4s ease-in-out infinite;
}
.boot-bar { width: calc(var(--u) * 30); height: 1px; background: rgba(236, 228, 211, .15); margin: 0 auto; overflow: hidden; }
.boot-bar i { display: block; height: 100%; width: 0; background: var(--gold); transition: width .3s; }
.boot-tip { margin-top: calc(var(--u) * 2.2); font-size: calc(var(--u) * 1.8); letter-spacing: .4em; color: rgba(236, 228, 211, .55); }
#boot .press { margin-top: calc(var(--u) * 4); font-size: calc(var(--u) * 2.1); letter-spacing: .6em; color: var(--paper); opacity: 0; transition: opacity .8s; }
#boot.ready .press { opacity: 1; animation: blink 2.6s ease-in-out infinite; }
#boot.ready .boot-bar, #boot.ready .boot-tip { opacity: 0; transition: opacity .6s; }
@keyframes breathe { 50% { opacity: .55; transform: scale(.97); } }
@keyframes blink { 50% { opacity: .35; } }

/* ===================== 标题画面 ===================== */
/* 整幅画（含 logo、题字、菜单底条）放在 .world 里，按原图比例铺满舞台；
   菜单按钮的位置用原图坐标换算，和画上的底条、金线严丝合缝，视差和缓推时一起动 */
#title { z-index: 40; overflow: hidden; background: #04060c; --w: 1.02cqw; }
#title .par { position: absolute; inset: 0; will-change: transform; }
#title .world {
  position: absolute; left: -1cqw; top: calc((56.25cqw - var(--w) * 56.84) / 2);
  width: calc(var(--w) * 100); height: calc(var(--w) * 56.84);
  transform-origin: 40% 45%; opacity: 0; transform: scale(1.06); filter: brightness(.4);
  transition: opacity 2.2s var(--ease), transform 3.4s var(--ease), filter 2.6s var(--ease);
}
#title.in .world { opacity: 1; transform: none; filter: none; animation: drift 40s 3.4s ease-in-out infinite alternate; }
@keyframes drift { from { transform: none; } to { transform: translate3d(-.5%, -.35%, 0) scale(1.025); } }
#title .bg { position: absolute; inset: 0; background: url(../assets/img/title_bg3.jpg) center / 100% 100% no-repeat; }

/* 月亮和灯火：在画上的光源处轻轻呼吸、明灭 */
#title .glows i { position: absolute; border-radius: 50%; mix-blend-mode: screen; pointer-events: none; transform: translate(-50%, -50%); }
#title .glows .moon { left: 31.6%; top: 17.6%; width: 9%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(220, 230, 255, .42) 0, rgba(190, 205, 255, .14) 35%, transparent 70%); animation: moon 7s ease-in-out infinite; }
@keyframes moon { 50% { opacity: .55; transform: translate(-50%, -50%) scale(.94); } }
#title .glows .lamp { aspect-ratio: 1; background: radial-gradient(circle, rgba(255, 190, 110, .5), rgba(255, 150, 70, 0) 68%); animation: flicker 3.4s ease-in-out infinite; }
#title .glows .l1 { left: 88.5%; top: 18%; width: 8%; }
#title .glows .l2 { left: 90.4%; top: 48.5%; width: 5%; animation-delay: -1.3s; }
#title .glows .l3 { left: 40.6%; top: 61.5%; width: 3.6%; animation-delay: -2.1s; }
#title .glows .l4 { left: 34.4%; top: 55.5%; width: 3.6%; animation-delay: -.6s; }
#title .glows .town { left: 33%; top: 57%; width: 30%; aspect-ratio: 2.6; opacity: .5;
  background: radial-gradient(ellipse, rgba(255, 180, 100, .3), transparent 70%); animation: flicker 5.2s ease-in-out infinite -1s; }
@keyframes flicker { 0%, 100% { opacity: .55; } 40% { opacity: .9; } 55% { opacity: .65; } 70% { opacity: 1; } }

/* logo 扫光（canvas 用金色笔画做遮罩） */
#title .glint { position: absolute; left: 1.07%; top: 4.7%; width: 17.11%; height: 47.98%; mix-blend-mode: screen; pointer-events: none; }

/* 萤火、落花、暗角、离场的黑幕 */
#title .flies, #title .petals { position: absolute; inset: -3%; pointer-events: none; will-change: transform; }
#title .flies b { position: absolute; width: calc(var(--u) * .55); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, #fff6c8 0, #ffd36a 35%, rgba(255, 190, 80, 0) 70%);
  box-shadow: 0 0 calc(var(--u) * 1.2) calc(var(--u) * .2) rgba(255, 200, 90, .45);
  opacity: 0; animation: fly var(--d) ease-in-out infinite var(--dl); }
@keyframes fly {
  0% { opacity: 0; transform: translate3d(0, 0, 0); }
  20% { opacity: var(--o); }
  50% { transform: translate3d(var(--x1), var(--y1), 0); opacity: calc(var(--o) * .4); }
  70% { opacity: var(--o); }
  100% { opacity: 0; transform: translate3d(var(--x2), var(--y2), 0); }
}
#title .petals b { position: absolute; top: -4%; width: calc(var(--u) * 1.3); height: calc(var(--u) * 1); border-radius: 60% 0 60% 0;
  background: radial-gradient(circle at 30% 30%, #fbf7ee, #ddd5c6); opacity: .8; filter: blur(.3px); animation: fall linear infinite; }
@keyframes fall { to { transform: translate3d(var(--dx), calc(var(--u) * 110), 0) rotate(var(--rot)); } }
#title .vig { position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 85% 80% at 55% 45%, transparent 60%, rgba(2, 3, 8, .55) 100%); }
#title .veil { position: absolute; inset: 0; background: #000; opacity: 0; pointer-events: none; transition: opacity 1.1s var(--ease) .1s; }
#title.leave .veil { opacity: 1; }
#title.leave .par { transform: scale(1.04) !important; transition: transform 1.4s var(--ease); }
#title.leave .menu button:not(.press) { opacity: 0 !important; transition: opacity .45s; }

/* —— 菜单：贴在画上的五条底条里 —— */
#title .menu { position: absolute; inset: 0; pointer-events: none; }
#title .menu button {
  --cy: 59.41%; position: absolute; left: 3.1%; top: calc(var(--cy) - var(--w) * 1.65); width: calc(var(--w) * 16.5); height: calc(var(--w) * 3.3);
  pointer-events: auto; color: #ece3cf; cursor: pointer; outline: none; isolation: isolate;
  opacity: 0; transform: translateX(calc(var(--w) * -1.2));
  transition: opacity .9s var(--ease), transform 1.1s var(--ease);
}
#title .menu button:nth-child(2) { --cy: 65.85%; }
#title .menu button:nth-child(3) { --cy: 72.34%; }
#title .menu button:nth-child(4) { --cy: 79.12%; }
#title .menu button:nth-child(5) { --cy: 85.51%; }
#title.in .menu button { opacity: 1; transform: none; transition-delay: calc(1.5s + var(--row) * .13s); }
#title.in .menu button.sel, #title.in .menu button.sel { transition-delay: 0s; }

/* 悬停的光带：从左往右淡出的金色 */
#title .menu button::after {
  content: ""; position: absolute; inset: 6% -4% 6% 0; z-index: -1; opacity: 0;
  background: linear-gradient(90deg, rgba(224, 186, 116, .34), rgba(214, 178, 112, .12) 50%, transparent 92%);
  transform: scaleX(.6); transform-origin: left; transition: opacity .45s var(--ease), transform .6s var(--ease);
}
.orn {
  position: absolute; left: calc(var(--w) * .82); top: 50%; width: calc(var(--w) * 2.3); height: calc(var(--w) * 2.3); margin-top: calc(var(--w) * -1.15);
  color: #dcbf86; opacity: .92;
  transition: transform .7s var(--ease), color .4s, filter .4s, opacity .4s;
}
/* 入场用动画而不是过渡，免得入场的延迟拖慢之后的悬停反馈 */
#title.in .orn { animation: ornIn 1.1s var(--ease) backwards; animation-delay: calc(1.6s + var(--row) * .13s); }
@keyframes ornIn { from { opacity: 0; transform: rotate(-90deg) scale(.6); } }
#title .menu .lb {
  position: absolute; left: calc(var(--w) * 4.39); top: 50%; transform: translateY(-52%);
  font-size: calc(var(--w) * 1.55); letter-spacing: calc(var(--w) * .67); line-height: 1; white-space: nowrap; font-weight: 500;
  text-shadow: 0 0 calc(var(--w) * .5) rgba(0, 0, 0, .65); transition: color .35s, text-shadow .45s, letter-spacing .6s var(--ease);
}
/* 底下的金线：悬停时一道光从左扫到右 */
#title .menu .ln {
  position: absolute; left: calc(var(--w) * .38); top: calc(50% + var(--w) * 1.48); width: calc(var(--w) * 13.6); height: 2px; overflow: hidden;
  background: linear-gradient(90deg, transparent, rgba(255, 228, 170, .95) 45%, #fff3d6 50%, rgba(255, 228, 170, .95) 55%, transparent) -100% 0 / 40% 100% no-repeat;
}
#title .menu .ln::before { content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity .5s;
  background: linear-gradient(90deg, rgba(240, 205, 135, .2), rgba(250, 220, 160, .85) 30%, rgba(240, 205, 135, .5) 70%, transparent); }
#title .menu button.sel .ln, #title .menu button.sel .ln { animation: sweep 1.1s var(--ease) forwards; }
#title .menu button.sel .ln::before, #title .menu button.sel .ln::before { opacity: 1; }
@keyframes sweep { from { background-position: -60% 0; } to { background-position: 160% 0; } }

#title .menu button.sel::after, #title .menu button.sel::after { opacity: 1; transform: none; }
#title .menu button.sel .lb, #title .menu button.sel .lb {
  color: #fff7e6; letter-spacing: calc(var(--w) * .76);
  text-shadow: 0 0 calc(var(--w) * .5) rgba(0, 0, 0, .5), 0 0 calc(var(--w) * 1.2) rgba(240, 200, 120, .55);
}
#title .menu button.sel .orn, #title .menu button.sel .orn {
  color: #ffe2a6; transform: rotate(90deg) scale(1.12); filter: drop-shadow(0 0 calc(var(--w) * .45) rgba(255, 205, 110, .9));
}
/* 点下去：花饰一转、一圈金光散开 */
#title .menu button::before {
  content: ""; position: absolute; left: calc(var(--w) * 1.97); top: 50%; width: calc(var(--w) * 2.4); aspect-ratio: 1; margin: calc(var(--w) * -1.2) 0 0 calc(var(--w) * -1.2);
  border-radius: 50%; border: 1px solid rgba(255, 220, 150, .9); box-shadow: 0 0 calc(var(--w) * .8) rgba(255, 210, 120, .7);
  opacity: 0; pointer-events: none;
}
#title .menu button.press::before { animation: ring .8s var(--ease) forwards; }
@keyframes ring { 0% { opacity: 1; transform: scale(.5); } 100% { opacity: 0; transform: scale(3.2); } }
#title .menu button.press .orn { transform: rotate(270deg) scale(1.2); transition-duration: .8s; }
#title .menu button.press .lb { color: #fff; text-shadow: 0 0 calc(var(--w) * 1.6) rgba(255, 215, 140, .95); }
#title .menu button:active .lb { transform: translateY(-48%); }

#title .menu button:disabled { cursor: default; }
#title .menu button:disabled .lb { color: rgba(236, 227, 207, .32); }
#title .menu button:disabled .orn { color: rgba(220, 191, 134, .35); }
#title .menu button:disabled::after, #title .menu button:disabled .ln { display: none; }

/* ===================== 开场（WebGL 浮字） ===================== */
#opening { z-index: 50; background: #050a15; }
#opening canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
#opening .skip {
  position: absolute; top: calc(var(--u) * 5); right: calc(var(--u) * 4.4); writing-mode: vertical-rl;
  font-size: calc(var(--u) * 2.1); letter-spacing: .5em; color: #a9b6cb; padding: .9em .5em .4em; opacity: 0; transition: opacity .6s;
}
#opening.ui .skip { opacity: .72; }
#opening .skip:hover { opacity: 1; }
#opening .ofallback {
  position: absolute; inset: 0; display: none; place-items: center; writing-mode: vertical-rl; color: var(--silver);
  font-size: calc(var(--u) * 5); line-height: 2.1; letter-spacing: .3em;
  background: radial-gradient(ellipse at 50% 45%, #0f1c34, #050a15 75%);
}
#opening.nogl .ofallback { display: grid; }
#opening .ofallback p { position: absolute; margin: 0; opacity: 0; transition: opacity 1.6s, filter 1.6s; filter: blur(6px); }
#opening .ofallback p.on { opacity: 1; filter: none; }

/* ===================== 场景 ===================== */
#scene { z-index: 10; overflow: hidden; background: #000; }
#scene .shot { position: absolute; inset: 0; overflow: hidden; will-change: opacity, transform; }
#scene .shot .cam { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
#scene .shot img.plate { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
#scene .shot .focus-a, #scene .shot .focus-b { position: absolute; inset: 0; }
#scene .shot .focus-a img, #scene .shot .focus-b img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 车窗外视差 */
.par { position: absolute; inset: 0; }
.par .strip { position: absolute; left: 0; top: 0; height: 100%; width: 300%; background-size: 66.6667% 100%; background-repeat: repeat-x; will-change: transform; }

/* 颠簸 */
#scene.shake .shot.cur:not(.still) .cam-shake { animation: bump 2.7s infinite; }
#scene .shot img.focus-b { will-change: opacity; }
/* 民宿房间的说话聚焦（战双 / 崩坏式）：说话的人放大、提亮，不说话的人退进阴影 */
#scene .shot .room-dim { position: absolute; inset: 0; background: rgba(5, 7, 12, .7); opacity: 0; transition: opacity .45s var(--ease); pointer-events: none; }
#scene .shot.spot .room-dim { opacity: 1; }
#scene .shot img.room-cut { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none;
  opacity: 0; transform: scale(1); transition: opacity .45s var(--ease), transform .55s var(--ease), filter .45s; }
#scene .shot img.room-cut.lin { transform-origin: 27% 100%; }
#scene .shot img.room-cut.zhou { transform-origin: 72% 100%; }
#scene .shot img.room-cut.on { opacity: 1; transform: scale(1.06); filter: brightness(1.1) saturate(1.06); }
.cam-shake { position: absolute; inset: 0; }
@keyframes bump {
  0%, 100% { transform: translate3d(0, 0, 0); }
  5% { transform: translate3d(0, .32%, 0) rotate(.05deg); }
  9% { transform: translate3d(0, -.18%, 0); }
  14% { transform: translate3d(0, .08%, 0); }
  38% { transform: translate3d(.05%, 0, 0); }
  52% { transform: translate3d(0, .14%, 0) rotate(-.04deg); }
  56% { transform: translate3d(0, -.08%, 0); }
  72% { transform: translate3d(-.04%, .05%, 0); }
}

/* 场景之上的效果层 */
#fx { z-index: 15; pointer-events: none; }

/* ===================== 立绘（第二幕起：两人对话） ===================== */
#figs { z-index: 12; pointer-events: none; overflow: hidden; }
#figs::before {   /* 有人上台时把背景压暗一点，人物更突出 */
  content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 7, 12, .5), rgba(5, 7, 12, .12) 60%);
  opacity: 0; transition: opacity .6s;
}
#figs.on::before { opacity: 1; }
#figs .fig {
  position: absolute; bottom: 0; height: calc(var(--h) * 1%); transform-origin: 50% 100%;
  opacity: 0; transition: opacity .5s var(--ease), transform .55s var(--ease), filter .45s var(--ease);
  filter: brightness(1) drop-shadow(0 0 calc(var(--u) * 2) rgba(0, 0, 0, .55));
}
#figs .fig img { height: 100%; width: auto; display: block; }
#figs .fig.left  { left: 9%;  transform: translateX(-4%) scale(.97); }
#figs .fig.right { right: 9%; transform: translateX(4%) scale(.97); }
#figs .fig.in { opacity: 1; transform: none; }
#figs .fig.swap { transition: opacity .3s; transform: none; }
#figs .fig.out { opacity: 0; transition: opacity .45s; }
#figs .fig.in.talk { transform: scale(1.045); filter: brightness(1.06) drop-shadow(0 0 calc(var(--u) * 2.4) rgba(0, 0, 0, .6)); z-index: 2; }
#figs .fig.in.dim { transform: scale(.985); filter: brightness(.34) saturate(.6) drop-shadow(0 0 calc(var(--u) * 2) rgba(0, 0, 0, .5)); }
/* 有人在说话时，背景再压暗一些，说话的人更突出 */
#figs.on.speak::before { background: linear-gradient(0deg, rgba(5, 7, 12, .62), rgba(5, 7, 12, .3) 60%); }
@media (prefers-reduced-motion: reduce) { #figs .fig { transition: opacity .3s, filter .3s; } }
#fx > * { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--ease); }
#fx .vig { background: radial-gradient(ellipse at 50% 45%, transparent 48%, rgba(0, 0, 0, .55) 100%); opacity: 1; }
#fx .letter { opacity: 1; }
#fx .letter::before, #fx .letter::after { content: ""; position: absolute; left: 0; right: 0; height: 0; background: #000; transition: height 1.4s var(--ease); }
#fx .letter::before { top: 0; } #fx .letter::after { bottom: 0; }
#stage.cine #fx .letter::before, #stage.cine #fx .letter::after { height: 7.5%; }
#fx .flash { background: #fff; transition: none; }
#fx .grain { opacity: .07; mix-blend-mode: overlay; background-size: 256px 256px; animation: grain .8s steps(6) infinite; }
@keyframes grain { 0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -3%); } 60% { transform: translate(-2%, -1%); } 80% { transform: translate(3%, 3%); } }
#fx .veins { background: radial-gradient(ellipse at 50% 55%, rgba(150, 30, 40, 0) 22%, rgba(120, 18, 30, .5) 70%, rgba(60, 6, 14, .85) 100%); mix-blend-mode: multiply; }
#fx .veins.on { opacity: 1; animation: pulse 2.14s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: .65; } 8% { opacity: 1; } 18% { opacity: .75; } 26% { opacity: .95; } }
#fx .blush { background: radial-gradient(ellipse at 12% 26%, rgba(220, 110, 100, .26), transparent 30%); mix-blend-mode: soft-light; }
#fx .blush.on { opacity: 1; }
#fx .memory-tint { background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(10, 18, 34, .6) 100%); }
#fx .split { opacity: 1; }
#fx .split i { position: absolute; top: 0; bottom: 0; width: 50%; background: #05070c; transform: scaleX(0); transition: transform 1.2s var(--ease); }
#fx .split i:first-child { left: 0; transform-origin: left; } #fx .split i:last-child { right: 0; transform-origin: right; }
#fx .split.on i { transform: scaleX(.18); }

/* 水墨转场：黑墨从中心晕开盖住画面，再化开露出下一幕 */
#ink { z-index: 30; pointer-events: none; opacity: 0; background: #0b0c10; }
#ink.run { opacity: 1; -webkit-mask: var(--ink-mask) center / 0% no-repeat; mask: var(--ink-mask) center / 0% no-repeat; animation: inkIn var(--d, 1100ms) var(--ease) forwards; }
#ink.out { opacity: 1; animation: inkOut var(--d, 1100ms) ease forwards; }
@keyframes inkIn { to { -webkit-mask-size: 420%; mask-size: 420%; } }
@keyframes inkOut { from { opacity: 1; } to { opacity: 0; } }

/* 地点提示：右上角竖排 */
#loc {
  z-index: 25; position: absolute; top: calc(var(--u) * 6); right: calc(var(--u) * 5); bottom: auto;
  writing-mode: vertical-rl; display: flex; align-items: center; gap: calc(var(--u) * 1.2);
  font-size: calc(var(--u) * 2.3); letter-spacing: .5em; color: var(--paper);
  text-shadow: 0 0 calc(var(--u) * 1.4) rgba(0, 0, 0, .9), 0 0 4px rgba(0, 0, 0, .9); opacity: 0; transform: translateY(calc(var(--u) * -1)); transition: opacity 1.2s, transform 1.2s var(--ease);
  pointer-events: none; padding: calc(var(--u) * 1.6) calc(var(--u) * .8);
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(0, 0, 0, .38), transparent 100%);
}
#loc::before { content: ""; width: 1px; height: calc(var(--u) * 6); background: linear-gradient(transparent, var(--gold)); }
#loc.on { opacity: 1; transform: none; }

/* ===================== 对话框 ===================== */
#box {
  z-index: 20; position: absolute; left: 0; right: 0; bottom: 0; height: 30%;
  opacity: 0; visibility: hidden; transform: translateY(calc(var(--u) * 2));
  transition: opacity .7s var(--ease), transform .7s var(--ease), visibility 0s linear .75s;
  pointer-events: none;
}
#box.on { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity .7s var(--ease), transform .7s var(--ease), visibility 0s; }
/* 底板：靛蓝近黑，四角切去，铺一层极淡的蜡染回旋纹 */
#box .panel {
  position: absolute; left: 6.5%; right: 6.5%; bottom: 14%; top: 12%;
  background:
    radial-gradient(ellipse 60% 120% at 50% 0%, rgba(120, 140, 175, .10), transparent 70%),
    linear-gradient(180deg, rgba(13, 17, 27, .80), rgba(8, 10, 17, .90));
  -webkit-clip-path: polygon(var(--ch) 0, calc(100% - var(--ch)) 0, 100% var(--ch), 100% calc(100% - var(--ch)), calc(100% - var(--ch)) 100%, var(--ch) 100%, 0 calc(100% - var(--ch)), 0 var(--ch));
  clip-path: polygon(var(--ch) 0, calc(100% - var(--ch)) 0, 100% var(--ch), 100% calc(100% - var(--ch)), calc(100% - var(--ch)) 100%, var(--ch) 100%, 0 calc(100% - var(--ch)), 0 var(--ch));
  --ch: calc(var(--u) * 1.6);
  backdrop-filter: blur(3px) saturate(.8); -webkit-backdrop-filter: blur(3px) saturate(.8);
}
#box .panel::before {   /* 蜡染纹 */
  content: ""; position: absolute; inset: 0; opacity: .5; background-image: var(--batik); background-size: calc(var(--u) * 9);
  -webkit-mask-image: radial-gradient(ellipse 75% 95% at 50% 50%, transparent 35%, #000 100%);
  mask-image: radial-gradient(ellipse 75% 95% at 50% 50%, transparent 35%, #000 100%);
}
/* 银框（boxframe.js 画），和底板同一个矩形 */
#box .frame { position: absolute; left: 6.5%; right: 6.5%; bottom: 14%; top: 12%; pointer-events: none; overflow: visible; transition: opacity .5s; }
#box .frame svg { position: absolute; inset: 0; overflow: visible; }
#box .frame path, #box .frame circle { fill: none; stroke-linecap: round; stroke-linejoin: round; }
#box .frame .outer { stroke: url(#bfS); stroke-width: 1.5; }
#box .frame .glow { stroke: rgba(205, 218, 235, .14); stroke-width: 5; }
#box .frame .inner { stroke: rgba(200, 210, 222, .32); stroke-width: 1; }
#box .frame .hem { stroke: url(#bfR); stroke-width: 1; opacity: .7; }
#box .frame .orn path { stroke: #d6dde6; stroke-width: 1.3; }
#box .frame .orn .bead { fill: #e6ebf1; stroke: none; }
#box .frame .orn .jw, #box .frame .jw { fill: #b2473a; stroke: #e6ebf1; stroke-width: .8; }

/* 名牌：银六角牌骑在框的左上 */
#box .name {
  position: absolute; z-index: 2; isolation: isolate; left: 11%; top: calc(12% - var(--u) * 2.9); height: calc(var(--u) * 5.8);
  display: flex; align-items: center; gap: calc(var(--u) * 1.1); padding: 0 calc(var(--u) * 4.4) 0 calc(var(--u) * 3.6);
  font-family: var(--brush); font-size: calc(var(--u) * 3.3); letter-spacing: .14em; line-height: 1; color: #f1f4f7;
  text-shadow: 0 0 calc(var(--u) * .8) rgba(170, 195, 230, .35), 0 2px 3px rgba(0, 0, 0, .9);
  opacity: 0; visibility: hidden; transform: translateY(calc(var(--u) * .8));
  transition: opacity .35s, transform .45s var(--ease), visibility 0s linear .4s;
}
#box .name.on { opacity: 1; visibility: visible; transform: none; transition: opacity .35s, transform .45s var(--ease), visibility 0s; }
#box .name .plate { position: absolute; left: 0; top: 0; overflow: visible; z-index: -1; }
#box .name .plate path { stroke-linejoin: round; }
#box .name .plate .fill { fill: rgba(12, 16, 26, .94); }
#box .name .plate .outer { fill: none; stroke: url(#bpS); stroke-width: 1.5; }
#box .name .plate .inner { fill: none; stroke: rgba(200, 210, 222, .4); stroke-width: 1; }
#box .name .plate .jw { fill: var(--seal, #b2473a); stroke: #e6ebf1; stroke-width: .8; }
#box .name .plate .cord { stroke: rgba(222, 229, 238, .85); stroke-width: 1.3; }
#box .name .plate .drop { fill: #dfe5ec; stroke: none; }
#box .name .plate .tas { transform-box: fill-box; transform-origin: 50% 0; animation: tassel 3.6s ease-in-out infinite; }
@keyframes tassel { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
/* 人物色的小菱：林半夏青，周枫红 */
#box .name .stamp {
  width: calc(var(--u) * 1.3); height: calc(var(--u) * 1.3); flex: none; transform: rotate(45deg);
  background: var(--seal, var(--cinnabar)); box-shadow: 0 0 0 1px #e6ebf1, 0 0 calc(var(--u) * .8) var(--seal, var(--cinnabar));
}
#box .text {
  position: absolute; left: 12%; right: 12.5%; top: 31%; bottom: 20%;
  font-size: calc(var(--u) * 3.05); line-height: 1.85; letter-spacing: .08em; color: #eef0f0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .8);
}
#box.narr .text { color: #dcdfe2; }
#box.narr .text .q { color: rgba(201, 166, 107, .7); }
#box .text span.c { opacity: 0; transition: opacity .18s linear; }
#box .text span.c.v { opacity: 1; }
#box .text { contain: layout paint; }
#box .next {
  position: absolute; right: 11.4%; bottom: 21%; width: calc(var(--u) * 2.1); height: calc(var(--u) * 4.2);
  opacity: 0; transition: opacity .3s;
}
#box .next.on { opacity: 1; }
#box .next svg { width: 100%; height: 100%; overflow: visible; transform-origin: 50% 0; animation: pend 2.4s ease-in-out infinite; }
#box .next .cord { stroke: rgba(214, 222, 232, .8); stroke-width: 1.2; fill: none; }
#box .next .ring { stroke: #dfe5ec; stroke-width: 1.2; fill: none; }
#box .next .dia { fill: #b2473a; stroke: #e6ebf1; stroke-width: .9; }
#box .next .drop { fill: #e6ebf1; animation: shine 2.4s ease-in-out infinite; }
@keyframes pend { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
@keyframes shine { 50% { fill: #ffffff; } }

/* 底部快捷栏 */
#qbar {
  position: absolute; right: 8%; bottom: 2.4%; display: flex; gap: calc(var(--u) * .4);
  font-size: calc(var(--u) * 1.55); letter-spacing: .25em;
}
#qbar button { padding: calc(var(--u) * .5) calc(var(--u) * 1.1); color: rgba(236, 228, 211, .45); transition: color .3s; position: relative; }
#qbar button:hover { color: var(--paper); }
#qbar button.act { color: var(--gold-2); }
#qbar button.act::after { content: ""; position: absolute; left: 30%; right: 30%; bottom: 0; height: 1px; background: var(--gold); }

/* 电影模式：对话框换成画面下方的字幕式旁白 */
#stage.cine #box .panel { background: linear-gradient(180deg, transparent, rgba(5, 6, 9, .5) 45%, rgba(5, 6, 9, .72)); border-top: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
#stage.cine #box .panel { -webkit-clip-path: none; clip-path: none; top: 0; bottom: 0; left: 0; right: 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); }
#stage.cine #box .panel::before { opacity: 0; }
#stage.cine #box .frame { opacity: 0; visibility: hidden; }
#stage.cine #box .text { left: 16%; right: 16%; text-align: center; top: 40%; }
#stage.cine #box .next { right: 15%; bottom: 22%; }

/* ===================== 人物介绍卡 ===================== */
#card { z-index: 22; pointer-events: none; }
#card .c {
  position: absolute; top: 9%; height: 58%; width: calc(var(--u) * 52);
  display: flex; align-items: stretch; opacity: 0; visibility: hidden;
  /* 淡出结束后再隐藏：Safari 会把淡出到 0 的带滤镜图层留在屏幕上，变成一个空方框 */
  transition: opacity 1s var(--ease), transform 1.2s var(--ease), visibility 0s linear 1.2s;
}
#card .c > * { box-shadow: 0 calc(var(--u) * 1) calc(var(--u) * 3) rgba(0, 0, 0, .45); }
#card .c.lin  { left: 4%;  transform: translateX(calc(var(--u) * -3)); }
#card .c.zhou { right: 4%; transform: translateX(calc(var(--u) * 3)); flex-direction: row-reverse; }
#card .c.on { opacity: 1; transform: none; visibility: visible; transition: opacity 1s var(--ease), transform 1.2s var(--ease), visibility 0s; }
#card .por {
  flex: 0 0 calc(var(--u) * 26); position: relative; background-color: #0d0e12; background-repeat: no-repeat;
  border: 1px solid rgba(201, 166, 107, .35);
}
#card .por::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 11, 14, .85), transparent 40%); }
#card .c.lin .por  { background-image: url(../assets/img/fig_lin.webp);  background-size: 190% auto; background-position: 52% 0; }
#card .c.zhou .por { background-image: url(../assets/img/fig_zhou.webp); background-size: 180% auto; background-position: 48% 3%; }
#card .info {
  flex: 1; display: flex; flex-direction: row-reverse; justify-content: flex-start; gap: calc(var(--u) * 1.8);
  padding: calc(var(--u) * 2.6) calc(var(--u) * 2.2);
  background: linear-gradient(90deg, rgba(10, 11, 14, .9), rgba(10, 11, 14, .62));
  border: 1px solid rgba(201, 166, 107, .18); border-left: 0;
}
#card .c.zhou .info { background: linear-gradient(270deg, rgba(10, 11, 14, .9), rgba(10, 11, 14, .62)); border-left: 1px solid rgba(201, 166, 107, .18); border-right: 0; }
#card .info > * { writing-mode: vertical-rl; white-space: nowrap; }
#card .nm { font-family: var(--brush); font-size: calc(var(--u) * 6.4); line-height: 1; color: var(--gold-2); letter-spacing: .08em; }
#card .tag {
  align-self: flex-start; font-size: calc(var(--u) * 1.55); letter-spacing: .25em; padding: calc(var(--u) * 1) calc(var(--u) * .45);
  color: #f3e6d0; background: var(--cinnabar); border-radius: 999px;
}
#card .desc { font-size: calc(var(--u) * 1.85); line-height: 2.1; letter-spacing: .25em; color: rgba(236, 228, 211, .82); }
#card .quote { font-size: calc(var(--u) * 1.7); line-height: 2.1; letter-spacing: .3em; color: rgba(236, 228, 211, .5); align-self: flex-end; }

/* 阿青：文档给的人物介绍图，整张放在右侧，银边 */
#card .c.poster { right: 7%; top: 6%; height: auto; width: calc(var(--u) * 37); transform: translateX(calc(var(--u) * 3)); }
#card .c.poster.on { transform: none; }
#card .c.poster.left { right: auto; left: 7%; transform: translateX(calc(var(--u) * -3)); }
#card .c.poster.left.on { transform: none; }
#card .c.poster img { display: block; width: calc(var(--u) * 37); height: calc(var(--u) * 65); object-fit: cover;
  border: 1px solid rgba(222, 229, 238, .6); box-shadow: 0 0 0 calc(var(--u) * .5) rgba(10, 13, 22, .85), 0 0 0 calc(var(--u) * .62) rgba(200, 210, 222, .35), 0 calc(var(--u) * 1) calc(var(--u) * 4) rgba(0, 0, 0, .6); }

/* ===================== 选项（银牌按钮） ===================== */
#choice { z-index: 27; display: grid; place-items: center; background: rgba(4, 6, 12, .35); opacity: 0; transition: opacity .4s; }
#choice { pointer-events: none; }
#choice.on { opacity: 1; pointer-events: auto; }
#choice .list { display: flex; flex-direction: column; gap: calc(var(--u) * 2.2); margin-bottom: calc(var(--u) * 12); }
#choice button {
  position: relative; width: calc(var(--u) * 46); height: calc(var(--u) * 6.5);
  font-size: calc(var(--u) * 2.7); letter-spacing: .3em; text-indent: .3em; color: #e9edf1; text-align: center;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 62' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23141a29'/%3E%3Cstop offset='1' stop-color='%230a0d16'/%3E%3C/linearGradient%3E%3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%239aa6b4' stop-opacity='.6'/%3E%3Cstop offset='.5' stop-color='%23eef2f6'/%3E%3Cstop offset='1' stop-color='%239aa6b4' stop-opacity='.6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M24 1H416L439 31L416 61H24L1 31Z' fill='url(%23f)' stroke='url(%23s)' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M30 6H410L429 31L410 56H30L11 31Z' fill='none' stroke='%23c8d2de' stroke-opacity='.3' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M38 31L44 25L50 31L44 37Z M390 31L396 25L402 31L396 37Z' fill='%23b2473a' stroke='%23e6ebf1' stroke-width='.8' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  filter: drop-shadow(0 calc(var(--u) * .6) calc(var(--u) * 1.4) rgba(0, 0, 0, .55));
  transform: translateY(calc(var(--u) * 1)); opacity: 0; transition: transform .5s var(--ease), opacity .5s, color .3s;
}
#choice.on button { transform: none; opacity: 1; }
#choice.on button:nth-child(2) { transition-delay: .08s; }
#choice button:hover, #choice button:focus-visible { color: #fff; outline: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 62' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%232a3756'/%3E%3Cstop offset='1' stop-color='%23121827'/%3E%3C/linearGradient%3E%3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%239aa6b4' stop-opacity='.6'/%3E%3Cstop offset='.5' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%239aa6b4' stop-opacity='.6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M24 1H416L439 31L416 61H24L1 31Z' fill='url(%23f)' stroke='url(%23s)' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M30 6H410L429 31L410 56H30L11 31Z' fill='none' stroke='%23c8d2de' stroke-opacity='.3' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M38 31L44 25L50 31L44 37Z M390 31L396 25L402 31L396 37Z' fill='%23b2473a' stroke='%23e6ebf1' stroke-width='.8' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
#choice button:active { transform: translateY(1px); }

/* ===================== 小游戏层 ===================== */
#game { z-index: 23; opacity: 0; transition: opacity .6s; touch-action: none; }
#game.on { opacity: 1; }
#game canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; }
#game canvas.grab { cursor: grabbing; }

/* ===================== 上菜（第二幕） ===================== */
#serve { z-index: 23; opacity: 0; transition: opacity .5s; }
#serve.on { opacity: 1; }
#serve.busy .spot { opacity: 0; pointer-events: none; }
#serve .spot {
  position: absolute; transform: translate(-50%, -50%); border-radius: 50%; cursor: pointer;
  background: radial-gradient(ellipse, rgba(255, 228, 170, .26), rgba(255, 210, 140, .08) 55%, transparent 72%);
  box-shadow: 0 0 0 1.5px rgba(240, 214, 160, .55) inset; transition: opacity .3s, transform .3s var(--ease);
  animation: spotp 1.8s ease-in-out infinite;
}
#serve .spot span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-family: var(--brush);
  font-size: calc(var(--u) * 3.4); letter-spacing: .2em; color: #fff6e2; text-shadow: 0 0 calc(var(--u) * 1.2) rgba(0, 0, 0, .8); }
#serve .spot:hover, #serve .spot:focus-visible { transform: translate(-50%, -50%) scale(1.06); outline: none; }
@keyframes spotp { 50% { box-shadow: 0 0 0 1.5px rgba(255, 232, 186, .95) inset, 0 0 calc(var(--u) * 3) rgba(255, 214, 140, .5); } }
#serve .hint { position: absolute; left: 50%; bottom: 7%; transform: translateX(-50%); padding: calc(var(--u) * 1) calc(var(--u) * 3);
  font-size: calc(var(--u) * 2.2); letter-spacing: .25em; color: rgba(236, 240, 244, .92); background: rgba(8, 10, 17, .6); border-radius: 999px; }
#serve .hint:empty { display: none; }
#serve .tag { position: absolute; left: 6%; top: 8%; font-family: var(--brush); font-size: calc(var(--u) * 4); color: rgba(255, 246, 226, .95);
  text-shadow: 0 0 calc(var(--u) * 1.2) rgba(0, 0, 0, .85); writing-mode: vertical-rl; letter-spacing: .3em; }
#serve .tag:empty { display: none; }
#serve .tag.pop { animation: tagp 1.4s var(--ease) forwards; }
@keyframes tagp { 0% { opacity: 0; transform: translateY(calc(var(--u) * 1)); } 25%, 70% { opacity: 1; transform: none; } 100% { opacity: 0; } }

/* ===================== 第三幕：对歌 / 兄和妹 / 扶住他 ===================== */
#rhythm, #breath { z-index: 23; opacity: 0; transition: opacity .6s; touch-action: none; }
#rhythm.on, #breath.on { opacity: 1; }
#rhythm canvas, #breath canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: pointer; }
.dg-choice { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center;
  gap: calc(var(--u) * 2); padding: calc(var(--u) * 3) calc(var(--u) * 5); background: rgba(8, 10, 18, .82); border: 1px solid rgba(214, 222, 232, .45);
  animation: dgin .45s var(--ease); }
@keyframes dgin { from { opacity: 0; transform: translate(-50%, -46%); } }
.dg-choice .q { font-size: calc(var(--u) * 2.4); letter-spacing: .12em; color: #f1ece0; text-align: center; max-width: calc(var(--u) * 80); line-height: 1.7; }
.dg-choice button { min-width: calc(var(--u) * 56); padding: calc(var(--u) * 1.4) calc(var(--u) * 3); font-size: calc(var(--u) * 2.4); letter-spacing: .15em;
  color: #e9edf1; border: 1px solid rgba(214, 222, 232, .5); background: rgba(18, 23, 36, .9); transition: background .25s, color .25s; }
.dg-choice button:hover, .dg-choice button:focus-visible { background: rgba(42, 55, 86, .95); color: #fff; outline: none; }
.dg-choice.picked button { pointer-events: none; opacity: .45; }
.dg-choice.picked button.sel { opacity: 1; border-color: #f0d08c; color: #ffe8b8; }
.dg-choice.out { opacity: 0; transition: opacity .4s; }

#steady { z-index: 24; display: grid; place-items: center; background: rgba(0, 0, 0, .55); opacity: 0; transition: opacity .5s; }
#steady.on { opacity: 1; }
#steady .bpm { position: absolute; top: 22%; font-size: calc(var(--u) * 3.4); letter-spacing: .2em; color: #e8796a; transition: color .4s; }
#steady .bpm.calm { color: #f1d9c8; }
#steady .bar { position: absolute; top: 30%; width: calc(var(--u) * 50); height: 6px; background: rgba(255, 255, 255, .15); }
#steady .bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #d97a63, #f3d2a6); }
#steady .hold { width: calc(var(--u) * 22); height: calc(var(--u) * 22); border-radius: 50%; font-family: var(--brush); font-size: calc(var(--u) * 4);
  letter-spacing: .1em; color: #fff6e2; border: 2px solid rgba(240, 214, 170, .8); background: radial-gradient(circle, rgba(120, 40, 34, .7), rgba(20, 10, 10, .7));
  animation: holdp 1.1s ease-in-out infinite; user-select: none; -webkit-user-select: none; touch-action: none; }
#steady .hold:active { animation: none; transform: scale(.96); }
@keyframes holdp { 50% { box-shadow: 0 0 calc(var(--u) * 4) rgba(230, 120, 100, .5); } }
#steady .tip { position: absolute; top: 72%; font-size: calc(var(--u) * 1.9); letter-spacing: .4em; color: rgba(236, 232, 222, .6); }
#steady .bag { position: absolute; inset: 12% 22%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--u) * 2);
  opacity: 0; transform: scale(1.04); transition: opacity .9s, transform 1.4s var(--ease); pointer-events: none; }
#steady .bag img { max-height: 78%; max-width: 100%; border: 1px solid rgba(214, 222, 232, .4); }
#steady .bag .cap { font-size: calc(var(--u) * 2.3); letter-spacing: .2em; color: #efe9dc; }
#steady.saw .bag { opacity: 1; transform: none; }
#steady.saw .hold, #steady.saw .tip, #steady.saw .bar, #steady.saw .bpm { opacity: 0; transition: opacity .5s; }

/* ===================== 旁注 ===================== */
#note { z-index: 21; position: absolute; left: calc(var(--u) * 4); top: calc(var(--u) * 9); width: calc(var(--u) * 24); pointer-events: none;
  padding: calc(var(--u) * 1.6) calc(var(--u) * 2); background: rgba(10, 12, 18, .78); border-left: 2px solid var(--gold, #c9a66b);
  opacity: 0; transform: translateX(calc(var(--u) * -2)); transition: opacity .8s, transform .8s var(--ease); }
#note.on { opacity: 1; transform: none; }
#note .ttl { font-size: calc(var(--u) * 2.2); letter-spacing: .3em; color: var(--gold, #c9a66b); margin-bottom: calc(var(--u) * .8); }
#note .txt { font-size: calc(var(--u) * 1.8); line-height: 1.8; letter-spacing: .08em; color: #e9e4d8; }

/* ===================== 章节标题 ===================== */
#chapter { z-index: 35; display: grid; place-items: center; background: rgba(0, 0, 0, 0); transition: background 2s; pointer-events: none; }
#chapter.on { background: rgba(4, 5, 8, .55); pointer-events: auto; }
#chapter .wrap { display: flex; align-items: center; gap: calc(var(--u) * 4.5); }
#chapter .act { writing-mode: vertical-rl; font-size: calc(var(--u) * 2.6); letter-spacing: .7em; color: rgba(236, 228, 211, .7); opacity: 0; transition: opacity 1.5s .3s; }
#chapter .ttl {
  font-family: var(--brush); font-size: calc(var(--u) * 13); letter-spacing: .12em; line-height: 1;
  background: linear-gradient(180deg, #f2ddb0, var(--gold) 55%, #8a6634); -webkit-background-clip: text; background-clip: text; color: transparent;
  -webkit-mask-image: linear-gradient(90deg, #000 45%, transparent 55%); -webkit-mask-size: 260% 100%; -webkit-mask-position: 100% 0;
  mask-image: linear-gradient(90deg, #000 45%, transparent 55%); mask-size: 260% 100%; mask-position: 100% 0;
  transition: -webkit-mask-position 3s var(--ease), mask-position 3s var(--ease);
  filter: drop-shadow(0 0 calc(var(--u) * 2) rgba(201, 166, 107, .25));
}
#chapter .line { width: 1px; height: calc(var(--u) * 16); background: linear-gradient(transparent, var(--gold), transparent); transform: scaleY(0); transition: transform 1.6s var(--ease); }
#chapter.on .act { opacity: 1; }
#chapter.on .ttl { -webkit-mask-position: 0 0; mask-position: 0 0; }
#chapter.on .line { transform: none; }
#chapter .tip { position: absolute; bottom: 12%; font-size: calc(var(--u) * 1.8); letter-spacing: .5em; color: rgba(236, 228, 211, .45); opacity: 0; transition: opacity 1.4s; }
#chapter.done .tip { opacity: 1; animation: blink 2.6s ease-in-out infinite; }
#chapter .end-menu { position: absolute; bottom: 9%; display: flex; gap: calc(var(--u) * 5); opacity: 0; transition: opacity 1.4s; pointer-events: none; }
#chapter.done .end-menu { opacity: 1; pointer-events: auto; }
/* 中间的幕标题：停一会儿就淡出，接着演 */
#chapter.out { background: rgba(4, 5, 8, 0); transition: background 1.6s; }
#chapter.out .wrap { opacity: 0; transition: opacity 1.4s; }
#chapter .end-menu button { font-size: calc(var(--u) * 2.1); letter-spacing: .5em; color: rgba(236, 228, 211, .6); padding: calc(var(--u) * .8) calc(var(--u) * 1.4); border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
#chapter .end-menu button:hover { color: var(--paper); border-color: var(--gold); }

/* ===================== 弹出面板（存读档 / 设置 / 回想） ===================== */
.modal {
  z-index: 60; background: rgba(4, 5, 8, .78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  opacity: 0; pointer-events: none; transition: opacity .45s var(--ease);
}
.modal.on { opacity: 1; pointer-events: auto; }
.modal .sheet {
  position: absolute; left: 9%; right: 9%; top: 9%; bottom: 9%;
  background: linear-gradient(180deg, rgba(20, 21, 26, .95), rgba(12, 13, 16, .97));
  border: 1px solid rgba(201, 166, 107, .28); box-shadow: 0 calc(var(--u) * 2) calc(var(--u) * 6) rgba(0, 0, 0, .6);
  transform: translateY(calc(var(--u) * 2)); transition: transform .5s var(--ease);
}
.modal.on .sheet { transform: none; }
.modal .sheet::before { content: ""; position: absolute; inset: calc(var(--u) * .7); border: 1px solid rgba(201, 166, 107, .12); pointer-events: none; }
.modal .head {
  position: absolute; left: 4%; top: 5%; display: flex; align-items: baseline; gap: calc(var(--u) * 2);
}
.modal .head h2 { margin: 0; font-family: var(--brush); font-weight: normal; font-size: calc(var(--u) * 5); color: var(--gold-2); letter-spacing: .1em; }
.modal .head span { font-size: calc(var(--u) * 1.6); letter-spacing: .4em; color: rgba(236, 228, 211, .4); }
.modal .close {
  position: absolute; right: 3%; top: 5%; font-size: calc(var(--u) * 1.9); letter-spacing: .4em; color: rgba(236, 228, 211, .55);
  padding: calc(var(--u) * .8) calc(var(--u) * 1.4); transition: color .3s;
}
.modal .close:hover { color: var(--paper); }
.modal .tabs { position: absolute; right: 12%; top: 5.6%; display: flex; gap: calc(var(--u) * 1); }
.modal .tabs button { font-size: calc(var(--u) * 2); letter-spacing: .4em; color: rgba(236, 228, 211, .45); padding: calc(var(--u) * .6) calc(var(--u) * 1.2); border-bottom: 1px solid transparent; }
.modal .tabs button.act { color: var(--gold-2); border-color: var(--gold); }
.modal .body { position: absolute; left: 4%; right: 4%; top: 19%; bottom: 6%; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(201, 166, 107, .3) transparent; }

/* 存档格 */
/* 章节选择：每章一张卡，缩略图 + 幕次 + 名字 + 一句话 */
.chaps { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(var(--u) * 3); padding: calc(var(--u) * 1) calc(var(--u) * 2); }
.chap {
  position: relative; display: flex; flex-direction: column; text-align: left; overflow: hidden;
  background: rgba(12, 13, 17, .7); border: 1px solid rgba(201, 166, 107, .18);
  opacity: 0; transform: translateY(calc(var(--u) * 1.2)); transition: border-color .35s, background .35s, transform .5s var(--ease), opacity .5s;
}
.modal.on .chap { opacity: 1; transform: none; transition-delay: 0s, 0s, var(--d), var(--d); }
.chap .th { aspect-ratio: 16 / 9; width: 100%; background: #0c0d10 center / cover; filter: brightness(.72) saturate(.85); transition: filter .5s, transform 1.2s var(--ease); }
.chap .meta { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: calc(var(--u) * 2); row-gap: calc(var(--u) * .6);
  padding: calc(var(--u) * 2) calc(var(--u) * 2.4) calc(var(--u) * 2.4); }
.chap .no { grid-row: 1 / 3; writing-mode: vertical-rl; font-size: calc(var(--u) * 1.7); letter-spacing: .4em; color: rgba(236, 228, 211, .55);
  border-left: 1px solid rgba(201, 166, 107, .35); padding-left: calc(var(--u) * 1.2); }
.chap .ttl { font-family: var(--brush); font-size: calc(var(--u) * 4.2); line-height: 1; color: var(--gold-2); letter-spacing: .1em; }
.chap .desc { font-size: calc(var(--u) * 1.65); line-height: 1.7; letter-spacing: .08em; color: rgba(236, 228, 211, .62); }
.chap .go { position: absolute; right: calc(var(--u) * 2.4); top: calc(var(--u) * 2.2); font-size: calc(var(--u) * 1.5); letter-spacing: .3em; color: var(--gold-2);
  opacity: 0; transform: translateX(calc(var(--u) * -1)); transition: opacity .35s, transform .45s var(--ease); }
.chap:hover, .chap:focus-visible { border-color: rgba(201, 166, 107, .6); background: rgba(22, 21, 20, .8); outline: none; }
.chap:hover .th, .chap:focus-visible .th { filter: none; transform: scale(1.03); }
.chap:hover .go, .chap:focus-visible .go { opacity: 1; transform: none; }

.slots { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: calc(var(--u) * 2); height: 100%; }
.slot {
  position: relative; display: flex; gap: calc(var(--u) * 1.4); padding: calc(var(--u) * 1.2); text-align: left;
  background: rgba(236, 228, 211, .035); border: 1px solid rgba(236, 228, 211, .08); transition: border-color .3s, background .3s;
}
.slot:hover { border-color: rgba(201, 166, 107, .55); background: rgba(201, 166, 107, .06); }
.slot .th { flex: 0 0 40%; align-self: center; aspect-ratio: 16/9; background: #0c0d10 center / cover; border: 1px solid rgba(236, 228, 211, .08); }
.slot .meta { flex: 1; display: flex; flex-direction: column; gap: calc(var(--u) * .7); overflow: hidden; }
.slot .no { font-family: var(--brush); font-size: calc(var(--u) * 2.3); color: var(--gold); white-space: nowrap; padding-right: calc(var(--u) * 3); }
.slot .when { font-size: calc(var(--u) * 1.3); letter-spacing: .05em; color: rgba(236, 228, 211, .4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.slot .line { font-size: calc(var(--u) * 1.5); line-height: 1.55; color: rgba(236, 228, 211, .72); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.slot.empty .meta { justify-content: center; }
.slot.empty .line { color: rgba(236, 228, 211, .25); letter-spacing: .4em; }
.slot .del { position: absolute; right: calc(var(--u) * .8); top: calc(var(--u) * .6); font-size: calc(var(--u) * 1.4); color: rgba(236, 228, 211, .3); padding: calc(var(--u) * .4); }
.slot .del:hover { color: var(--cinnabar); }

/* 设置 */
.cfg { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 2.6) calc(var(--u) * 7); padding: calc(var(--u) * 1) calc(var(--u) * 2); }
.cfg .item { display: flex; flex-direction: column; gap: calc(var(--u) * 1); }
.cfg label { display: block; font-size: calc(var(--u) * 2); letter-spacing: .3em; color: rgba(236, 228, 211, .78); }
.cfg label em { font-style: normal; font-size: .75em; color: rgba(236, 228, 211, .4); letter-spacing: .1em; margin-left: .6em; }
.cfg input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: calc(var(--u) * 2.4); background: transparent; cursor: pointer; }
.cfg input[type=range]::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(90deg, var(--gold) var(--p, 50%), rgba(236, 228, 211, .15) var(--p, 50%)); }
.cfg input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: calc(var(--u) * 1.6); height: calc(var(--u) * 1.6); margin-top: calc(var(--u) * -.7); background: var(--gold-2); transform: rotate(45deg); border: 0; }
.cfg input[type=range]::-moz-range-track { height: 2px; background: rgba(236, 228, 211, .15); }
.cfg input[type=range]::-moz-range-progress { height: 2px; background: var(--gold); }
.cfg input[type=range]::-moz-range-thumb { width: calc(var(--u) * 1.4); height: calc(var(--u) * 1.4); background: var(--gold-2); border: 0; border-radius: 0; transform: rotate(45deg); }
.cfg .seg { display: flex; gap: calc(var(--u) * 1); }
.cfg .seg button { flex: 1; font-size: calc(var(--u) * 1.7); letter-spacing: .3em; padding: calc(var(--u) * .8) 0; color: rgba(236, 228, 211, .5); border: 1px solid rgba(236, 228, 211, .12); transition: all .3s; }
.cfg .seg button.act { color: var(--ink); background: var(--gold-2); border-color: var(--gold-2); }
.cfg .preview { grid-column: 1 / -1; padding: calc(var(--u) * 2) calc(var(--u) * 2.4); border: 1px solid rgba(236, 228, 211, .08); font-size: calc(var(--u) * 2.6); line-height: 1.8; letter-spacing: .08em; min-height: calc(var(--u) * 9); color: #efe8da; }
.cfg .keys { grid-column: 1 / -1; font-size: calc(var(--u) * 1.5); letter-spacing: .15em; line-height: 2; color: rgba(236, 228, 211, .38); }
.cfg .credit { grid-column: 1 / -1; font-size: calc(var(--u) * 1.25); letter-spacing: .06em; line-height: 1.6; color: rgba(236, 228, 211, .32); }
.cfg .keys b { font-weight: normal; color: rgba(236, 228, 211, .7); border: 1px solid rgba(236, 228, 211, .2); padding: 0 .5em; margin: 0 .3em; border-radius: 3px; }

/* 回想 */
.log { display: flex; flex-direction: column; gap: calc(var(--u) * 2.4); padding: 0 calc(var(--u) * 2) calc(var(--u) * 4); }
.log .row { display: grid; grid-template-columns: calc(var(--u) * 12) 1fr; gap: calc(var(--u) * 2); align-items: start; }
.log .who { font-family: var(--brush); font-size: calc(var(--u) * 2.6); color: var(--gold); text-align: right; line-height: 1.4; }
.log .row.narr .who { color: rgba(236, 228, 211, .3); font-family: var(--body); font-size: calc(var(--u) * 1.6); letter-spacing: .3em; padding-top: calc(var(--u) * .6); }
.log .say { font-size: calc(var(--u) * 2.25); line-height: 1.85; letter-spacing: .06em; color: rgba(236, 228, 211, .85); }
.log .row.narr .say { color: rgba(236, 228, 211, .62); }
.log .scene { font-size: calc(var(--u) * 1.5); letter-spacing: .6em; color: rgba(201, 166, 107, .5); text-align: center; padding-top: calc(var(--u) * 1); }
.log .scene::before, .log .scene::after { content: "—"; margin: 0 1em; opacity: .5; }

/* 确认 / 提示 */
#toast {
  z-index: 80; position: absolute; left: 50%; top: 8%; transform: translate(-50%, -30%); padding: calc(var(--u) * 1) calc(var(--u) * 3);
  font-size: calc(var(--u) * 1.9); letter-spacing: .35em; color: var(--paper); background: rgba(10, 11, 14, .86); border: 1px solid rgba(201, 166, 107, .35);
  opacity: 0; transition: opacity .4s, transform .4s var(--ease); pointer-events: none;
}
#toast.on { opacity: 1; transform: translate(-50%, 0); }
#confirm .sheet { left: 32%; right: 32%; top: 36%; bottom: 36%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--u) * 3.6); }
#confirm p { margin: 0; font-size: calc(var(--u) * 2.3); letter-spacing: .3em; color: rgba(236, 228, 211, .85); }
#confirm .btns { display: flex; gap: calc(var(--u) * 5); }
#confirm .btns button { font-size: calc(var(--u) * 2.1); letter-spacing: .5em; padding: calc(var(--u) * .7) calc(var(--u) * 1.6); color: rgba(236, 228, 211, .6); border-bottom: 1px solid transparent; }
#confirm .btns button:hover { color: var(--paper); border-color: var(--gold); }

/* 隐藏界面（右键 / 滚轮） */
#stage.ui-hidden #box, #stage.ui-hidden #loc { opacity: 0 !important; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  #title.in .world, #title .glows i, #title .flies b, #scene.shake .shot.cur .cam-shake, #fx .grain, #fx .veins.on { animation: none !important; }
}

/* 车窗外：护栏和路边树丛被拉成残影向后流动（只在玻璃区域） */
.winflow { position: absolute; inset: 0; overflow: hidden; -webkit-mask: var(--win-mask) center / 100% 100% no-repeat; mask: var(--win-mask) center / 100% 100% no-repeat; }
.winflow .band { position: absolute; top: 0; height: 100%; width: 100%; background-size: 100% 100%; filter: blur(5px) saturate(1.1);
  transform: translateX(var(--fx, 0%)) scaleX(1.25); transform-origin: right center; opacity: .55; }
.winflow .band + .band { left: -100%; }
.winglare { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .10) 46%, transparent 54%); background-size: 260% 100%; animation: glare 7s ease-in-out infinite; }
@keyframes glare { from { background-position: 120% 0; } to { background-position: -40% 0; } }

/* 远景：山间薄雾 */
.mist { position: absolute; left: -30%; right: -30%; pointer-events: none; mix-blend-mode: screen; opacity: .5;
  background: radial-gradient(ellipse 22% 60% at 20% 50%, rgba(255, 255, 255, .55), transparent 70%),
              radial-gradient(ellipse 18% 50% at 58% 40%, rgba(255, 255, 255, .45), transparent 70%),
              radial-gradient(ellipse 24% 55% at 86% 60%, rgba(255, 255, 255, .5), transparent 70%); filter: blur(6px); }
.mist.m1 { top: 44%; height: 18%; animation: mist 38s linear infinite; }
.mist.m2 { top: 58%; height: 14%; opacity: .35; animation: mist 54s linear infinite reverse; }
@keyframes mist { from { transform: translateX(-8%); } to { transform: translateX(8%); } }

/* ===================== 第四幕：采药 ===================== */
#herbs { z-index: 23; opacity: 0; transition: opacity .6s; background: #000; }
#herbs.on { opacity: 1; }
#herbs .hb-cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: pointer; }
#herbs .hb-list { position: absolute; left: calc(var(--u) * 3); top: calc(var(--u) * 3); width: calc(var(--u) * 33); padding: calc(var(--u) * 1.6) calc(var(--u) * 2);
  background: rgba(8, 12, 18, .78); border-left: 2px solid var(--gold, #c9a66b); pointer-events: none; }
#herbs .hb-h { font-size: calc(var(--u) * 2.1); letter-spacing: .3em; color: var(--gold, #c9a66b); margin-bottom: calc(var(--u) * 1.2); }
#herbs .hb-row { display: flex; gap: calc(var(--u) * 1); align-items: baseline; margin-top: calc(var(--u) * 1); opacity: .95; }
#herbs .hb-tick { color: #cdb98a; font-size: calc(var(--u) * 2); }
#herbs .hb-t b { font-size: calc(var(--u) * 2.2); letter-spacing: .2em; color: #f1ecdf; margin-right: calc(var(--u) * 1); font-weight: 500; }
#herbs .hb-t i { font-size: calc(var(--u) * 1.5); font-style: normal; color: #b9c2cc; letter-spacing: .06em; display: block; }
#herbs .hb-row.done .hb-t b { color: #9fd49a; text-decoration: line-through; text-decoration-color: rgba(159, 212, 154, .6); }
#herbs .hb-row.done .hb-tick { color: #9fd49a; }
#herbs .hb-foot { margin-top: calc(var(--u) * 1.6); font-size: calc(var(--u) * 1.4); color: #d9a78f; letter-spacing: .08em; }
#herbs .hb-say { position: absolute; left: 50%; bottom: calc(var(--u) * 3); transform: translateX(-50%); width: calc(var(--u) * 86); display: flex; gap: calc(var(--u) * 1.6); align-items: baseline;
  padding: calc(var(--u) * 1.4) calc(var(--u) * 2.4); background: rgba(8, 12, 18, .84); border: 1px solid rgba(201, 166, 107, .4); pointer-events: none; }
#herbs .hb-say.pop { animation: hbpop .45s var(--ease); }
@keyframes hbpop { from { opacity: 0; transform: translate(-50%, calc(var(--u) * 1)); } }
#herbs .hb-nm { font-size: calc(var(--u) * 2.1); letter-spacing: .3em; color: #8fd0c8; white-space: nowrap; }
#herbs .hb-tx { font-size: calc(var(--u) * 2.2); letter-spacing: .1em; line-height: 1.7; color: #f1ecdf; }
#herbs .hb-zoom { position: absolute; right: calc(var(--u) * 11); top: 16%; width: calc(var(--u) * 38); padding: calc(var(--u) * 2.4) calc(var(--u) * 2.8);
  background: rgba(8, 12, 18, .88); border: 1px solid rgba(201, 166, 107, .5); opacity: 0; visibility: hidden; transform: translateX(calc(var(--u) * 2)); transition: opacity .35s, transform .35s var(--ease), visibility 0s .35s; }
#herbs .hb-zoom.on { opacity: 1; visibility: visible; transform: none; transition: opacity .35s, transform .35s var(--ease), visibility 0s; }
#herbs .hb-zn { font-family: var(--brush); font-size: calc(var(--u) * 4.4); color: #f4ecd8; letter-spacing: .12em; }
#herbs .hb-zl { list-style: none; margin: calc(var(--u) * 1.6) 0 0; padding: 0; }
#herbs .hb-zl li { font-size: calc(var(--u) * 2); line-height: 1.9; letter-spacing: .08em; color: #dfe4ea; padding-left: calc(var(--u) * 1.4); border-left: 2px solid rgba(201, 166, 107, .5); margin-top: calc(var(--u) * .6); }
#herbs .hb-zs { min-height: calc(var(--u) * 2.4); margin-top: calc(var(--u) * 1.2); color: #aee0cf; font-size: calc(var(--u) * 1.9); letter-spacing: .1em; }
#herbs .hb-bt { display: flex; gap: calc(var(--u) * 1.4); margin-top: calc(var(--u) * 2); flex-wrap: wrap; }
#herbs .hb-b { padding: calc(var(--u) * 1) calc(var(--u) * 2.4); font-size: calc(var(--u) * 2.1); letter-spacing: .25em; color: #e9edf1; border: 1px solid rgba(214, 222, 232, .5); background: rgba(22, 28, 40, .9); transition: background .25s; }
#herbs .hb-b:hover, #herbs .hb-b:focus-visible { background: rgba(48, 62, 90, .95); outline: none; }
#herbs .hb-pick { border-color: #9fd49a; color: #d8f2d3; }
#herbs .hb-card { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -46%); width: calc(var(--u) * 54); padding: calc(var(--u) * 3) calc(var(--u) * 3.4);
  background: rgba(14, 18, 26, .95); border: 1px solid var(--gold, #c9a66b); box-shadow: 0 0 calc(var(--u) * 6) rgba(0, 0, 0, .7); opacity: 0; visibility: hidden; transition: opacity .35s, transform .45s var(--ease), visibility 0s .35s; cursor: pointer; }
#herbs .hb-card.on { opacity: 1; visibility: visible; transform: translate(-50%, -50%); transition: opacity .35s, transform .45s var(--ease), visibility 0s; }
#herbs .hb-card.obs { border-color: #d9a78f; }
#herbs .hb-ct { font-size: calc(var(--u) * 1.8); letter-spacing: .35em; color: var(--gold, #c9a66b); }
#herbs .hb-card.obs .hb-ct { color: #d9a78f; }
#herbs .hb-cn { font-family: var(--brush); font-size: calc(var(--u) * 6.4); letter-spacing: .15em; color: #f6efdc; margin: calc(var(--u) * .6) 0 calc(var(--u) * 1.4); }
#herbs .hb-card dl { margin: 0; }
#herbs .hb-card dt { font-size: calc(var(--u) * 1.7); letter-spacing: .3em; color: #8fd0c8; margin-top: calc(var(--u) * 1.2); }
#herbs .hb-card dd { margin: calc(var(--u) * .3) 0 0; font-size: calc(var(--u) * 2.1); line-height: 1.8; letter-spacing: .06em; color: #e6e9ee; }
#herbs .hb-cf { margin-top: calc(var(--u) * 2); font-size: calc(var(--u) * 1.5); color: #98a2ae; letter-spacing: .1em; }

/* ===================== 第五幕：木屋调查 ===================== */
#hut { z-index: 23; opacity: 0; transition: opacity .6s; background: #000; }
#hut.on { opacity: 1; }
#hut .ht-bg { position: absolute; inset: 0; background: url(../assets/img/hut_bed.jpg) center / cover no-repeat; filter: brightness(.82); }
#hut .ht-list { position: absolute; left: calc(var(--u) * 3); top: calc(var(--u) * 3); width: calc(var(--u) * 33); padding: calc(var(--u) * 1.6) calc(var(--u) * 2);
  background: rgba(14, 10, 8, .8); border-left: 2px solid var(--gold, #c9a66b); pointer-events: none; }
#hut .ht-h { font-size: calc(var(--u) * 2.1); letter-spacing: .3em; color: var(--gold, #c9a66b); margin-bottom: calc(var(--u) * 1.2); }
#hut .ht-row { display: flex; gap: calc(var(--u) * 1); align-items: baseline; margin-top: calc(var(--u) * 1); }
#hut .ht-tick { color: #cdb98a; font-size: calc(var(--u) * 2); }
#hut .ht-t b { font-size: calc(var(--u) * 2.1); letter-spacing: .18em; color: #f1ecdf; margin-right: calc(var(--u) * 1); font-weight: 500; }
#hut .ht-t i { font-size: calc(var(--u) * 1.5); font-style: normal; color: #bfb39c; letter-spacing: .06em; display: block; }
#hut .ht-row.done .ht-t b { color: #9fd49a; }
#hut .ht-row.done .ht-tick { color: #9fd49a; }
#hut .ht-foot { margin-top: calc(var(--u) * 1.6); font-size: calc(var(--u) * 1.5); color: #d9c9a8; letter-spacing: .12em; }
#hut .ht-spot { position: absolute; width: calc(var(--u) * 6); height: calc(var(--u) * 6); margin: calc(var(--u) * -3) 0 0 calc(var(--u) * -3); border-radius: 50%;
  background: rgba(10, 8, 6, .55); border: 1px solid rgba(255, 228, 160, .85); color: #ffe9b0; font-size: calc(var(--u) * 2.2); display: grid; place-items: center; cursor: pointer; }
#hut .ht-spot i { position: absolute; inset: calc(var(--u) * -1.2); border-radius: 50%; border: 1px solid rgba(255, 228, 160, .55); animation: htping 2.2s ease-out infinite; }
@keyframes htping { from { transform: scale(.7); opacity: .9; } to { transform: scale(1.5); opacity: 0; } }
#hut .ht-spot.foc, #hut .ht-spot:hover { background: rgba(120, 80, 20, .75); box-shadow: 0 0 calc(var(--u) * 2.4) rgba(255, 210, 120, .8); outline: none; }
#hut .ht-spot.done { border-color: #9fd49a; color: #c8f0c3; }
#hut .ht-spot.done i { animation: none; opacity: 0; }
#hut .ht-say { position: absolute; left: 50%; bottom: calc(var(--u) * 3); transform: translateX(-50%); width: calc(var(--u) * 70); padding: calc(var(--u) * 1.3) calc(var(--u) * 2.4);
  background: rgba(14, 10, 8, .84); border: 1px solid rgba(201, 166, 107, .4); pointer-events: none; text-align: center; }
#hut .ht-say.pop { animation: hbpop .45s var(--ease); }
#hut .ht-tx { font-size: calc(var(--u) * 2.1); letter-spacing: .12em; color: #f1ecdf; }
#hut .ht-pan { position: absolute; right: calc(var(--u) * 5); top: 12%; width: calc(var(--u) * 40); padding: calc(var(--u) * 2.4) calc(var(--u) * 2.8);
  background: rgba(14, 10, 8, .92); border: 1px solid rgba(201, 166, 107, .55); opacity: 0; visibility: hidden; transform: translateX(calc(var(--u) * 2)); transition: opacity .35s, transform .35s var(--ease), visibility 0s .35s; }
#hut .ht-pan.on { opacity: 1; visibility: visible; transform: none; transition: opacity .35s, transform .35s var(--ease), visibility 0s; }
#hut .ht-pt { font-family: var(--brush); font-size: calc(var(--u) * 4.2); color: #f4ecd8; letter-spacing: .1em; }
#hut .ht-pi { display: block; width: 100%; max-height: calc(var(--u) * 26); object-fit: cover; margin-top: calc(var(--u) * 1.4); border: 1px solid rgba(222, 229, 238, .4); }
#hut .ht-pl { margin-top: calc(var(--u) * 1.4); }
#hut .ht-pl p, #hut .ht-pa p { margin: calc(var(--u) * .6) 0 0; font-size: calc(var(--u) * 2); line-height: 1.85; letter-spacing: .07em; color: #e6e1d4; }
#hut .ht-pl p.lin { color: #aee0cf; }
#hut .ht-pa { margin-top: calc(var(--u) * 1.2); padding-top: calc(var(--u) * .6); border-top: 1px dashed rgba(201, 166, 107, .4); }
#hut .ht-pa p b { color: var(--gold, #c9a66b); font-weight: 500; letter-spacing: .15em; }
#hut .ht-pa p.note { color: #bfb39c; }
#hut .ht-bt { display: flex; gap: calc(var(--u) * 1.4); margin-top: calc(var(--u) * 2); }
#hut .ht-b { padding: calc(var(--u) * 1) calc(var(--u) * 2.4); font-size: calc(var(--u) * 2.1); letter-spacing: .25em; color: #e9edf1; border: 1px solid rgba(214, 222, 232, .5); background: rgba(40, 28, 18, .9); }
#hut .ht-b:hover, #hut .ht-b:focus-visible { background: rgba(110, 76, 30, .95); outline: none; }
#hut .ht-ask { border-color: #e6c37a; color: #ffe9b0; }
#hut .ht-cmp { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--u) * 1.6);
  background: rgba(8, 6, 5, .92); opacity: 0; visibility: hidden; transition: opacity .6s, visibility 0s .6s; }
#hut .ht-cmp.on { opacity: 1; visibility: visible; transition: opacity .6s, visibility 0s; }
#hut .ht-ct { font-family: var(--brush); font-size: calc(var(--u) * 7); letter-spacing: .25em; color: #f2ddb0; }
#hut .ht-cs { font-size: calc(var(--u) * 1.8); letter-spacing: .3em; color: #a99d86; margin-bottom: calc(var(--u) * 1); }
#hut .ht-cr { display: grid; grid-template-columns: calc(var(--u) * 14) 1fr 1fr; gap: calc(var(--u) * 2); align-items: stretch; width: calc(var(--u) * 100); }
#hut .ht-cn { align-self: center; font-size: calc(var(--u) * 2.2); letter-spacing: .15em; color: var(--gold, #c9a66b); text-align: right; }
#hut .ht-cc { padding: calc(var(--u) * 1.2) calc(var(--u) * 1.8); border: 1px solid rgba(201, 166, 107, .3); }
#hut .ht-cc em { font-style: normal; font-size: calc(var(--u) * 1.5); letter-spacing: .4em; display: block; margin-bottom: calc(var(--u) * .5); }
#hut .ht-cc p { margin: 0; font-size: calc(var(--u) * 1.9); line-height: 1.75; letter-spacing: .06em; }
#hut .ht-cc.rumor { color: #8d857a; background: rgba(40, 36, 32, .5); } #hut .ht-cc.rumor p { text-decoration: line-through; text-decoration-color: rgba(200, 80, 70, .7); }
#hut .ht-cc.rumor em { color: #c27a70; }
#hut .ht-cc.truth { color: #f1ecdf; background: rgba(70, 90, 56, .28); border-color: rgba(159, 212, 154, .55); } #hut .ht-cc.truth em { color: #9fd49a; }
#hut .ht-go { margin-top: calc(var(--u) * 1.4); border-color: #e6c37a; color: #ffe9b0; }
#card .c.poster { z-index: 3; }

/* ===================== 手机 / 微信：横屏提示、动态视口高度 ===================== */
@supports (height: 100dvh) {
  #stage { width: min(100vw, 177.7778dvh); height: min(56.25vw, 100dvh); }
}
html, body { overscroll-behavior: none; -webkit-touch-callout: none; }
#rotate { display: none; position: fixed; inset: 0; z-index: 9999; background: #07080c; color: #e9e4d8; text-align: center;
  flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px; }
#rotate .ph { width: 54px; height: 92px; border: 3px solid #c9a66b; border-radius: 10px; position: relative; animation: rot 2.6s ease-in-out infinite; }
#rotate .ph::after { content: ""; position: absolute; left: 50%; bottom: 6px; width: 14px; height: 3px; margin-left: -7px; background: #c9a66b; border-radius: 2px; }
@keyframes rot { 0%, 25% { transform: rotate(0); } 55%, 100% { transform: rotate(-90deg); } }
#rotate p { margin: 0; font-size: 20px; letter-spacing: .3em; }
#rotate small { font-size: 13px; letter-spacing: .12em; color: #a99d86; }
@media (orientation: portrait) and (max-width: 820px) { #rotate { display: flex; } }
