/* 即时聊天（10-20）：悬浮按钮 + 聊天面板。手机全屏，电脑右下角小窗；颜色沿用 refine.css 的 --v2-* 变量 */

#pm-chat-fab { position: fixed; z-index: 9; /* 和顶栏同层：弹窗、抽屉的遮罩会盖住它 */ width: 52px; height: 52px; padding: 0; border-radius: 50%; border: 1px solid #ffffff1f;
  background: var(--v2-surface-2, #2e2e30); color: var(--v2-text, #fff); box-shadow: 0 6px 20px #0008; display: grid; place-items: center;
  touch-action: none; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; transition: left .22s cubic-bezier(.2, .8, .2, 1), right .22s cubic-bezier(.2, .8, .2, 1), transform .22s cubic-bezier(.2, .8, .2, 1), width .22s, height .22s, border-radius .22s, opacity .22s; }
#pm-chat-fab .icon { width: 26px; height: 26px; transition: transform .22s; }
/* 自动收缩（11-02）：贴边小把手，left / right 由 place() 写在行内，这里用位移贴到屏幕边 */
#pm-chat-fab.tucked { width: 26px; height: 44px; opacity: .85; border-radius: 22px 0 0 22px; transform: translate(10px, 4px); }
#pm-chat-fab.tucked.on-left { border-radius: 0 22px 22px 0; transform: translate(-10px, 4px); }
#pm-chat-fab.tucked .icon { transform: scale(.7); }
#pm-chat-fab:active { transform: scale(.94); }
#pm-chat-fab.dragging { transition: none; transform: scale(1.06); box-shadow: 0 10px 28px #000a; }
#pm-chat-fab[hidden] { display: none; }
#pm-chat-fab .cf-badge { position: absolute; top: -3px; right: -3px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--v2-red, #ef4444);
  color: #fff; font: 600 11px/20px var(--v2-font, system-ui); font-style: normal; text-align: center; border: 2px solid var(--v2-bg, #1c1c1c); }
#pm-chat-fab .cf-badge.dot { min-width: 12px; width: 12px; height: 12px; padding: 0; top: 0; right: 0; }
#pm-chat-fab .cf-badge[hidden] { display: none; }

