/* 联机聊天「言」：入口按钮与测试站「测」同款，排在「指南」下面（测试站的「测」再往下挪一格）；打字框底纸 = 卷轴的 oldpaper.jpg，边框 = 卷轴的 frame.webp */
html body #hud #hud-tr#hud-tr[data-ui][class] .tr-dock > #btn-say:not([hidden]) { grid-row: 6; display: grid !important; place-items: center; font-family: "猫田楷", serif !important; font-size: 16px !important; line-height: 1 !important; color: var(--cinnabar, #a8392b) !important; text-indent: 0 !important; overflow: visible; }
#hud #hud-tr .tr-dock > #btn-say { font: 400 15px "猫田楷", serif; color: var(--cinnabar, #a8392b); }
html body #hud #hud-tr#hud-tr[data-ui][class] .tr-dock:has(> #btn-say:not([hidden])) > #btn-bench { grid-row: 7; }
#hud #hud-tr .tr-dock > #btn-say[hidden] { display: none !important; }
/* 不用 backdrop-filter：全屏模糊压在每帧重画的游戏画面上，低端机 GPU 吃不消会卡死闪退 */
#say-ov { position: fixed; inset: 0; z-index: 60; background: rgba(30,24,16,.35); }
#say-ov .say-paper { position: absolute; inset: 8px; box-sizing: border-box; border: 16px solid transparent; border-image: url(../assets/ui/ink/frame.webp) 30 / 16px / 0 stretch; background: url(../assets/ui/ink/oldpaper.jpg) center / cover; background-clip: padding-box; opacity: .7; }
#say-ov .say-in { position: absolute; inset: 24px 34px; display: flex; flex-direction: column; gap: 8px; font-family: "猫田楷", serif; color: var(--ink, #2f2618); }
#say-ov header { display: flex; align-items: baseline; gap: 12px; border-bottom: 2px solid rgba(47,38,24,.55); padding-bottom: 4px; }
#say-ov header .brush { font-size: 26px; color: var(--cinnabar, #a8392b); }
#say-ov header small { flex: 1; font-size: 13px; color: var(--ink-3, #6b5a42); }
#say-ov header .k29-btn, #say-ov .say-row .k29-btn { height: 34px; min-width: 78px; }
#say-ov .say-log { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; justify-content: flex-end; font-size: 16px; line-height: 1.55; }
#say-ov .say-log p { margin: 0; text-shadow: 0 0 4px rgba(245,239,220,.9); }
#say-ov .say-log b { color: var(--cinnabar, #a8392b); margin-right: 8px; font-weight: 400; }
#say-ov .say-log p.me b { color: var(--ink-3, #6b5a42); }
#say-ov .say-log .say-empty { color: var(--ink-3, #6b5a42); }
#say-ov .say-row { display: flex; gap: 10px; align-items: center; }
#say-ov .say-row input { flex: 1; height: 34px; box-sizing: border-box; padding: 0 8px; font: 16px "猫田楷", serif; color: var(--ink, #2f2618); background: rgba(245,239,220,.55); border: 0; border-bottom: 2px solid rgba(47,38,24,.7); border-radius: 0; outline: none; }