#pm-chat { position: fixed; z-index: 26; /* 高于页面和底部导航，低于提示（30）、弹窗（40）和内置键盘（60） */ display: flex; flex-direction: column; background: var(--v2-bg, #1c1c1c); color: var(--v2-text, #fff);
  font-family: var(--v2-font, system-ui); right: 20px; bottom: 20px; width: 380px; height: min(640px, calc(100vh - 40px)); border-radius: 16px;
  border: 1px solid var(--v2-line, #ffffff14); box-shadow: 0 24px 60px #000b; overflow: hidden; }
#pm-chat[hidden] { display: none; }
@media (max-width: 720px) {
  #pm-chat { inset: 0; width: auto; height: 100%; border-radius: 0; border: 0; padding-top: env(safe-area-inset-top); }
  html.pm-chat-open, html.pm-chat-open body { overflow: hidden; }
  /* 内置键盘打开时：面板底部让出键盘的实际高度（numpad.js 写入 --kb-h） */
  body.numpad-open #pm-chat { bottom: var(--kb-h, 290px); height: auto; }
}

.pc-head { display: flex; align-items: center; gap: 10px; padding: 12px 12px 12px 16px; border-bottom: 1px solid var(--v2-line, #ffffff14); background: var(--v2-bar, #262626); flex: none; }
.pc-head h2 { flex: 1; margin: 0; font-size: 17px; font-weight: 600; }
.pc-head .pc-name { flex: 1; }
.pc-icon { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--v2-muted, #a6a6a6); display: grid; place-items: center; flex: none; }
.pc-icon:hover { background: #ffffff10; color: var(--v2-text, #fff); }
.pc-scroll { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 12px 14px calc(16px + env(safe-area-inset-bottom)); }
.pc-frozen { padding: 10px 14px; background: #ef444422; color: #ffb4b4; font-size: 13px; line-height: 1.5; border-bottom: 1px solid #ef444444; flex: none; }
.pc-safe { padding: 7px 14px; font-size: 12px; color: var(--v2-muted, #a6a6a6); background: #ff7a1a14; border-bottom: 1px solid #ff7a1a26; flex: none; text-align: center; }

.pc-find { display: flex; gap: 8px; margin-bottom: 12px; }
.pc-find input { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--v2-line, #ffffff14); background: var(--v2-surface, #2a2a2a); color: var(--v2-text, #fff); font-size: 14px; }
.pc-find input:focus { outline: none; border-color: var(--v2-accent, #ff7a1a); }
.pc-find .btn { height: 40px; border-radius: 10px; }
.pc-sec { margin: 18px 2px 6px; font-size: 12px; font-weight: 500; color: var(--v2-dim, #7a7a7a); letter-spacing: .5px; }
.pc-empty { color: var(--v2-dim, #7a7a7a); font-size: 13px; line-height: 1.7; text-align: center; padding: 28px 12px; margin: 0; }
.pc-label { display: block; margin: 18px 2px 8px; font-size: 13px; color: var(--v2-muted, #a6a6a6); }

.pc-row, .pc-card { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 10px; border-radius: 12px; border: 0; background: transparent; color: inherit; text-align: left; }
.pc-card { background: var(--v2-surface, #2a2a2a); margin-bottom: 8px; }
.pc-contact:hover, .pc-contact:active { background: #ffffff0a; }
.pc-row .btn, .pc-card .btn { flex: none; padding: 7px 12px; border-radius: 9px; }
.pc-av { width: 42px; height: 42px; flex: none; border-radius: 50%; overflow: hidden; display: inline-block; }
.pc-av svg { width: 100%; height: 100%; display: block; }
.pc-av.sm { width: 32px; height: 32px; }
.pc-name { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pc-name b { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-name small { font-size: 12.5px; color: var(--v2-muted, #a6a6a6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-user { font-size: 12.5px; font-weight: 400; color: var(--v2-dim, #7a7a7a); margin-left: 4px; }
.pc-tag { font-size: 11px; font-weight: 400; color: #ffb4b4; background: #ef444426; border-radius: 4px; padding: 1px 5px; margin-left: 4px; }
.pc-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex: none; }
.pc-meta small { font-size: 11.5px; color: var(--v2-dim, #7a7a7a); }
.pc-unread { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--v2-red, #ef4444); color: #fff; font: 600 11px/18px var(--v2-font, system-ui); font-style: normal; text-align: center; }

.pc-msgs { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 14px 12px; display: flex; flex-direction: column; gap: 14px; }
.pc-msg { display: flex; align-items: flex-end; gap: 8px; max-width: 86%; }
.pc-msg.me { align-self: flex-end; flex-direction: row-reverse; }
.pc-bub { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pc-msg.me .pc-bub { align-items: flex-end; }
.pc-text { padding: 9px 13px; border-radius: 16px 16px 16px 4px; background: var(--v2-surface-2, #333); font-size: 15px; line-height: 1.5; white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; }
.pc-msg.me .pc-text { background: var(--v2-accent, #ff7a1a); color: #fff; border-radius: 16px 16px 4px 16px; }
.pc-bub small { font-size: 11px; color: var(--v2-dim, #7a7a7a); padding: 0 4px; }
.pc-err { color: #ff8a8a; }
.pc-retry { border: 0; background: none; padding: 0; color: #ff8a8a; font-size: 11px; text-decoration: underline; }

.pc-foot { display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--v2-line, #ffffff14); background: var(--v2-bar, #262626); flex: none; }
.pc-foot textarea { flex: 1; min-width: 0; min-height: 40px; max-height: 120px; padding: 9px 12px; border-radius: 20px; border: 1px solid var(--v2-line, #ffffff14);
  background: var(--v2-surface, #2a2a2a); color: var(--v2-text, #fff); font-size: 16px; line-height: 1.4; resize: none; }
.pc-foot textarea:focus { outline: none; border-color: var(--v2-accent, #ff7a1a); }
.pc-foot .btn { height: 40px; border-radius: 20px; padding: 0 16px; }
.pc-note { justify-content: center; color: var(--v2-muted, #a6a6a6); font-size: 13px; }
.pc-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; }
.pc-actions .btn { width: 100%; height: 44px; border-radius: 12px; }
.pc-actions .btn.danger { color: #ff8a8a; border-color: #ef444466; }

.pc-notice { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 12px; border-radius: 10px; background: #ff7a1a14; border: 1px solid #ff7a1a33; font-size: 12.5px; line-height: 1.55; color: var(--v2-muted, #a6a6a6); }
.pc-notice button { flex: none; border: 0; background: none; padding: 4px 2px; color: var(--v2-accent, #ff7a1a); font-size: 13px; }
.pc-msg.me.bad .pc-text { background: transparent; color: #ffb4b4; border: 1px dashed #ef4444aa; }

/* ── 第二版（10-20）：语音、作品卡片、持仓变动、开关、发作品面板 ── */
.pc-foot .pc-icon { width: 40px; height: 40px; font-size: 20px; color: var(--v2-muted, #a6a6a6); background: var(--v2-surface, #2a2a2a); border-radius: 50%; }
.pc-foot .pc-plus { font-size: 22px; }
.pc-hold-talk { flex: 1; height: 40px; border-radius: 20px; border: 1px solid var(--v2-line, #ffffff14); background: var(--v2-surface, #2a2a2a); color: var(--v2-text, #fff); font-size: 15px; font-weight: 600; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.pc-hold-talk:active { background: var(--v2-surface-3, #3e3e3e); }
.pc-rec { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); width: min(300px, 82%); padding: 18px; border-radius: 16px; background: #000d; text-align: center; z-index: 3; box-shadow: 0 10px 40px #000a; }
.pc-rec b { font-size: 15px; }
.pc-rec p { margin: 10px 0 6px; font-size: 14px; line-height: 1.5; color: #ddd; max-height: 120px; overflow: auto; }
.pc-rec small { color: #999; font-size: 12px; }
.pc-rec.cancel b { color: #ff8a8a; }

.pc-voice { display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px; border: 0; border-radius: 16px 16px 16px 4px; background: var(--v2-surface-2, #333); color: inherit; font-size: 14px; }
.pc-msg.me .pc-voice { background: var(--v2-accent, #ff7a1a); color: #fff; border-radius: 16px 16px 4px 16px; flex-direction: row-reverse; }
.pc-voice .pc-wave { width: 18px; text-align: center; font-size: 13px; }
.pc-voice.on .pc-wave { animation: pcBlink 1s infinite; }
@keyframes pcBlink { 50% { opacity: .35; } }
.pc-trans { border: 0; background: none; padding: 2px 4px; color: var(--v2-muted, #a6a6a6); font-size: 13px; text-align: left; line-height: 1.5; max-width: 260px; white-space: pre-wrap; word-break: break-word; }

.pc-work { display: flex; align-items: center; gap: 10px; width: 240px; max-width: 100%; padding: 8px; border: 1px solid var(--v2-line, #ffffff14); border-radius: 14px; background: var(--v2-surface, #2a2a2a); color: inherit; text-align: left; }
.pc-work img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex: none; }
.pc-work span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pc-work b { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-work small { font-size: 12px; color: var(--v2-muted, #a6a6a6); }
.pc-text a { color: inherit; text-decoration: underline; }

.pc-hold { align-self: center; display: flex; align-items: center; gap: 10px; max-width: 92%; padding: 10px 12px; border-radius: 12px; background: #ff7a1a14; border: 1px solid #ff7a1a33; cursor: pointer; }
.pc-hold img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; flex: none; }
.pc-hold div { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 13px; }
.pc-hold b { font-size: 13.5px; }
.pc-hold span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-hold small { color: var(--v2-dim, #7a7a7a); font-size: 11.5px; }

.pc-switch { display: flex; align-items: center; gap: 12px; padding: 14px 12px; margin-top: 14px; border-radius: 12px; background: var(--v2-surface, #2a2a2a); }
.pc-switch span { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pc-switch b { font-size: 14.5px; }
.pc-switch small { font-size: 12.5px; color: var(--v2-muted, #a6a6a6); line-height: 1.5; }
.pc-switch input { width: 44px; height: 26px; flex: none; accent-color: var(--v2-accent, #ff7a1a); }

.pc-sheet { position: absolute; inset: 0; z-index: 4; background: #0008; display: flex; align-items: flex-end; }
.pc-sheet-box { width: 100%; max-height: 75%; overflow-y: auto; padding: 12px 14px calc(16px + env(safe-area-inset-bottom)); border-radius: 16px 16px 0 0; background: var(--v2-bar, #262626); }
.pc-sheet-box header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; font-size: 16px; }
.pc-wimg { width: 42px; height: 42px; border-radius: 8px; object-fit: cover; flex: none; }

/* ── 10-20 第三轮：对齐、图标、作品列表、权限说明 ── */
/* 头像和消息条水平对齐：顶端对齐，头像高度 = 一行消息条的高度 */
.pc-msg { align-items: flex-start; }
.pc-av.sm { width: 40px; height: 40px; }
.pc-text { min-height: 40px; padding: 9px 13px; line-height: 22px; display: flex; align-items: center; }
.pc-voice { height: 40px; }
.pc-bub { gap: 3px; cursor: default; }
.pc-bub small { padding-top: 1px; }

/* 输入栏图标：和网站其他线条图标同一套（不再用表情符号、灰色圆底） */
.pc-foot .pc-icon { width: 38px; height: 40px; background: transparent; border-radius: 10px; color: var(--v2-muted, #a6a6a6); font-size: 0; }
.pc-foot .pc-icon .icon { width: 25px; height: 25px; stroke-width: 1.7; }
.pc-foot .pc-icon:active { background: #ffffff10; color: var(--v2-text, #fff); }
.pc-foot .pc-icon:disabled { opacity: .4; }

/* 发作品：持有作品一屏最多 3 条，可以上下滑 */
.pc-wlist { max-height: 186px; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; touch-action: pan-y; border-radius: 12px; background: #ffffff06; scrollbar-width: none; }
.pc-wlist::-webkit-scrollbar { display: none; }
.pc-wlist .pc-row { height: 62px; }
.pc-wlist .pc-wimg { width: 44px; height: 44px; }

/* 麦克风权限说明 */
.pc-perm { margin: 6px 2px; font-size: 13.5px; line-height: 1.7; color: var(--v2-muted, #a6a6a6); }
ol.pc-perm { padding-left: 20px; color: var(--v2-text, #fff); }
ol.pc-perm li { margin: 6px 0; }
/* 气泡的小尖角放在靠头像一侧的下角：自己发的在右下角，对方发的在左下角（10-25） */
.pc-text, .pc-voice { border-radius: 16px 16px 16px 4px; }
.pc-msg.me .pc-text, .pc-msg.me .pc-voice { border-radius: 16px 16px 4px 16px; }

/* ── 10-20 第四轮 ── */
/* 手机：聊天面板不再铺满整个屏幕，上方留出一截（露出后面的页面），圆角；点上方空白处关闭 */
#pm-chat-mask { position: fixed; inset: 0; z-index: 25; background: #0009; }
#pm-chat-mask[hidden] { display: none; }
@media (min-width: 721px) { #pm-chat-mask { display: none; } }
@media (max-width: 720px) {
  #pm-chat { top: calc(env(safe-area-inset-top) + 7vh); bottom: 0; height: auto; border-radius: 18px 18px 0 0; padding-top: 0; box-shadow: 0 -10px 40px #000a; }
  #pm-chat .pc-head { border-radius: 18px 18px 0 0; }
}
/* 开关：和网站消息中心「提示音」开关同一个样子（圆角滑块，开启时橙色） */
input.pc-sw { -webkit-appearance: none; appearance: none; position: relative; flex: none; width: 46px; height: 28px; margin: 0; border-radius: 999px; background: #ffffff2e; cursor: pointer; transition: background .2s; }
input.pc-sw::after { content: ''; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #0006; transition: transform .2s; }
input.pc-sw:checked { background: var(--v2-accent, #ff8a1f); }
input.pc-sw:checked::after { transform: translateX(18px); }
/* 持仓提醒：一行窄条，高度约为原来的一半 */
.pc-hold { gap: 7px; max-width: 94%; padding: 5px 10px; min-height: 0; border-radius: 999px; font-size: 12.5px; line-height: 18px; }
.pc-hold .pc-hold-dot { width: 6px; height: 6px; border-radius: 50%; flex: none; }
.pc-hold .pc-hold-dot.buy { background: var(--v2-green, #1fbf5b); }
.pc-hold .pc-hold-dot.sell { background: var(--v2-red, #ef4444); }
.pc-hold .pc-hold-txt { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--v2-text, #fff); }
.pc-hold .pc-hold-txt b { font-weight: 600; }
.pc-hold small { flex: none; font-size: 11px; color: var(--v2-dim, #7a7a7a); }
.pc-hold .icon { flex: none; width: 12px; height: 12px; color: var(--v2-dim, #7a7a7a); }
.pc-hold .icon { transform: rotate(-90deg); }

/* ── 10-25：电脑宽屏停靠在页面右边、图片消息、看大图、分享作品、未读角标挪到右下角 ── */
:root { --pc-w: clamp(360px, 27vw, 440px); }
@media (min-width: 1100px) {
  /* 顶部接在导航栏下面（--pc-top 由 chat.js 按导航栏位置实时算，导航栏滚走后为 0），一直到窗口底部 */
  /* 10-25：停靠大窗改成和网站卡片一样的样式——四周留白、圆角、细边框、卡片底色，标题栏 / 输入栏透明，和页面融为一体 */
  html.pm-chat-docked #pm-chat { top: calc(var(--pc-top, 0px) + 16px); right: 16px; bottom: 16px; width: var(--pc-w); height: auto; border-radius: 18px; border: 1px solid var(--v2-line, #ffffff14);
    background: radial-gradient(ellipse 80% 40% at 100% 0, #ff7a1a14, transparent 70%), var(--v2-surface, #262627); box-shadow: 0 18px 48px #0007; }
  html.pm-chat-docked #pm-chat .pc-head { background: transparent; padding: 14px 12px 12px 18px; }
  html.pm-chat-docked #pm-chat .pc-safe { margin: 10px 14px 0; border: 1px solid #ff7a1a26; border-radius: 10px; }
  html.pm-chat-docked #pm-chat .pc-msgs { padding: 16px 16px; }
  html.pm-chat-docked #pm-chat .pc-foot { background: transparent; padding: 12px 14px 14px; }
  html.pm-chat-docked #pm-chat .pc-foot textarea { background: var(--v2-surface-2, #2e2e30); }
  /* 页面内容和页脚让出面板宽度（含右侧留白），自动变窄；导航栏不变 */
  html.pm-chat-docked #main, html.pm-chat-docked .v2-footer { margin-right: calc(var(--pc-w) + 16px); }
}

.pc-imgmsg { display: block; max-width: 220px; min-width: 80px; min-height: 60px; max-height: 300px; padding: 0; border: 1px solid var(--v2-line, #ffffff14); border-radius: 14px; overflow: hidden; background: var(--v2-surface-2, #333); color: var(--v2-muted, #a6a6a6); cursor: zoom-in; }
.pc-imgmsg img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pc-imgmsg span { display: grid; place-items: center; height: 100%; min-height: 60px; font-size: 12px; }
.pc-lightbox { position: fixed; inset: 0; z-index: 45; background: #000e; display: grid; place-items: center; padding: 24px; cursor: zoom-out; }
.pc-lightbox img { max-width: 100%; max-height: calc(100vh - 48px); border-radius: 6px; object-fit: contain; }
/* 10-25：电脑上看大图不铺满屏幕：最大约 880 宽、屏幕高度的 78%，背景模糊，像相册预览 */
@media (min-width: 761px) {
  .pc-lightbox { background: #000c; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .pc-lightbox img { max-width: min(880px, 70vw); max-height: min(78vh, 760px); border-radius: 12px; box-shadow: 0 24px 70px #000c; }
  .pc-lightbox .pc-icon { top: 22px; right: 22px; width: 40px; height: 40px; }
}
.pc-lightbox .pc-icon { position: absolute; top: calc(14px + env(safe-area-inset-top)); right: 14px; color: #fff; background: #ffffff1a; border-radius: 50%; }

.share-modal { width: min(440px, calc(100vw - 32px)); }
.share-modal .sw-work { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; background: var(--v2-surface, #2a2a2a); }
.share-modal .sw-work img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex: none; }
.share-modal .sw-work div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.share-modal .sw-work b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.share-modal .sw-work small { font-size: 12.5px; color: var(--v2-muted, #a6a6a6); }
.share-modal .sw-label { display: block; margin: 16px 2px 8px; font-size: 13px; font-weight: 500; color: var(--v2-muted, #a6a6a6); }
.share-modal .sw-link { display: flex; gap: 8px; }
.share-modal .sw-link input { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--v2-line, #ffffff14); background: var(--v2-surface, #2a2a2a); color: var(--v2-text, #fff); font-size: 13px; }
.share-modal .sw-link .btn { flex: none; height: 40px; }
.share-modal .sw-native { width: 100%; margin-top: 10px; height: 40px; }
.share-modal .sw-friends { max-height: 300px; overflow-y: auto; margin: 0 -4px; }
.share-modal .sw-friends .pc-row { padding: 8px 4px; }
.share-modal .pc-empty { padding: 14px 8px; }
.share-modal .link-btn { border: 0; background: none; padding: 0; color: var(--v2-accent, #ff7a1a); font-size: 13px; cursor: pointer; }
/* 手机作品详情页：「分享」只显示图标，和查看行情 / 买入 / 收藏放在同一行 */
@media (max-width: 720px) {
  .detail-info > .actions:has(.share-btn) { flex-wrap: nowrap; gap: 8px; }
  .detail-info > .actions:has(.share-btn) > .btn:not(.share-btn) { flex: 1 1 0; min-width: 0; padding-left: 8px; padding-right: 8px; white-space: nowrap; }
  /* 10-25：图标调大到 23px、上下水平居中（以前用 grid，隐藏的「分享」文字占了一行，图标被顶到上面） */
  .detail-info > .actions .share-btn { flex: 0 0 48px; width: 48px; align-self: stretch; padding: 0; font-size: 0; line-height: 0; gap: 0; display: flex; align-items: center; justify-content: center; }
  .detail-info > .actions .share-btn .icon { width: 23px; height: 23px; margin: 0; stroke-width: 2; }
}
/* 放大 / 小窗切换按钮只在宽屏（≥1100）显示 */
@media (max-width: 1099px) { .pc-mode { display: none !important; } }

/* 11-03 #57：聊天入口并进顶部「消息」按钮，右下角悬浮圆圈不再显示 */
#pm-chat-fab { display: none !important; }
