/* ===================================================================
   界面精简（10-06 第二轮）：以现有界面为基础，保留业务功能和页面结构，去掉模板感。
   原则：每个区域只有一个橙色主操作；不用装饰性渐变、点阵、光晕和悬停阴影；
   不在卡片里再套卡片；英文小标签（ASSETS / TRADE …）去掉；字号、间距、圆角统一成一套。
   回滚：删掉 index.html 里引用本文件的一行即可（另有几处 JS 改动见各文件注释）。
   =================================================================== */
:root {
  /* 颜色：中性灰四级 + 一个强调色；文字三级 */
  /* 第三版（10-06 晚）：比上一版亮一档，页面四角加回橙色暖光（原来橙色主题的感觉） */
  --c-bg: #1f1f21; --c-surface: #2a2a2c; --c-raised: #343437; --c-line: #ffffff17;
  --c-text: #f7f7f7; --c-text-2: #b4b4b9; --c-text-3: #808086;
  --c-accent: #ff7a1a; --c-accent-hi: #ff9142; --c-accent-soft: #ff7a1a1f;
  /* 圆角：控件 10、卡片 16，胶囊 999 */
  --r-ctl: 10px; --r-card: 16px;
  /* 字号：页面标题 / 区块标题 / 卡片标题 / 正文 / 辅助 */
  --fs-h1: 28px; --fs-h2: 20px; --fs-h3: 16px; --fs-body: 14px; --fs-meta: 12px;
  /* 覆盖之前的令牌，让旧样式一起变 */
  --v2-bg: var(--c-bg); --v2-bar: #212122; --v2-surface: var(--c-surface); --v2-surface-2: var(--c-raised); --v2-surface-3: #3a3a3d; --v2-line: var(--c-line);
  --v2-muted: var(--c-text-2); --v2-dim: var(--c-text-3);
  --v2-r-lg: var(--r-card); --v2-r-md: 12px; --v2-r-sm: var(--r-ctl);
}

body { background: radial-gradient(ellipse 1000px 680px at 100% 0, #ff6a0026, #ff6a001a 22%, #ff6a000e 42%, #ff6a0005 60%, transparent 76%), radial-gradient(ellipse 700px 600px at 0 0, #ff6a0010, #ff6a0008 40%, transparent 70%), var(--c-bg) !important; background-repeat: no-repeat !important; }

/* ---------- 去装饰：英文小标签（悬停光晕和阴影保留，见 card-glow.css） ---------- */
.eyebrow { display: none !important; }
.v2-card { transition: transform .2s, box-shadow .2s, background .2s; }
.v2-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px #0009 !important; }

/* 大面积橙色的地方恢复：App 下载横幅、新手引导卡插图（第一轮去掉后不如原来好看） */
.v2-app { background: radial-gradient(circle, #ffffff1f 1.4px, transparent 2.2px) 0 0 / 22px 22px, linear-gradient(120deg, #ff7a1a, #c94800) !important; }
.v2-app p { color: #fff3e6 !important; }
.v2-app .btn { background: #fff !important; color: #1b1b1c !important; }
.v2-app .btn:hover { background: #ffe9d6 !important; }
.v2-app-art img { border-color: #fff !important; }
.v2-promo-art { background: radial-gradient(circle, #ffffff26 1.4px, transparent 2.2px) 0 0 / 20px 20px, linear-gradient(135deg, #ff8a2a, #c94800) !important; }
.v2-promo-art img { border-color: #fff !important; }

/* ---------- 字号层级 ---------- */
.titlebar h1, .v2-list-head h1 { font-size: var(--fs-h1) !important; font-weight: 700; letter-spacing: -.4px; }
.v2-sec-head h2, .panel h2, .panel-head h2 { font-size: var(--fs-h2) !important; font-weight: 700; letter-spacing: -.2px; }
.v2-sec-head p, .titlebar p { font-size: 13px !important; color: var(--c-text-2) !important; }
.v2-sec-head { margin-bottom: 16px !important; }
.v2-home .home-section { margin: 40px 0 !important; padding-top: 0 !important; border-top: 0 !important; }
.v2-card h3 { font-size: var(--fs-h3) !important; letter-spacing: 0 !important; }
.v2-price b { font-size: 20px !important; }
@media (max-width: 760px) {
  :root { --fs-h1: 24px; --fs-h2: 18px; }
}

/* ---------- 导航与返回：返回改成文字链接，面包屑弱化 ---------- */
/* 「返回」键用 ui2.css 里的橙色底版本（用户要求恢复） */
.crumb { font-size: var(--fs-meta) !important; margin-bottom: 16px !important; }
.g-search .icon { color: var(--c-text-3) !important; }


/* ---------- 个人概览条：一行，头像 + 名字，右侧三个数字 + 充值 ---------- */
.v2-userbar { padding: 0 0 20px !important; margin-bottom: 24px !important; gap: 16px !important; flex-direction: row !important; align-items: center !important; }
.v2-user { gap: 12px !important; }
.mavatar.v2-av { width: 40px !important; height: 40px !important; }
.v2-user > b { font-size: 15px; font-weight: 600; }
.v2-stats { display: flex; align-items: center; gap: 28px; }
.v2-stat { display: grid; gap: 2px; color: inherit; }
.v2-stat small { font-size: var(--fs-meta); color: var(--c-text-3); }
.v2-stat b { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.v2-stat:hover b { color: var(--c-accent-hi); }
@media (max-width: 760px) {
  .v2-userbar { flex-direction: column !important; align-items: stretch !important; padding-bottom: 16px !important; margin-bottom: 18px !important; }
  .v2-stats { justify-content: space-between; gap: 12px; }
  .v2-stat b { font-size: 14px; }
}

/* ---------- 按钮：橙色只给主操作；次要按钮灰底；去掉按钮上的装饰图标阴影 ---------- */
.btn { border-radius: var(--r-ctl) !important; }
.btn.small { height: 34px; padding: 0 14px; font-size: 13px; }
.v2-show-all { border-radius: var(--r-ctl) !important; }
.v2-arrow { background: var(--c-surface) !important; }
.v2-sq { border-radius: var(--r-ctl) !important; }
/* 流动性承接横幅（首页、承接页）：橙色方块图标 + 右侧橙色暖光 */
.liquidity-banner { background: linear-gradient(100deg, var(--c-surface) 55%, #ff7a1a33) !important; }

/* ---------- 不在卡片里套卡片 ---------- */
/* 详情页价格块：不再是一块灰底卡片，改成上下分隔线 */
.detail-price { background: transparent !important; border-radius: 0 !important; padding: 16px 0 !important; border-top: 1px solid var(--c-line) !important; border-bottom: 1px solid var(--c-line) !important; }
/* 买卖报价中间的参考价：同样只用分隔线 */
.quote-reference { background: transparent !important; border-radius: 0 !important; border-top: 1px solid var(--c-line) !important; border-bottom: 1px solid var(--c-line) !important; padding: 14px 10px !important; }
.quote-reference strong { font-size: 22px !important; }
.quote-empty { margin: 18px 0 6px; color: var(--c-text-3); font-size: 13px; text-align: center; }
.sell-pl { margin-top: 6px; color: var(--c-text-2); font-size: 13px; }
.owned-series-inline { border-top: 0 !important; }
.info-note { background: transparent !important; border-left: 2px solid var(--c-accent) !important; border-radius: 0 !important; padding: 8px 12px !important; }

/* ---------- 标签：统一小号、低饱和 ---------- */
.v2-img-pill { font-size: 11px !important; padding: 4px 10px !important; }

/* ---------- 手机：底部有标签栏，页脚只留一行版权和协议链接 ---------- */
@media (max-width: 760px) {
  .v2-foot-top { display: none !important; }
  .v2-footer { margin-top: 32px !important; background: transparent !important; }
  .v2-foot-bottom { flex-direction: column; align-items: center; gap: 6px; border-top: 1px solid var(--c-line) !important; text-align: center; }
}

/* ---------- 作品卡片：橙色操作按钮保留；每张都重复的「平台承接持有 / 支持承接评估」不显示（详情页仍有） ---------- */
.v2-card .v2-pill { background: transparent !important; padding: 0 4px !important; }
.v2-card .v2-pill-text { display: none !important; }
.v2-card .v2-pill-btn { color: var(--c-text-2) !important; }
.v2-card .v2-pill-btn:hover { color: var(--c-accent-hi) !important; }

/* ---------- 标签 / 筛选：选中项橙色 ---------- */
.tab, button.tab { border-radius: 999px !important; background: var(--c-surface) !important; color: var(--c-text-2) !important; font-weight: 500 !important; }
.tab:hover, button.tab:hover { color: var(--c-text) !important; }
.tab.active, button.tab.active { background: var(--c-accent) !important; color: #fff !important; font-weight: 600 !important; }

/* ---------- 区块标题左侧一条橙色短竖线，代替去掉的英文小标签 ---------- */
.v2-sec-head h2, .panel > h2, .panel-head h2 { position: relative; padding-left: 12px; }
.v2-sec-head h2::before, .panel > h2::before, .panel-head h2::before { content: ""; position: absolute; left: 0; top: .22em; bottom: .22em; width: 4px; border-radius: 2px; background: var(--c-accent); }

/* ---------- 页面切换：内容轻微上移淡入（只在换页时，数据刷新不播） ---------- */
@keyframes page-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
#main.page-enter { animation: page-enter .28s cubic-bezier(.2, .8, .2, 1); }
@media (prefers-reduced-motion: reduce) { #main.page-enter { animation: none; } }

/* ---------- 去「太阳纹」：深色底上的大面积橙色渐变会出现一圈圈 / 一条条色阶。
   盖一层极淡的细噪点把色阶打散（不拦截点击，肉眼看不出颗粒）；渐变本身也加了中间过渡点 ---------- */
body::after { content: ""; position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; opacity: .5;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 .07'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 180px 180px repeat; }
@media print { body::after { display: none; } }

/* ---------- 未发售作品：发售状态右侧的定时发售倒计时 ---------- */
.unreleased-price-box:has(.release-countdown) { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); }
.unreleased-price-box .release-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 18px; }
.unreleased-price-box .release-state { display: grid; align-content: start; gap: 6px; }
.release-countdown { display: grid; gap: 6px; justify-items: center; padding: 12px 16px; border: 1px solid #ff7a1a33; border-radius: 10px; background: #ff7a1a0d; }
.release-countdown strong { font-size: 20px; font-weight: 700; color: #ffb563; font-variant-numeric: tabular-nums; letter-spacing: .5px; white-space: nowrap; }
@media (max-width: 600px) { .unreleased-price-box:has(.release-countdown) { grid-template-columns: 1fr; } .release-countdown { width: 100%; } }

/* ---------- 手机充值：拉起支付宝按钮、微信付款步骤 ---------- */
.pay-modal .pay-jump { margin: 4px 0 6px; }
.pay-wx-steps { margin: 4px 0 14px; padding: 12px 14px; border: 1px solid #ffffff14; border-radius: 10px; background: #ffffff06; font-size: 13px; }
.pay-wx-steps ol { margin: 8px 0 10px; padding-left: 18px; line-height: 1.8; color: var(--v2-text-2, #c9c9cc); }
.pay-wx-steps .actions { gap: 10px; }

/* ---------- 充值：支付倒计时、支付结果、未完成订单提示 ---------- */
.pay-modal .pay-timer { margin: 4px 0 12px; }
.pay-modal .danger-ghost { color: #ff8a80; border-color: #ff8a8040; }
.pay-result-icon { width: 64px; height: 64px; margin: 4px auto 10px; border-radius: 50%; display: grid; place-items: center; font-size: 30px; font-weight: 800; }
.pay-result-icon.ok { background: #2dd59c22; color: #2dd59c; border: 1px solid #2dd59c55; }
.pay-result-icon.bad { background: #ef736822; color: #ef7368; border: 1px solid #ef736855; }
.pending-pay { margin: 0 0 18px; }
.pending-pay .actions { margin-top: 10px; gap: 10px; }

/* 资产记录 → 充值订单 */
.click-row { cursor: pointer; }
.click-row:hover td { background: #ffffff05; }
small.block { display: block; margin-top: 4px; }

/* 个人中心头部（10-09）：左边头像 + 用户名，右边账户地址 + 复制 */
.profile-head { display: flex; align-items: center; gap: 18px; }
.profile-head > div:not(.profile-addr) { flex: 1; min-width: 0; }
.profile-addr { display: grid; gap: 6px; justify-items: start; max-width: 46%; padding: 12px 14px; border: 1px solid #ffffff12; border-radius: 12px; background: #ffffff06; }
.profile-addr .hash { font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; word-break: break-all; color: var(--v2-text, #eee); }
.profile-addr .addr-short { display: none; }
@media (max-width: 600px) {
  .profile-head { flex-direction: row !important; align-items: center !important; text-align: left !important; gap: 12px; }
  .profile-head > div:not(.profile-addr) { display: block !important; width: auto !important; justify-items: start !important; }
  .profile-head > div:not(.profile-addr) h2 { font-size: 18px; margin: 0 0 4px; }
  .profile-head .profile-av { width: 56px; height: 56px; }
  .profile-head .av-edit { gap: 6px; }
  .profile-head .av-edit .av-edit-label { padding: 3px 9px; font-size: 11px; }
  .profile-addr { max-width: 48%; flex: 0 0 auto; padding: 9px 10px; gap: 5px; justify-items: stretch; }
  .profile-addr .label { font-size: 10.5px; }
  .profile-addr .addr-full { display: none; }
  .profile-addr .addr-short { display: inline; }
  .profile-addr .btn { padding: 6px 10px; font-size: 12px; }
}

/* 手机 / 桌面入口（10-09 反馈：App 和状态栏交界处模糊、滑动时顶栏一直固定在上面不协调）：
   · 顶栏不再固定，跟着页面一起滚走
   · 状态栏后面铺一条同色的纯色底（不透明、无模糊、无噪点），页面内容滚上去时被它挡住，不会透到时间和电量下面 */
@media (max-width: 600px) {
  .m-header { position: relative !important; top: auto !important; }
  body::before { content: ""; position: fixed; left: 0; right: 0; top: 0; height: env(safe-area-inset-top, 0px); background: var(--v2-bar); z-index: 2147483001; pointer-events: none; }
}

/* ---------- 作品图片渐显（10-09）：加载完成前透明 + 轻微模糊，加载完成后 0.6 秒内自然浮现，不再突然闪出 ----------
   js/app.js 在图片 load 时加 .pm-in；缓存里的图片也一样过渡 */
img[src*="/uploads/"], img[src*="assets/art-"], img[src*="assets/ui-scenes/"] { opacity: 0; filter: blur(8px); transition: opacity .6s ease, filter .7s ease, transform .5s cubic-bezier(.16, 1, .3, 1), clip-path .5s cubic-bezier(.16, 1, .3, 1); }
img[src*="/uploads/"].pm-in, img[src*="assets/art-"].pm-in, img[src*="assets/ui-scenes/"].pm-in { opacity: 1; filter: none; }
@media (prefers-reduced-motion: reduce) { img[src*="/uploads/"], img[src*="assets/art-"], img[src*="assets/ui-scenes/"] { transition: none; filter: none; } }

/* ---------- 电脑端作品大图动效（10-10，取代取景框 + 细节图）：鼠标在图上时以光标为中心轻微鼓起并随鼠标微倾，
   移开后缓慢复原。transform 由 js/app.js 写入 ---------- */
/* 10-13：这里的 transition 会盖掉「作品图片渐显」那条，必须把 opacity / filter 也写上，否则详情大图没有渐显、直接蹦出来 */
.detail-grid .big-art { transition: transform .9s cubic-bezier(.16, 1, .3, 1), opacity .6s ease, filter .7s ease; will-change: transform; }
.detail-grid .big-art.fx-on { transition: transform .25s ease-out, opacity .6s ease, filter .7s ease; }
.art-frame:hover .big-art:not(.fx-on), a:hover > .big-art { transform: none; }

/* 收到报价弹窗三个按钮、交易中心「收到的报价」（10-09） */
.offer-recv-actions { display: grid !important; grid-template-columns: auto 1fr 2fr; gap: 10px; }
.trade-offers .offer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; }
.trade-offers .cell-art { min-width: 0; color: inherit; }
.trade-offers .to-name { font-size: 14px; }
.trade-offers .to-price { text-align: right; }
.trade-offers .to-price b { display: block; font-size: 18px; color: var(--v2-accent-hi, #ffa043); }
.trade-offers .actions { gap: 8px; }
@media (max-width: 600px) {
  .offer-recv-actions { grid-template-columns: 1fr 1fr; }
  .offer-recv-actions .btn.primary { grid-column: 1 / -1; order: -1; width: 100% !important; max-width: none !important; }
  .trade-offers .offer-row { grid-template-columns: minmax(0, 1fr) auto; }
  .trade-offers .actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); }
  .artwork-title .actions:has(.trade-detail-link) { display: flex !important; flex-direction: column; align-items: stretch; gap: 10px; }
  .trade-detail-link { order: 5; width: 100%; justify-content: center; min-height: 44px; }
}

/* 页面顶部账户信息条（10-09）：和「我的资产」同一风格——灰色背景框，标签小号灰字、数字加粗白色，
   参考收益保留红绿，充值为橙色主按钮，头像加橙色描边 */
.v2-userbar { background: var(--c-surface, #2a2a2c) !important; border: 1px solid #ffffff0f !important; border-bottom: 1px solid #ffffff0f !important; border-radius: var(--v2-r-lg, 16px) !important; padding: 16px 20px !important; }
.v2-userbar .v2-user b { font-size: 17px; font-weight: 800; }
.v2-userbar .v2-user-av .mavatar { box-shadow: 0 0 0 2px var(--v2-accent, #ff7a1a), 0 0 12px #ff7a1a40; }
.v2-userbar .v2-stat small { font-size: 12px; color: var(--c-text-3, #9a9aa0); }
.v2-userbar .v2-stat b { font-size: 18px; font-weight: 800; color: #fff; letter-spacing: -.2px; }
.v2-userbar .v2-stat b .up, .v2-userbar .v2-stat b .green { color: var(--green, #2dd59c); }
.v2-userbar .v2-stat b .down, .v2-userbar .v2-stat b .red { color: var(--red, #ef7368); }
.v2-userbar .v2-topup { min-width: 72px; font-weight: 700; }
/* 我的资产等页面的金额也统一加粗 */
.money-split b, .balance-panel .amount, .big-figure { font-weight: 800 !important; }
@media (max-width: 600px) {
  .v2-userbar { padding: 14px 14px !important; }
  .v2-userbar .v2-stat b { font-size: 16px; }
}

/* 系列封面（10-09）：固定一长条（电脑约 16:4、手机约 16:6），上传的图片按比例铺满并居中裁切；
   和作品图一样加载完成后渐显（img 地址是 /uploads/，沿用上面的渐显规则） */
.series-cover { position: relative; width: 100%; aspect-ratio: 4 / 1; border-radius: var(--v2-r-lg, 16px); overflow: hidden; background: #2a2a2c; margin-bottom: 16px; }
.series-cover .series-cover-img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; object-position: center; border-radius: 0 !important; }
@media (max-width: 760px) { .series-cover { aspect-ratio: 8 / 3; border-radius: 14px; } }
/* 默认系列插画也一样渐显 */
.ui-series-banner { animation: pmFadeIn .7s ease both; }
@keyframes pmFadeIn { from { opacity: 0; filter: blur(8px); } to { opacity: 1; filter: none; } }
.series-cover .series-cover-img { animation: none; }

/* 作品卡片：定时发售倒计时（10-09） */
.card-clock.release b { color: #ffb563; }

/* ---------- 图标（10-09 重做）：双色线性图标 + 橙色调底框 ----------
   主体线条跟随文字颜色，关键部分品牌橙；线宽 1.8，圆角端点；大图标放在半透明橙色圆角底框里，深色背景上轮廓清楚 */
.icon.duo { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.icon.duo .ac { stroke: var(--ic-ac, #ff8a2a); }
.icon.duo .acf { fill: var(--ic-ac, #ff8a2a); stroke: none; }
.ui-tile { display: inline-grid !important; place-items: center; border-radius: 28%; color: #fff;
  background: linear-gradient(145deg, #ff8a2a33, #ff6a0010 70%), #2c2c2f; border: 1px solid #ff8a2a4d; box-shadow: inset 0 1px 0 #ffffff14, 0 6px 16px -8px #ff7a1a66; object-fit: initial !important; }
.ui-tile .icon.duo { width: 54% !important; height: 54% !important; stroke-width: 1.7; }
/* 底部导航：未选中灰色（橙色部分也变灰），选中整体橙色 */
.m-bottom .icon.duo { width: 26px; height: 26px; color: #a1a1a6; }
.m-bottom a:not(.active):not(.on) .icon.duo .ac { stroke: currentColor; }
.m-bottom a:not(.active):not(.on) .icon.duo .acf { fill: currentColor; }
.m-bottom a.active .icon.duo, .m-bottom a.on .icon.duo { color: #ffd2a8; }
/* 侧栏、按钮里的小图标 */
.sidebar a .icon.duo { width: 22px; height: 22px; }
.sidebar a.active .icon.duo { color: #fff; }

/* 创作者：署名锁定、系列封面要求（10-09） */
.locked-input { opacity: .75; cursor: not-allowed; }
.warn-text { color: #ffb563; font-weight: 700; }
.cover-req { margin: 2px 0 8px; }
#sa-cover-hint.error { color: var(--red, #ef7368); }

/* 交易中心「收到的报价」按作品折叠（10-09） */
.trade-offers .offer-group { border-top: 1px solid #ffffff0d; }
.trade-offers .offer-group:first-of-type { border-top: 0; }
.trade-offers .offer-group > .offer-row { border-top: 0; }
.offer-more > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; margin: 0 0 10px 56px; padding: 8px 12px; border-radius: 10px; background: #ffffff08; color: var(--c-text-3, #a1a1a6); font-size: 13px; }
.offer-more > summary::-webkit-details-marker { display: none; }
.offer-more > summary span { margin-left: auto; color: var(--v2-accent-hi, #ffa043); font-weight: 600; }
.offer-more:not([open]) .om-close, .offer-more[open] .om-open { display: none; }
.trade-offers .offer-row.sub { padding-left: 56px; border-top: 1px dashed #ffffff10; }
.trade-offers .offer-row.sub .to-name { font-size: 13px; color: var(--c-text-3, #a1a1a6); }
.sub-dot { width: 8px; height: 8px; border-radius: 50%; background: #ffffff33; flex: none; margin-top: 6px; }
@media (max-width: 600px) { .offer-more > summary { margin-left: 0; } .trade-offers .offer-row.sub { padding-left: 0; } }

/* 手机行情页（10-09）：「查看」按钮挪到卡片右上角、和缩略图同一行，做成小按钮；走势图和数字更紧凑 */
@media (max-width: 760px) {
  .market-table tbody tr { position: relative; }
  .market-table tbody td:last-child { position: absolute; top: 16px; right: 16px; padding: 0 !important; border: 0 !important; display: block !important; }
  .market-table tbody td:last-child::before { display: none !important; }
  .market-table tbody td:last-child .link-btn { display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 14px; border-radius: 999px; background: #ff7a1a1f; border: 1px solid #ff8a2a55; color: var(--v2-accent-hi, #ffa043); font-size: 13px; font-weight: 600; }
  .market-table tbody td:first-child { padding-right: 96px !important; }
}
@media (max-width: 760px) {
  .market-art-stat > .ui-art-icon, .stats .ui-art-icon { width: 30px !important; height: 30px !important; top: 14px !important; right: 10px !important; transform: none !important; border-radius: 9px; }
  .market-art-stat strong { padding-right: 0; }
}

/* 热门作品轮播可左右拖动（10-09）：横向拖动交给页面脚本，竖向仍可滚动页面 */
.js-marquee { touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.js-marquee.mq-dragging { cursor: grabbing; }
.js-marquee.mq-dragging * { pointer-events: none; }
.js-marquee img { -webkit-user-drag: none; }
/* 作品详情大图完整显示（10-09：正方形框按铺满裁切，非正方形作品边缘被裁掉）；空白处用深色底 */
.detail-grid .big-art { object-fit: contain !important; background-color: #232325 !important; }

/* 固定深色模式（10-09）：不跟随手机系统浅色设置；表单、滚动条等浏览器自带控件也是深色 */
:root { color-scheme: dark only; }

/* 区块标题（10-09）：标题和右侧按钮（如「全部作品」）在同一行垂直居中对齐，说明文字放在下一行 */
.v2-sec-head { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 6px; align-items: center !important; }
.v2-sec-head > div:first-child { display: contents; }
.v2-sec-head h2 { grid-column: 1; grid-row: 1; margin: 0 !important; }
.v2-sec-head p { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; }
.v2-sec-head .v2-sec-actions { grid-column: 2; grid-row: 1; align-self: center; }
/* 开屏加载画面显示期间不叠颗粒纹理：和系统启动图（纯 #1f1f21 底）颜色完全一致，衔接不跳色（10-09） */
body:has(#pm-splash:not(.out))::after { display: none; }
/* 手机「我的资产」弹窗资金记录（10-09）：左边类型 + 说明 + 时间、右边金额在同一行垂直居中对齐 */
@media (max-width: 760px) {
  .my-row:has(.my-row-wide) { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-rows: auto auto; row-gap: 2px; align-items: center; }
  .my-row:has(.my-row-wide) .my-row-wide { grid-column: 1 !important; grid-row: 1; }
  .my-row:has(.my-row-wide) .my-row-num { grid-column: 2 !important; grid-row: 1 / span 2 !important; align-self: center; font-size: 15px; }
  .my-row:has(.my-row-wide) .my-row-end { grid-column: 1 !important; grid-row: 2; align-items: flex-start; }
}

/* 系列封面：电脑和移动端统一 6.4:1，与作品区域左右对齐。 */
.ui-series-visual { width: 100%; aspect-ratio: 32 / 5 !important; overflow: hidden; }
.ui-series-visual .ui-series-banner, .series-cover .series-cover-img { position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover !important; object-position: center; z-index: 1; }
.series-cover .series-cover-bg { display: none; }
.series-cover-preview { width: 100%; aspect-ratio: 32 / 5; object-fit: cover; border-radius: 10px; display: block; margin-top: 10px; }
.series-cover-preview[hidden] { display: none; }
/* 页面标题右侧插图（行情 / 我的 / 交易等，10-09）：限制在标题区域内，不再往上压到导航栏的铃铛、头像；文字在插图上层；手机上缩小、靠右，不压说明文字 */
.ui-scene-title { position: relative; min-height: 0; }
.ui-scene-title > div, .ui-scene-title > .actions { position: relative; z-index: 1; }
.ui-page-header { top: 0 !important; bottom: 0 !important; height: 100% !important; max-height: 150px; width: auto !important; max-width: 40%; right: 0 !important; transform: none !important; }
@media (max-width: 700px) {
  /* 只给带插图的页头留右侧空间；以前误伤了右边的状态标签区，标签被挤成竖排（10-10） */
  .ui-scene-title:has(> .ui-page-header) { min-height: 96px; }
  .ui-scene-title:has(> .ui-page-header) > div:not(.actions) { padding-right: 34%; }
  .ui-page-header { max-height: 96px; max-width: 34%; opacity: .75 !important; }
}
/* 手机页头（出售撮合状态 / 动态撮合 / 订单详情 / 流动性承接等）：标题和说明在左、状态标签在右，横向一行；标题不拆字，标签不换行（10-10） */
@media (max-width: 600px) {
  .titlebar { flex-wrap: nowrap; align-items: center; }
  .titlebar > div:not(.actions) { flex: 1 1 auto; min-width: 0; }
  .titlebar > div:not(.actions) h1 { word-break: keep-all; overflow-wrap: break-word; line-height: 1.25; }
  .titlebar > div:not(.actions) p { word-break: normal; overflow-wrap: anywhere; }
  .titlebar > .actions { flex: 0 0 auto; padding: 0 !important; }
  .titlebar > .actions:empty { display: none; }
  .titlebar > .actions .tag, .titlebar > .actions .pill, .titlebar > .actions .badge { white-space: nowrap; writing-mode: horizontal-tb; }
}
/* 头像橙色圆圈统一（10-09）：「我的」页、个人中心、顶部账户条的头像都用同一个橙色描边 + 光晕 */
.mavatar.my-av, .mavatar.profile-av, .v2-userbar .v2-user-av .mavatar { border: 0 !important; border-radius: 50%; box-shadow: 0 0 0 2px var(--v2-accent, #ff7a1a), 0 0 12px #ff7a1a40 !important; }
.av-edit:hover .mavatar.profile-av { box-shadow: 0 0 0 2px #ffa043, 0 0 16px #ff7a1a66 !important; }

/* 打开 / 关闭弹窗时页面不左右晃（锁定滚动时滚动条消失导致内容宽度变化，10-09） */
html { scrollbar-gutter: stable; }

/* 手机：单件作品行情页头，缩略图右边「作品详情 / 进入交易」靠右排、两个按钮之间留间距（10-10） */
@media (max-width: 600px) {
  .artwork-title > .actions:not(:has(.pm-select)):not(:has(.trade-detail-link)) { display: flex !important; justify-content: flex-end; align-items: center; gap: 12px; }
  .artwork-title > .actions:not(:has(.pm-select)):not(:has(.trade-detail-link)) > .btn { margin: 0 !important; }
}

/* 手机：作品 / 行情 / 交易页顶部账户条（10-10）——一行显示（头像 + 余额 / 持有 / 收益 + 充值），
   毛玻璃悬浮卡片，滚动时吸附在顶部；三个页面标题位置、字号、间距统一 */
@media (max-width: 600px) {
  .v2-userbar { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 8px); z-index: 7; /* 只在本页内悬浮：低于底部导航(8)、顶栏(9)、抽屉菜单(10/11)、弹窗(12)等所有浮层（10-10） */ flex-direction: row !important; align-items: center !important; gap: 10px !important; padding: 10px 12px !important; margin-bottom: 18px !important;
    background: rgba(40, 40, 42, .78) !important; -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4);
    border: 1px solid #ffffff14 !important; box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3), inset 0 1px 0 #ffffff12 !important; }
  .v2-userbar .v2-user { flex: 0 0 auto; }
  .v2-userbar .v2-user > b { display: none; }
  .v2-userbar .mavatar.v2-av { width: 34px !important; height: 34px !important; }
  .v2-userbar .v2-stats { flex: 1 1 auto; min-width: 0; gap: 8px !important; justify-content: space-between !important; }
  .v2-userbar .v2-stat { min-width: 0; gap: 1px; }
  .v2-userbar .v2-stat small { font-size: 10.5px !important; white-space: nowrap; }
  .v2-userbar .v2-stat b { font-size: 13.5px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v2-userbar .v2-topup { flex: 0 0 auto; min-width: 0 !important; height: 32px; padding: 0 14px !important; display: inline-flex; align-items: center; }
  /* 三个页面的标题统一：同样的起点、字号、标题下间距；行情页插图不再把标题往下推 */
  #main.tab-root > .titlebar, #main.tab-root > .v2-list-head { margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 18px !important; align-items: flex-start !important; }
  #main.tab-root > .ui-scene-title:has(> .ui-page-header) { min-height: 72px; }
  #main.tab-root > .titlebar h1, #main.tab-root > .v2-list-head h1 { margin: 0 0 6px !important; line-height: 1.2; }
}

/* 已显示过的图片再次出现（返回上一页、换页回来）：直接显示，不再从透明渐显（10-10） */
img.pm-now, html.pm-lite img.pm-now[src] { transition: none !important; } /* 轻量模式那条带 html.pm-lite，这里也要压得过它（10-13） */

/* 手机作品详情「交易记录」标题行（10-10）：右边「实时更新」和说明文字与左边标题垂直居中对齐，两行都靠右 */
@media (max-width: 600px) {
  [data-trades] > .titlebar { align-items: center !important; }
  [data-trades] > .titlebar h1 { margin: 0 !important; }
  [data-trades] > .titlebar > .trades-live { flex: 0 0 auto !important; align-items: flex-end !important; text-align: right !important; }
}

/* 手机作品卡片（10-10）：
   1) 右上角显示 24H 涨跌幅（和参考价涨跌幅一致），名字过长省略，不挤掉涨跌幅；
   2) 手机没有悬停：点按时 iOS 会触发 :hover，卡片上移 4px，返回时这张卡还保持悬停状态 → 看起来「跳一下」，这里全部关掉 */
@media (max-width: 600px) {
  .v2-meta [data-lc] { display: inline !important; flex: 0 0 auto; font-size: 11px; }
  /* 名字过长省略；左右上下各留 3px，头像的橙色圆圈不被裁掉（10-10） */
  .v2-meta .v2-creator { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; padding: 3px 0 3px 3px; margin: -3px 0 -3px -3px; }
  .v2-meta .mavatar.cr-av { width: 20px !important; height: 20px !important; margin-right: 1px; }
}
@media (hover: none) {
  .v2-card:hover, .art-card:hover, .my-card:hover { transform: none !important; }
  .v2-card:hover .art-top img, .art-card:hover .art-top img { transform: none !important; }
}

/* 头像统一带橙色圆圈（10-10）：作品卡片、作品详情持有人、成交记录、客服等所有头像；大头像、个人中心保留原来更粗的光圈；换头像的候选列表不加 */
.mavatar { box-shadow: 0 0 0 1.5px var(--v2-accent, #ff7a1a), 0 0 6px #ff7a1a33; }
.mavatar.avatar { border: 0 !important; box-shadow: 0 0 0 2px var(--v2-accent, #ff7a1a), 0 0 10px #ff7a1a40; }
.av-opt .mavatar { box-shadow: none; }

/* 区块链确权存证费说明文字（10-10，后台「存证费说明文字」可改） */
.fee-summary-box .fee-row { align-items: flex-start; }
.fee-summary-box .fee-k { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fee-summary-box .fee-k small { font-size: 11.5px; line-height: 1.4; color: var(--c-text-3, #8a8a90); font-weight: 400; }
.fee-summary-box .fee-v { flex: 0 0 auto; text-align: right; white-space: nowrap; }
.fee-note-inline { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--c-text-3, #9a9aa0); }
/* 电脑端同样：作品卡片持有人头像的橙色圆圈留出空间，不被名字区域裁掉（10-10） */
.v2-creator { padding: 3px 0 3px 3px; margin: -3px 0 -3px -3px; }
/* 作品卡片标题：名字过长时省略名字，系列编号 #N 始终完整显示（10-10） */
.v2-card h3 a { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.v2-card h3 .v2-nm { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-card h3 .v2-no { flex: 0 0 auto; }
/* 持有人名字过长：显示省略号（flex 容器里省略号不生效，改为块级，头像和名字同一行） */
.v2-meta .v2-creator { display: block; flex: 1 1 auto; }
.v2-meta .v2-creator .mavatar { margin-right: 6px; vertical-align: middle; }

/* 首页热门作品系列标签：一行显示、左右滑动（网页和手机都是），不再折行占满屏幕（10-10） */
.hot-series-row { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; gap: 8px; padding-bottom: 2px; mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
.hot-series-row::-webkit-scrollbar { display: none; }
.hot-series-row > .tab { flex: 0 0 auto; white-space: nowrap; }

/* 助记词抄写和输入（10-10）：任何屏幕宽度都是左边 ①②③、右边 ④⑤⑥ 两列（以前 420px 以下变成一列竖排，iPhone 15 上全部竖着） */
.mn-words, .mn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-rows: repeat(3, auto); grid-auto-flow: column; }
@media (max-width: 420px) {
  .mn-words { gap: 8px; }
  .mn-words li { padding: 10px 10px; gap: 6px; min-width: 0; }
  .mn-words b { font-size: 15px; letter-spacing: 0; overflow-wrap: anywhere; }
  .mn-grid { gap: 8px 6px; }
  .mn-cell { gap: 4px; }
  .mn-cell i { width: 14px; font-size: 13px; }
  .mn-cell input { font-size: 15px !important; padding-left: 8px !important; padding-right: 6px !important; }
  .mn-cell input::placeholder { font-size: 12px; }
}

/* 分页折叠后的省略号（10-10） */
.pagination { flex-wrap: nowrap; }
.pagination .page-gap { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; color: var(--c-text-3, #8a8a90); user-select: none; }
@media (max-width: 600px) { .pagination { gap: 6px; } .pagination button { min-width: 34px; height: 34px; padding: 0 6px; line-height: 1; flex: none; } }

/* 官方发售（未发售）作品卡片的意向报价按钮：只显示图标，居中（10-10） */
.v2-card .v2-card-actions.only-act .v2-wide-act { justify-content: center; gap: 0; }
.v2-card .v2-card-actions.only-act .v2-wide-act svg { width: 20px; height: 20px; }

/* 作品页系列筛选：列表上下滑动，一屏显示 9 个系列（10-10） */
.v2-group[data-group="f-series"] .v2-opts { max-height: calc(42px * 9 - 2px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }

/* 行情页：系列筛选 + 作品列表区域内上下滑动（10-10） */
.market-series { display: flex; align-items: center; gap: 12px; margin: 18px 0 12px; }
.market-series select, .market-series .pm-select { min-width: 220px; max-width: 100%; }
.market-series small { white-space: nowrap; }
.market-scroll { max-height: 640px; overflow-y: auto; overscroll-behavior: contain; }
.market-scroll thead th { position: sticky; top: 0; z-index: 1; background: var(--c-surface, #2a2a2c); }
@media (max-width: 600px) {
  .market-series { flex-wrap: wrap; }
  .market-series select, .market-series .pm-select { flex: 1 1 100%; min-width: 0; }
  .market-scroll { max-height: 68vh; }
}
/* 交易中心：系列和作品两个选择框（10-10） */
.artwork-title .actions .series-select { margin-bottom: 0; }
.hot-empty { padding: 40px 16px; text-align: center; color: var(--c-text-3, #8a8a90); border-radius: 16px; background: var(--c-surface, #2a2a2c); }

/* 未发售作品卡片的意向报价按钮（10-11）：按钮保持橙色，中间礼物图标全部用白色，不再和橙色底混在一起 */
.v2-card .v2-wide-act svg, .v2-card .v2-wide-act svg * { color: #fff !important; stroke: #fff !important; }
.v2-card .v2-wide-act svg [fill]:not([fill="none"]), .v2-card .v2-wide-act svg .ac { fill: none !important; }

/* 作品详情大图（10-11）：作品框按图片本身的比例自适应（竖图、横图都不再出现左右/上下的空白底），过高的竖图限制在一屏内；徽标贴着图片左上角 */
.detail-grid .art-frame { width: fit-content; max-width: 100%; margin: 0 auto; }
.detail-grid .big-art { width: auto !important; max-width: 100% !important; height: auto !important; max-height: min(78vh, 760px) !important; aspect-ratio: auto !important; object-fit: contain !important; background-color: transparent !important; margin: 0 auto; }
.detail-grid .big-art:not(.pm-in) { min-width: min(100%, 320px); min-height: 240px; }

/* 手机交易中心页头（10-11）：左边作品缩略图和右边「系列 / 作品」两个选择框等高对齐，缩略图固定贴顶（以前按内容高度居中，选择框多了缩略图位置会跑）；
   「查看作品详情」放到下面整行 */
@media (max-width: 600px) {
  .artwork-title:has(.trade-actions) { grid-template-columns: 100px minmax(0, 1fr) !important; grid-template-areas: "text text" "img act" "link link" !important; align-items: start !important; row-gap: 12px; column-gap: 12px; }
  .artwork-title:has(.trade-actions) .identity-thumbnail { width: 100px !important; height: 100px !important; align-self: start; object-fit: cover; }
  .artwork-title > .actions.trade-actions { display: contents !important; }
  .trade-actions .trade-pickers { grid-area: act; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  .trade-actions .trade-pickers .work-select, .trade-actions .trade-pickers .pm-select { width: 100% !important; min-width: 0 !important; height: 46px; }
  .trade-actions .trade-detail-link { grid-area: link; width: 100%; justify-content: center; height: 42px; margin: 0 !important; }
}
@media (min-width: 601px) { .trade-actions .trade-pickers { display: flex; gap: 10px; align-items: center; } }

/* 手机行情页（10-11）：
   1) 不再用列表内部滚动框（内部框的底边会被底部导航挡住，最后一件作品显示不全），直接整页上下滑动，页面底部留出导航高度；
   2) 作品卡片变矮：当前价格、24H 变化、走势同一行三列，24H 最高 / 最低在手机上不显示 */
@media (max-width: 600px) {
  .market-scroll { max-height: none !important; overflow: visible !important; }
  #main:has(.market-table) { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  .market-table tbody { gap: 8px !important; }
  .market-table tbody tr { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, 1fr) !important; gap: 6px 10px !important; padding: 10px 12px 12px !important; }
  .market-table tbody td:first-child { padding-bottom: 8px !important; }
  .market-table tbody td:nth-child(4), .market-table tbody td:nth-child(5) { display: none !important; }
  .market-table tbody td { font-size: 13px; gap: 2px; }
  .market-table tbody td::before { font-size: 10.5px; }
  .market-table tbody td .official-sub { font-size: 10.5px; line-height: 1.3; margin-top: 1px; }
  .market-table tbody td:nth-child(6) .spark-wrap, .market-table tbody td:nth-child(6) svg { max-width: 100%; height: 28px; }
  .market-table tbody td:last-child { top: 12px !important; right: 12px !important; }
  .market-table tbody td:last-child .link-btn { height: 28px !important; padding: 0 12px !important; font-size: 12.5px; }
  .market-table .cell-art img { width: 40px !important; height: 40px !important; }
}

/* 行情页：本人持有的作品（10-11 调整）：极细的一圈暗橙色渐变描边 + 轻微浮起的阴影，位置不变（不吸顶） */
.market-table tbody tr.mine-row { border: 1px solid #ff7a1a66; box-shadow: 0 10px 24px #00000059, 0 2px 6px #00000040; border-radius: 12px; } /* 10-11：去掉渐变，改为细的暗橙色实线边框 */
@media (max-width: 600px) { .market-table tbody tr.mine-row { border-radius: var(--v2-r-md, 14px); } }

/* 消息中心「报价」分类未读数（10-11） */
.tab .tab-dot { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 999px; background: var(--v2-accent, #ff7a1a); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }

/* 手机「我的作品 → 持有中」卡片（10-11）：标题行放缩略图、名称和状态，右上角「详情」按钮；
   下面一行三列：持有成本 / 当前参考价 / 参考变化，不再两列排布留出大片空白；持有数量都是 1，手机上不显示 */
@media (max-width: 600px) {
  .mine-table tbody tr { position: relative; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px 10px !important; padding: 12px 12px 12px !important; }
  .mine-table tbody td:first-child { padding-right: 70px !important; padding-bottom: 10px !important; }
  .mine-table tbody td:nth-child(2) { display: none !important; }
  .mine-table tbody td:nth-child(6) { position: absolute; top: 48px; right: 12px; left: auto; padding: 0 !important; align-items: flex-end; }
  .mine-table tbody td:nth-child(6)::before { display: none !important; }
  .mine-table tbody td:nth-child(6) .tag { font-size: 11px; padding: 1px 8px; }
  .mine-table tbody td:last-child { position: absolute; top: 10px; right: 12px; padding: 0 !important; grid-column: auto !important; }
  .mine-table tbody td:last-child::before { display: none !important; }
  .mine-table tbody td:last-child .btn { height: 30px; padding: 0 14px; font-size: 12.5px; border-radius: 999px; }
  .mine-table tbody td { font-size: 13.5px; }
  .mine-table tbody td::before { font-size: 10.5px; }
  .mine-table .cell-art img { width: 48px !important; height: 48px !important; }
}

/* 底部导航点击动画（10-11）：按下时图标缩小、背景出现淡淡的圆形高亮；切换到新标签时图标弹一下，顶部出现橙色指示条 */
.m-bottom a { position: relative; -webkit-tap-highlight-color: transparent; transition: color .2s ease; }
.m-bottom a svg, .m-bottom a .ui-business-icon { transition: transform .28s cubic-bezier(.34, 1.56, .64, 1); }
.m-bottom a::after { content: ''; position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -30px 0 0 -26px; border-radius: 50%; background: #ff7a1a24; transform: scale(.2); opacity: 0; transition: transform .35s ease, opacity .35s ease; pointer-events: none; }
.m-bottom a:active svg, .m-bottom a:active .ui-business-icon { transform: scale(.82); transition-duration: .08s; }
.m-bottom a:active::after { transform: scale(1); opacity: 1; transition-duration: .12s; }
.m-bottom a.nav-pop svg, .m-bottom a.nav-pop .ui-business-icon { animation: navPop .45s cubic-bezier(.34, 1.56, .64, 1); }
@keyframes navPop { 0% { transform: scale(.78); } 55% { transform: scale(1.18) translateY(-3px); } 100% { transform: none; } }
@keyframes navBar { from { width: 0; margin-left: 0; opacity: 0; } to { width: 20px; margin-left: -10px; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .m-bottom a.nav-pop svg, .m-bottom a.nav-pop::before { animation: none; } }

/* 手机行情页统计数据框（10-11）：整体变矮——数字缩小、去掉每项下面的说明小字、图标缩小贴右上角；
   「最新成交」作品名一行显示，过长省略，下面是成交价 */
@media (max-width: 600px) {
  .stats:has(.market-art-stat) { padding: 4px 0 !important; gap: 0 !important; }
  .stats .market-art-stat { padding: 10px 40px 10px 14px !important; min-height: 0 !important; gap: 2px !important; }
  .stats .market-art-stat label { font-size: 11px !important; margin: 0 !important; }
  .stats .market-art-stat strong { font-size: 18px !important; line-height: 1.25 !important; margin: 2px 0 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; max-width: 100%; }
  .stats .market-art-stat small { display: none !important; }
  .stats .market-art-stat:last-child small { display: block !important; font-size: 11px !important; margin-top: 1px; }
  .stats .market-art-stat:last-child strong { font-size: 15px !important; }
  .stats .market-art-stat > .ui-art-icon { width: 26px !important; height: 26px !important; top: 10px !important; right: 10px !important; border-radius: 8px !important; }
  .stats .market-art-stat > .ui-art-icon svg { width: 15px !important; height: 15px !important; }
}

/* ---------- 轻量模式（10-11 老旧设备优化）：<html class="pm-lite">，由 index.html 开头的检测脚本按设备性能自动开启，
   「我的」页可手动开关。关掉常驻循环动画、磨砂玻璃、图片模糊渐显和悬停光晕；首页轮播、行情条不自动滚动（可手动滑动），
   加载转圈保留 ---------- */
html.pm-lite *, html.pm-lite *::before, html.pm-lite *::after { animation-iteration-count: 1 !important; }
html.pm-lite .spinner, html.pm-lite .pm-bar i { animation-iteration-count: infinite !important; }
html.pm-lite .hero-stage *, html.pm-lite .ticker-track, html.pm-lite .ui-series-banner { animation: none !important; }
html.pm-lite * { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* 轻量模式只去掉模糊（最耗性能的部分），渐显时长和电脑一致（10-13：手机常被判成轻量模式，以前 0.2 秒一闪而过，和电脑不一样） */
html.pm-lite img[src*="/uploads/"], html.pm-lite img[src*="assets/art-"], html.pm-lite img[src*="assets/ui-scenes/"] { filter: none !important; transition: opacity .6s ease !important; }
html.pm-lite .v2-card { box-shadow: none !important; transition: none !important; }
html.pm-lite .ticker { overflow-x: auto; scrollbar-width: none; }
html.pm-lite .ticker::-webkit-scrollbar { display: none; }
/* 「我的」页轻量模式开关 */
.lite-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; margin-top: 14px; border-radius: 12px; background: var(--v2-surface, #1c1c1e); font-size: 13px; }
.lite-row small { display: block; margin-top: 3px; color: var(--v2-text-3, #8e8e93); font-size: 11.5px; }
.lite-row .lite-sw { flex: none; width: 44px; height: 26px; border-radius: 13px; border: 0; padding: 0; background: #3a3a3c; position: relative; transition: background .2s; }
.lite-row .lite-sw::after { content: ""; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.lite-row .lite-sw[aria-pressed="true"] { background: var(--v2-accent, #ff7a1a); }
.lite-row .lite-sw[aria-pressed="true"]::after { transform: translateX(18px); }
/* 行情长列表分批显示的「加载更多」行（10-11） */
.market-table tr.mk-more td { text-align: center; color: var(--v2-text-3, #8e8e93); font-size: 12px; padding: 14px 0; }
@media (max-width: 760px) { .market-table tr.mk-more { display: block; } .market-table tr.mk-more td { display: block; width: 100%; } }
/* 轻量模式下没有磨砂玻璃：悬浮条、底部导航改成不透明底色，下面的内容不透出来 */
html.pm-lite .m-bottom { background: #212122 !important; }
@media (max-width: 600px) { html.pm-lite .v2-userbar { background: #28282a !important; } }

/* 手机端作品详情「交易记录」（10-11）：每条记录压成两行——左边买方 / 卖方地址，右边上面成交价、下面时间 + 状态；
   系列和编号就是当前作品，手机上不重复显示。原来两列字段排布右侧留白多、每条约 220px 高 */
@media (max-width: 600px) {
  [data-trades] .trade-detail-table tbody tr:not(:has(> td[colspan])) { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "addr price price" "addr time tag"; align-items: center; gap: 4px 10px; padding: 10px 14px; }
  [data-trades] .trade-detail-table tbody td::before { display: none; }
  [data-trades] .trade-detail-table tbody td:nth-child(1) { grid-area: addr; padding: 0 !important; border: 0 !important; font-weight: 500; }
  [data-trades] .trade-detail-table tbody td:nth-child(2), [data-trades] .trade-detail-table tbody td:nth-child(3) { display: none; }
  [data-trades] .trade-detail-table tbody td:nth-child(4) { grid-area: time; align-items: flex-end; color: var(--v2-muted); font-size: 11.5px; }
  [data-trades] .trade-detail-table tbody td:nth-child(5) { grid-area: price; align-items: flex-end; font-weight: 700; font-size: 15px; }
  [data-trades] .trade-detail-table tbody td:nth-child(6) { grid-area: tag; align-items: flex-end; }
  [data-trades] .trade-detail-table tbody td:nth-child(6) .tag { padding: 2px 7px; font-size: 10.5px; }
  [data-trades] .trade-detail-table .address-pair { font-size: 12px; line-height: 1.75; }
}
/* 轻量模式开关和下面的「退出登录」按钮留出间隔（10-11） */
.lite-row { margin-bottom: 18px; }

/* ---------- 新手教程（10-11）：欢迎弹窗、底部引导卡片、要点高亮、首次买入彩带 ---------- */
.guide-modal { text-align: center; max-width: 420px; }
.guide-modal .guide-logo { display: block; margin: 4px auto 10px; }
.guide-modal h2 { margin: 0 0 8px; font-size: 20px; }
.guide-modal .purchased-art { text-align: left; margin: 14px 0; }
.guide-choices { display: grid; gap: 10px; margin: 18px 0 6px; }
.guide-cheer-emoji { font-size: 44px; line-height: 1; margin: 4px 0 8px; animation: guidePop .6s cubic-bezier(.2, 1.6, .4, 1) both; }
@keyframes guidePop { from { transform: scale(.3); opacity: 0; } to { transform: none; opacity: 1; } }
.guide-confetti { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 30; pointer-events: none; }
.guide-entry { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.guide-entry h2 { margin: 0 0 6px; }
.guide-entry p { margin: 0; }
@media (max-width: 600px) { .guide-entry { flex-direction: column; align-items: stretch; } }

/* 新手教程第二版（10-11）：遮罩只留出要操作的按钮 + 跳动箭头 + 说明气泡；手机、电脑同一套，气泡宽度随屏幕 */
.gd-root { position: fixed; inset: 0; z-index: 11; pointer-events: none; }
.gd-block { position: fixed; pointer-events: auto; background: transparent; }
.gd-hole { position: fixed; border-radius: 14px; border: 2px solid #ff7a1a; box-shadow: 0 0 0 200vmax rgba(0, 0, 0, .66), 0 0 0 0 #ff7a1a00, 0 14px 34px rgba(0, 0, 0, .55); transition: left .25s ease, top .25s ease, width .25s ease, height .25s ease; animation: gdBreath 1.8s ease-in-out infinite; }
.gd-free .gd-hole { border: 0; animation: none; }
/* 呼吸边框 + 悬浮：边框亮暗交替，外圈橙色光晕一张一缩，下方投影让圈出的区域像浮起来（10-11） */
@keyframes gdBreath {
  0%, 100% { border-color: #ff7a1a; box-shadow: 0 0 0 200vmax rgba(0, 0, 0, .66), 0 0 6px 1px #ff7a1a66, 0 14px 34px rgba(0, 0, 0, .55); }
  50% { border-color: #ffc28a; box-shadow: 0 0 0 200vmax rgba(0, 0, 0, .66), 0 0 22px 7px #ff7a1a8c, 0 18px 40px rgba(0, 0, 0, .6); }
}
.gd-arrow { position: fixed; color: #ff7a1a; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .6)); animation: gdBounce .9s ease-in-out infinite; }
.gd-arrow.up { transform: rotate(180deg); animation-name: gdBounceUp; }
@keyframes gdBounce { 50% { transform: translateY(8px); } }
@keyframes gdBounceUp { 0%, 100% { transform: rotate(180deg); } 50% { transform: rotate(180deg) translateY(8px); } }
.gd-tip { position: fixed; pointer-events: auto; width: min(340px, calc(100vw - 24px)); padding: 12px 14px 10px; border-radius: 14px; background: #2a2a2c; border: 1px solid #ff7a1a80; box-shadow: 0 14px 36px rgba(0, 0, 0, .6); color: #f2f2f2; }
.gd-tip .gd-top { display: flex; align-items: center; gap: 6px; }
.gd-tip .gd-part { flex: 1; font-size: 11.5px; color: #ff9a4d; font-weight: 600; }
.gd-tip .gd-icon { width: 32px; height: 32px; padding: 0; border: 1px solid var(--v2-line, #3a3a3c); border-radius: 10px; background: var(--v2-surface-2, #2c2c2e); color: var(--v2-text-2, #d4d4d6); display: inline-grid; place-items: center; transition: color .15s, border-color .15s, background .15s; }
.gd-tip .gd-icon:hover, .gd-tip .gd-icon:active { color: #ff8a33; border-color: #ff7a1a80; }
.gd-tip .gd-icon.off { color: var(--v2-text-3, #8e8e93); }
.gd-tip .gd-icon .icon { width: 17px; height: 17px; }
.gd-tip .gd-prev, .gd-tip .gd-next { display: inline-flex; align-items: center; gap: 2px; }
.gd-tip .gd-prev .icon, .gd-tip .gd-next .icon { width: 15px; height: 15px; }
.gd-tip .gd-wait { margin-top: 4px; font-size: 12px; color: var(--v2-text-3, #9a9a9f); }
.gd-tip p { margin: 6px 0 0; font-size: 14px; line-height: 1.6; color: #e6e6e8; }
.gd-tip .gd-acts { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.gd-tip .gd-acts .grow { flex: 1; }
.gd-tip .link-btn { font-size: 12.5px; color: #9a9a9f; }
.gd-tip .gd-wait { font-size: 12px; color: #9a9a9f; }
html.pm-lite .gd-arrow, html.pm-lite .gd-hole { animation: none !important; }

/* ---------- 创作者入驻合约 / 入驻费 / 发布手续费（10-11） ---------- */
.cw-fee { display: flex; align-items: center; gap: 14px; margin: 20px 0 22px; padding: 14px 16px; border-radius: 14px; background: #ff7a1a14; border: 1px solid #ff7a1a55; }
.cw-fee .cw-fee-amt { flex: none; font-size: 22px; font-weight: 800; color: #ff8a33; font-variant-numeric: tabular-nums; }
.cw-fee b { display: block; font-size: 14px; }
.cw-fee small { display: block; margin-top: 3px; color: var(--v2-text-3, #9a9a9f); font-size: 12px; line-height: 1.5; }
.cw-fee.paid { background: #2dd59c14; border-color: #2dd59c55; }
/* 10-25：「创作者入驻」卡片上下留出间距，和下面的按钮分开；撤回提示在按钮下面 */
.cw-hero .actions { flex-wrap: wrap; }
.cw-withdraw-note { margin: 10px 0 0 !important; font-size: 12px; }
.cw-fee.paid .icon { color: #2dd59c; flex: none; width: 22px; height: 22px; }
.ce-modal { max-width: 560px; }
.ce-sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.ce-sum > div { padding: 10px 12px; border-radius: 12px; background: var(--v2-surface-2, #2c2c2e); }
.ce-sum small { display: block; font-size: 11.5px; color: var(--v2-text-3, #9a9a9f); }
.ce-sum b { display: block; margin-top: 3px; font-size: 16px; font-variant-numeric: tabular-nums; }
.ce-body { max-height: min(42vh, 360px); overflow-y: auto; padding: 4px 14px 8px; margin-bottom: 12px; border-radius: 12px; background: var(--v2-surface-2, #2c2c2e); -webkit-overflow-scrolling: touch; }
.ce-body h3 { margin: 12px 0 4px; font-size: 13.5px; color: #ffb067; }
.ce-body p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--v2-text-2, #c9c9cc); }
.ce-modal .choice { align-items: flex-start; line-height: 1.6; }
.ce-short { margin: 10px 0 0; }
.pub-fee { margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: var(--v2-surface-2, #2c2c2e); }
.pub-fee-row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; padding: 2px 0; }
.pub-fee-row b { font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
  .ce-sum b { font-size: 14px; }
  .cw-fee { align-items: flex-start; }
  .cw-fee .cw-fee-amt { font-size: 18px; }
}
@media (max-width: 600px) { .ce-modal .modal-head h2 { font-size: 18px; } }

/* 欢迎页（10-11） */
.welcome-hero { display: flex; align-items: center; gap: 18px; }
.welcome-hero img { flex: none; }
.welcome-hero h1 { margin: 4px 0 8px; font-size: 24px; }
.welcome-hero p { margin: 0; line-height: 1.7; }
.welcome-safe { border: 1px solid #ff7a1a66 !important; background: #ff7a1a10 !important; }
.welcome-safe-head { display: flex; align-items: center; gap: 10px; }
.welcome-safe-head .icon { color: #ff8a33; width: 24px; height: 24px; }
.welcome-safe-head h2 { margin: 0; }
.welcome-safe ul { margin: 12px 0 14px; padding-left: 20px; line-height: 1.9; font-size: 14px; color: var(--v2-text-2, #d4d4d6); }
.welcome-safe b { color: #ffb067; font-weight: 600; }
.welcome-step .num { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #ff7a1a22; color: #ff8a33; font-weight: 700; }
@media (max-width: 600px) { .welcome-hero { flex-direction: column; align-items: flex-start; } .welcome-hero h1 { font-size: 20px; } }

/* 首次买入恭喜弹窗：作品名称 + 编号一行居中，左边小缩略图；「已存入我的作品」居中在下（10-11） */
.guide-cheer .gc-art { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 14px auto 12px; padding: 12px 16px; border-radius: 14px; background: var(--v2-surface-2, #2c2c2e); }
.guide-cheer .gc-art-row { display: flex; align-items: center; justify-content: center; gap: 10px; max-width: 100%; }
.guide-cheer .gc-art-row img { flex: none; width: 40px; height: 40px; border-radius: 10px; object-fit: cover; opacity: 1 !important; filter: none !important; }
.guide-cheer .gc-art-row b { font-size: 16px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.guide-cheer .gc-art small { color: var(--v2-text-3, #9a9a9f); font-size: 12.5px; }
/* 欢迎页「开始使用」：右边状态固定一行，不随左边文字长短换行；下方按钮往下留出间距（10-11） */
.welcome-step { align-items: center; }
.welcome-step > div { flex: 1; min-width: 0; }
.welcome-step .end { flex: none; margin-left: 12px; }
.welcome-step .end .tag { white-space: nowrap; }
.welcome-step + .actions, .welcome-step ~ .actions { margin-top: 22px; }
.cw-fee > .icon { flex: none; width: 22px; height: 22px; color: #ff8a33; }
/* 入驻合约顶部三个信息框（入驻费 / 可用余额 / 发布手续费）：等宽等高，标题和数值都不换行，手机上也整齐（10-11） */
.ce-sum > div { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 62px; text-align: center; }
.ce-sum small, .ce-sum b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 600px) {
  .ce-sum { gap: 6px; }
  .ce-sum > div { padding: 8px 4px; min-height: 56px; }
  .ce-sum small { font-size: 11px; }
  .ce-sum b { font-size: 14px; }
}
.gd-tip .gd-done { display: flex; align-items: flex-start; gap: 6px; color: #7ee2b8; }
.gd-tip .gd-done .icon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: #2dd59c; }
/* 创作者申请流程改成 4 步（10-11）：电脑上一行 4 列，手机 2×2 */
.cw-flow-row { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 600px) { .cw-flow-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* 新手教程（10-11 晚）：圈出区域只展示，盖一层透明挡板，不能点、不能填写、不能滚动 */
.gd-shield { position: fixed; pointer-events: auto; background: transparent; border-radius: 14px; cursor: default; touch-action: none; }
.gd-block { touch-action: none; }
/* 等页面打开：只显示等待提示，打开后再显示讲解并播放配音 */
.gd-tip .gd-wait-big { display: flex; align-items: center; gap: 8px; color: #c9c9ce; }
.gd-tip .gd-spin { flex: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid #ff7a1a40; border-top-color: #ff7a1a; animation: gdSpin .8s linear infinite; }
@keyframes gdSpin { to { transform: rotate(360deg); } }
.gd-tip .gd-done span { flex: 1; }
.gd-tip .gd-buyback { width: 100%; margin-top: 10px; }
/* 作品详情大图（10-11 晚）：图片没加载完时框宽度是 0，「未发售」和下面的存证标签被挤成竖排乱跑。
   加载完成前先占一个方形位置，标签不换行 */
.detail-grid .big-art:not([data-ok]) { width: min(760px, 78vh) !important; max-width: 100% !important; aspect-ratio: 1 / 1 !important; }
.detail-grid .art-frame:has(> .big-art:not([data-ok])) { background: #232325; border-radius: var(--v2-r-lg, 16px); }
.art-frame .hold-badge, .chain-badges span, .chain-badges .cb-complaint { white-space: nowrap; }
/* 行情页作品列表：滚到顶 / 底后继续滑动带动整个页面（10-11 晚，以前 contain 会把页面定住） */
.market-scroll { overscroll-behavior: auto !important; }
/* 新手教程：iPhone 上卡片空白处（价格、倒计时）也要能点开作品，需要标成可点击（10-11 晚） */
html.gd-active #works-grid article { cursor: pointer; }
/* 新手教程提示框：放不下时框内滚动（10-12，手机上提示框跳出屏幕） */
.gd-tip { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

/* ---------- 内置键盘（10-12）：九宫格数字页、按键放大提示、按下效果 ---------- */
.numpad .kb-nine-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr 1.15fr; grid-template-rows: repeat(4, 48px); gap: 6px; padding: 6px 4px 0; }
.numpad .kb-symcol { grid-column: 1; grid-row: 1 / span 4; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; border-radius: 10px; background: #262628; padding: 4px; scrollbar-width: none; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
.numpad .kb-symcol::-webkit-scrollbar { display: none; }
.numpad .kb-symcol .nk { flex: 0 0 38px; height: 38px; font-size: 17px; background: transparent; }
.numpad .kb-nine-grid > .nk { height: 48px; font-size: 22px; font-weight: 600; }
.numpad .kb-nine-grid > .nk-del, .numpad .kb-nine-grid > .nk-abc, .numpad .kb-nine-grid > .nk-space { font-size: 14px; background: #262628; color: #d6d6d8; }
.numpad .kb-nine-grid > .nk-done { background: var(--v2-accent); font-size: 15px; font-weight: 700; }
.numpad .nk { position: relative; touch-action: manipulation; -webkit-user-select: none; user-select: none; }
.numpad .nk.down { background: #4a4a4d; transform: none; }
.numpad .nk-done.down { background: var(--v2-accent-hi, #ff9a3c); }
/* 字母键按下：上方放大显示（和手机自带键盘一样，看得清按到哪个键） */
.numpad .kb-row .nk-ch.down::after { content: attr(data-show); position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); min-width: 44px; height: 52px; padding: 0 6px; border-radius: 10px; background: #5a5a5e; color: #fff; font-size: 28px; font-weight: 500; line-height: 52px; text-align: center; box-shadow: 0 6px 16px rgba(0, 0, 0, .45); pointer-events: none; z-index: 2; }
.numpad .kb-row .nk-ch { text-transform: none; }
.numpad .kb-nine-grid > .nk { grid-column: auto !important; grid-row: auto !important; min-width: 0; padding: 0; }
.numpad .kb-nine-grid > .kb-symcol { grid-column: 1 !important; grid-row: 1 / span 4 !important; min-width: 0; }
/* 键盘顶部快捷操作：全选 / 复制 / 剪切 / 粘贴（10-12） */
.numpad .numpad-bar { gap: 8px; }
.numpad .numpad-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.numpad .kb-acts { display: flex; gap: 6px; flex: none; }
.numpad .kb-act { height: 28px; padding: 0 10px; border: 0; border-radius: 8px; background: #2e2e30; color: #d6d6d8; font-size: 12.5px; -webkit-tap-highlight-color: transparent; }
.numpad .kb-act:active { background: #48484b; color: #fff; }
/* 联想词：和候选字同一行，颜色稍淡 */
.numpad .kb-cand.kb-assoc { color: #e6e6e8; font-size: 17px; }
/* 滑动输入轨迹 */
.numpad .kb-trail { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 3; overflow: visible; }
.numpad .kb-trail polyline { fill: none; stroke: #ff7a1a; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; opacity: .75; }
.numpad.kb-swiping .kb-row .nk-ch.down::after { display: none; }
/* 长按空格移动光标：按键变暗、空格提示「左右滑动移动光标」 */
.numpad.kb-cursor .nk { color: transparent !important; background: #242426 !important; }
.numpad.kb-cursor .nk-space { color: #ff9a4d !important; background: #3a3a3c !important; font-size: 0 !important; }
.numpad.kb-cursor .nk-space::before { content: '◀ 左右滑动移动光标 ▶'; font-size: 13px; }
.numpad.kb-cursor .nk::after { display: none !important; }
/* 数字键盘长按 0 移动光标（10-15） */
.numpad.kb-cursor .numpad-keys .nk[data-k="0"] { color: #ff9a4d !important; background: #3a3a3c !important; font-size: 0 !important; }
.numpad.kb-cursor .numpad-keys .nk[data-k="0"]::before { content: '◀ 左右滑动移动光标 ▶'; font-size: 13px; font-weight: 500; }
/* 顶部快捷键：按下效果（抬起才执行） */
.numpad .kb-act.down { background: #48484b; color: #fff; }
/* 键盘区域不滚动页面（10-12 反馈：在键盘上滑动会带动下面的页面）：整个键盘禁止浏览器的拖动手势，
   只有候选词一行可以左右滑、符号列可以上下滑，滑到头也不带动页面 */
.numpad, .numpad .nk { touch-action: none !important; overscroll-behavior: contain; }
.numpad .kb-cand-list, .numpad .kb-cand-list .kb-cand { touch-action: pan-x !important; overscroll-behavior: contain; }
.numpad .kb-symcol, .numpad .kb-symcol .nk { touch-action: pan-y !important; overscroll-behavior: contain; }
/* 新手教程显示时背景静止（10-12）：首页行情条、轮播不再自动滚动 */
html.gd-active .ticker-track { animation-play-state: paused !important; }

/* 风控（10-12）：持有锁定期倒计时，行内显示 */
.hold-lock .sale-clock { font-size: inherit; letter-spacing: 0; font-weight: 700; color: var(--accent, #ff8a2a); }

/* 动态撮合状态、转赠详情（转赠中 / 已接收）底部按钮：手机上左右铺满，多个按钮等宽并排（10-12） */
@media (max-width: 600px) {
  .actions.fill-actions { display: grid !important; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 12px; width: 100%; }
  .actions.fill-actions > .btn { width: 100%; min-width: 0; margin: 0; min-height: 46px; justify-content: center; }
}

/* ---------- 10-12 正式服 App 端：在线服务、问题反馈 ---------- */
/* 在线服务：快捷提问下方的操作教程 */
.quick-asks .btn.on { background: var(--v2-accent-soft, #ff7a1a24); border-color: #ff7a1a88; color: #ffd2a8; }
.ask-guide { margin-top: 14px; padding: 16px 18px; border-radius: 12px; background: var(--v2-surface-2, #2e2e30); }
.ask-guide h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 15px; }
.ask-guide h3 .icon { width: 18px; height: 18px; color: var(--orange); }
.ask-steps { margin: 0; padding: 0; list-style: none; counter-reset: ask; }
.ask-steps li { position: relative; padding: 0 0 10px 30px; line-height: 1.65; font-size: 13px; color: #d8d8dc; counter-increment: ask; }
.ask-steps li::before { content: counter(ask); position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: #ff7a1a2e; color: #ffb27a; font-size: 11px; font-weight: 700; }
.ask-tip { margin: 4px 0 14px; padding: 10px 12px; border-radius: 8px; background: #ffffff08; color: var(--muted); font-size: 12px; line-height: 1.6; }
@media (max-width: 600px) { .ask-guide .btn { width: 100%; justify-content: center; } }

/* 问题反馈附件框：图标代替「选择文件」按钮，主次两行文字居中 */
.field label.fb-upload { display: flex !important; flex-direction: column; align-items: center !important; justify-content: center !important; gap: 0 !important; min-height: 150px; padding: 22px 16px !important; margin: 0; border-style: dashed !important; cursor: pointer; }
.fb-upload .ui-tile { width: 52px; height: 52px; margin-bottom: 12px; }
.fb-upload .ui-tile .icon { width: 54% !important; height: 54% !important; margin: 0; }
.fb-up-title { font-size: 14px; font-weight: 600; color: #fff; }
.fb-up-sub { margin-top: 6px; font-size: 12px; color: #8e8e93 !important; font-weight: 400; }
.fb-upload:hover .ui-tile { border-color: #ff8a2a99; }

/* 未发售作品已出价（10-12）：卡片按钮变灰色「已出价」，点开进作品详情看出价 */
.v2-card .v2-card-actions.only-act .v2-wide-act.bid-done { display: flex !important; flex-direction: row; align-items: center; justify-content: center; gap: 6px !important; background: var(--v2-surface-3, #3a3a3c) !important; color: #a1a1a6 !important; font-size: 13px; font-weight: 600; text-decoration: none; box-shadow: none !important; }
.v2-card .v2-card-actions.only-act .v2-wide-act.bid-done:hover { transform: none; background: #444447 !important; }
.v2-card .v2-wide-act.bid-done svg, .v2-card .v2-wide-act.bid-done svg * { color: #a1a1a6 !important; stroke: #a1a1a6 !important; }
.v2-card .v2-card-actions.only-act .v2-wide-act.bid-done svg { width: 17px; height: 17px; }
/* 向未出售作品报价后（10-12）：卡片只显示一个整行的橙色「查看订单」，和作品详情一致 */
.v2-card .v2-card-actions.only-act > .v2-sq.offer-done { display: flex !important; align-items: center; justify-content: center; width: 100%; color: #fff !important; text-decoration: none; white-space: nowrap; font-size: 14px; }

/* 消息中心「一键清空」（10-12）：和「全部已读」并排，确认时变红 */
.msg-meta .msg-clear { margin-left: 12px; }
.msg-meta .link-btn.danger { color: #ff6b6b; }

/* 电脑版作品页左侧筛选栏（10-13）：固定在屏幕内，内容超出屏幕高度时在栏内滚动，往下浏览、点选系列时始终可见 */
@media (min-width: 901px) {
  .v2-filters { align-self: start; max-height: calc(100vh - 32px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
  .v2-filters::-webkit-scrollbar { width: 6px; }
  .v2-filters::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 3px; }
}

/* 详情页参考价走势：说明行、底部成交刻度、点击提示（10-18） */
.trend-note { margin: -6px 0 6px; font-size: 12px; color: var(--c-text-3, #8a8a90); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.trend-note span { display: inline-flex; align-items: center; gap: 5px; }
.trend-note i { width: 2px; height: 9px; border-radius: 1px; background: #ffb066; }
.chart-wrap > .trade-tick { position: absolute; width: 14px; height: 22px; min-width: 0; padding: 0; margin: 0; border: 0; background: transparent; transform: translate(-50%, -50%); pointer-events: auto; cursor: pointer; z-index: 2; }
.chart-wrap > .trade-tick::after { content: ""; position: absolute; left: 50%; top: 50%; width: 2px; height: 9px; border-radius: 1px; background: #ffb066; transform: translate(-50%, -50%); }
.chart-wrap.trend { cursor: pointer; }
.chart-wrap > .trend-tip { position: absolute; transform: translate(-50%, -100%); margin-top: -6px; padding: 5px 10px; border-radius: 8px; background: #1d1d20f2; border: 1px solid #ff8d2466; color: #fff; font-size: 12px; white-space: nowrap; pointer-events: none; z-index: 3; }

/* 参考收益统一格式（10-18）：金额 + 右侧同色涨跌比例小标签，比例固定在金额右边不换行（以作品行情弹窗为准） */
[data-fmt="stack"] { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 6px; white-space: nowrap; }
[data-fmt="stack"] .lg-abs { font: inherit; color: inherit; }
[data-fmt="stack"] .lg-pct { flex: none; font-size: 12px; font-weight: 600; line-height: 1; padding: 3px 6px; border-radius: 6px; color: inherit; background: #ffffff0d; background: color-mix(in srgb, currentColor 15%, transparent); }
.detail-gain { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.detail-gain .label { margin: 0 !important; }
.detail-gain [data-fmt="stack"] { font-size: 18px; font-weight: 600; }
/* 手机「我的作品」卡片：参考收益一格加宽，金额和比例标签同一行放得下（10-18） */
@media (max-width: 600px) {
  .mine-table tbody tr { grid-template-columns: minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.45fr) !important; }
  .mine-table td [data-fmt="stack"] { gap: 4px; }
  .mine-table td [data-fmt="stack"] .lg-pct { font-size: 11px; padding: 2px 5px; }
}
/* 比例标签与金额垂直居中对齐：不受所在区域小字样式（.stat small 上边距、.my-sum small 下边距）影响（10-18） */
[data-fmt="stack"] .lg-pct { display: inline-block !important; margin: 0 !important; align-self: center; }
[data-fmt="stack"] .lg-abs { display: inline-block; line-height: 1.15; margin: 0; }

/* 10-18：顶栏、底部导航放到独立图层，iPhone 惯性滚动、页面刷新时不再错位 */
.m-bottom { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); will-change: transform; }
.m-header { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

/* 消息中心顶部（10-18）：条数一行，三个按钮等宽一排；提示音用小开关显示开 / 关 */
.drawer .msg-meta { display: flex; flex-direction: column; gap: 10px; margin: 0 0 16px; }
.drawer .msg-meta .msg-count { font-size: 12.5px; color: var(--c-text-3, #8e8e93); }
.drawer .msg-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.drawer .msg-act { float: none; margin: 0; height: 34px; padding: 0 8px; border-radius: 10px; border: 1px solid #ffffff14; background: #ffffff0d; color: #e5e5ea; font-size: 12.5px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; gap: 5px; white-space: nowrap; cursor: pointer; }
.drawer .msg-act .icon { width: 14px; height: 14px; flex: none; }
.drawer .msg-act:disabled { opacity: .4; cursor: default; }
.drawer .msg-act.danger { color: #ff6b6b; border-color: #ff6b6b55; background: #ff6b6b14; }
.drawer .msg-sw { position: relative; flex: none; width: 24px; height: 14px; margin-left: 2px; border-radius: 999px; background: #ffffff2e; transition: background .2s; }
.drawer .msg-sw::after { content: ''; position: absolute; top: 2px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: #fff; transition: transform .2s; }
.drawer .msg-sound[aria-pressed="true"] .msg-sw { background: var(--v2-accent, #ff8a1f); }
.drawer .msg-sound[aria-pressed="true"] .msg-sw::after { transform: translateX(10px); }

/* 作品页筛选（10-19）：「不看我持有的」快捷按钮；手机上顶部搜索 / 排序 / 发布 和 系列 / 价格 / 状态 改紧凑，展开的筛选以浮层显示 */
.v2-opt.v2-check { border-top: 1px solid #ffffff12; margin-top: 4px; }
.v2-opt.v2-check .v2-box { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #ffffff40; flex: none; position: relative; order: 3; }
.v2-opt.v2-check.on .v2-box { background: var(--v2-accent, #ff8a1f); border-color: var(--v2-accent, #ff8a1f); }
.v2-opt.v2-check.on .v2-box::after { content: ''; position: absolute; left: 4.5px; top: 1px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
@media (max-width: 900px) {
  #main > .v2-list-head { gap: 8px !important; margin-bottom: 10px !important; }
  #main > .v2-list-head h1 { margin: 0 !important; font-size: 22px !important; }
  .v2-list-tools { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px !important; }
  .v2-list-tools .search { grid-column: 1 / -1; height: 40px !important; padding: 0 12px !important; }
  .v2-list-tools .pm-select, .v2-list-tools select { min-width: 0 !important; }
  .v2-list-tools .pm-select-btn, .v2-list-tools select, .v2-list-tools .btn { height: 38px !important; font-size: 13.5px !important; }
  .v2-list-tools .btn { padding: 0 14px !important; }
  /* 系列 / 价格范围 / 状态：三个并排一行；点开的筛选在这一行下面以浮层展开，选项排成标签，不再把整行撑开 */
  .v2-filters { position: relative !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; margin-bottom: 0; overflow: visible !important; z-index: 3; } /* 10-25：原来 20 会盖在登录等弹窗（12）、侧边菜单（10）上面；3 仍高于作品卡片上的标签（2），展开的筛选浮层能盖住卡片 */
  .v2-group { min-width: 0; position: static; overflow: visible !important; border-radius: 10px !important; background: transparent !important; }
  .v2-group summary { padding: 0 10px !important; height: 36px; font-size: 13px !important; gap: 4px !important; border-radius: 10px; border: 1px solid transparent; background: var(--v2-surface-2, #2c2c2e) !important; }
  .v2-group summary > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v2-group summary .v2-badge { padding: 1px 5px; font-size: 10.5px; }
  .v2-group summary > .icon { width: 12px; height: 12px; flex: none; }
  .v2-group summary:has(.v2-badge) > .icon { display: none; }
  .v2-group[open] summary { border-color: color-mix(in srgb, var(--v2-accent, #ff8a1f) 60%, transparent); color: #fff; }
  .v2-group[open] summary > .icon { transform: rotate(180deg); color: var(--v2-accent, #ff8a1f); }
  .v2-group .v2-opts, .v2-group[data-group="f-series"] .v2-opts { position: absolute; left: 0; right: 0; top: calc(100% + 8px); display: flex !important; flex-wrap: wrap; gap: 8px !important; padding: 12px !important; max-height: min(52vh, 360px); overflow-y: auto; border-radius: 14px; background: #232326; border: 1px solid #ffffff14; box-shadow: 0 16px 40px #000a; animation: v2-pop .16s ease-out; }
  .v2-group .v2-opt { flex: none; gap: 6px; height: 34px; padding: 0 12px !important; border-radius: 999px; background: #ffffff0d; border: 1px solid transparent; font-size: 13px !important; }
  .v2-group .v2-opt span { flex: none; }
  .v2-group .v2-opt small { min-width: 0; padding: 1px 6px; font-size: 11px; }
  .v2-group .v2-opt.on { background: color-mix(in srgb, var(--v2-accent, #ff8a1f) 14%, transparent); border-color: var(--v2-accent, #ff8a1f); color: #fff; }
  /* 「不看我持有的」在状态浮层里也是一个标签：勾选框放在前面，和单选标签用一条分隔线隔开 */
  .v2-group .v2-opt.v2-check { margin: 0; border-top: 0; position: relative; }
  .v2-group .v2-opt.v2-check::before { content: ''; position: absolute; left: -5px; top: 7px; bottom: 7px; width: 1px; background: #ffffff1f; display: none; }
  .v2-group .v2-opt.v2-check .v2-box { order: 0; width: 14px; height: 14px; }
  .v2-group .v2-opt.v2-check.on .v2-box::after { left: 3.5px; top: 0.5px; height: 7px; }
  #main .result-count { margin: 8px 0 10px !important; }
  /* 排序行和筛选按钮之间的留白与上面搜索框和排序行之间一样（8px） */
  #main.tab-root > .v2-list-head { margin-bottom: 8px !important; }
  .v2-filters { top: 0 !important; }
  .v2-list-layout { gap: 10px !important; }
}
@keyframes v2-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* 10-25：手机作品页「系列 / 价格范围 / 状态」不再悬浮，跟着页面一起滚动（去掉 10-20 的 sticky） */

/* ───── 10-25「我的」重做：网站和 App 共用。电脑两栏，手机一栏；卡片、列表、图标沿用网站的 --v2-* 设计变量 ───── */
.mh { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; align-items: start; margin-top: 8px; }
.mh-main, .mh-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.mh-card { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: var(--v2-r-lg); padding: 20px; }
.mh-card h2 { margin: 0 0 6px; font-size: 16px; font-weight: 700; }
.mh-card h2 small { margin-left: 6px; font-size: 12.5px; font-weight: 400; color: var(--v2-muted); }

.mh-head { display: flex; align-items: center; gap: 16px; background: radial-gradient(ellipse 60% 120% at 100% 0, #ff7a1a26, transparent 70%), var(--v2-surface); }
.mh-av { position: relative; flex: none; padding: 0; border: 0; background: none; border-radius: 50%; cursor: pointer; }
.mh-av .mh-avatar { width: 68px; height: 68px; border-radius: 50%; overflow: hidden; display: block; box-shadow: 0 0 0 3px #ff7a1a40; }
.mh-av .mh-avatar svg { width: 100%; height: 100%; display: block; }
.mh-av > span:last-child { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); padding: 1px 8px; border-radius: 999px; background: var(--v2-accent); color: #fff; font-size: 10.5px; font-weight: 600; white-space: nowrap; }
.mh-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.mh-name { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mh-name b { font-size: 20px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.mh-who > small { color: var(--v2-muted); font-size: 12.5px; }
.mh-addr { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border: 1px solid var(--v2-line); border-radius: 999px; background: #ffffff08; color: var(--v2-muted); font-size: 12px; cursor: pointer; }
.mh-addr:hover { color: var(--v2-text); border-color: #ff7a1a66; }
.mh-addr .icon { width: 13px; height: 13px; }
.mh-set { flex: none; display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--v2-muted); font-size: 12px; text-decoration: none; }
.mh-set .icon { width: 24px; height: 24px; }
.mh-set:hover { color: var(--v2-text); }

.mh-assets-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.mh-label { color: var(--v2-muted); font-size: 13px; }
.mh-big { margin-top: 6px; font-size: 32px; font-weight: 800; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.mh-assets-act { display: flex; gap: 10px; }
.mh-assets-act .btn { min-width: 96px; height: 42px; }
.mh-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.mh-stats > a, .mh-stats > button { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: var(--v2-r-md); background: var(--v2-surface-2); border: 0; color: inherit; text-align: left; text-decoration: none; min-width: 0; font: inherit; cursor: pointer; }
.mh-stats > button:not([data-frozen]) { cursor: default; }
.mh-stats > a > span, .mh-stats > button > span { color: var(--v2-muted); font-size: 12px; } /* 只管标题，不能盖掉参考收益的红绿色 */
.mh-stats b { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mh-stats b [data-fmt="stack"] { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.mh-stats .lg-pct { font-size: 11px; }
.mh-more, .mh-sec-head a { display: inline-flex; align-items: center; gap: 2px; color: var(--v2-muted); font-size: 13px; text-decoration: none; }
.mh-more { margin-top: 12px; }
.mh-more:hover, .mh-sec-head a:hover { color: var(--v2-accent); }

.mh-tiles { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; padding: 16px 12px; }
.mh-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 8px 2px; border-radius: var(--v2-r-md); color: var(--v2-text); font-size: 13px; text-decoration: none; text-align: center; }
.mh-tile:hover { background: #ffffff08; }
.mh-tile > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.mh-tile-ic { position: relative; }
.mh-tile-ic .ui-art-icon { width: 46px; height: 46px; }
.mh-badge { position: absolute; top: -5px; right: -8px; 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; border: 2px solid var(--v2-surface); }

.mh-sec-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mh-sec-head h2 { margin: 0; }
.mh-works { display: grid; grid-auto-flow: column; grid-auto-columns: 132px; gap: 12px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.mh-works::-webkit-scrollbar { display: none; }
.mh-work { display: flex; flex-direction: column; gap: 4px; color: inherit; text-decoration: none; min-width: 0; }
.mh-work img { width: 100%; aspect-ratio: 1; border-radius: var(--v2-r-md); object-fit: cover; background: var(--v2-surface-2); }
.mh-work span { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mh-work small { font-size: 12px; color: var(--v2-muted); }
.mh-empty { padding: 18px 4px; color: var(--v2-muted); font-size: 13.5px; }
.mh-sec .my-list { margin: 0; }

.mh-list { padding: 16px 8px 8px; }
.mh-list h2 { padding: 0 12px; margin-bottom: 6px; font-size: 14px; color: var(--v2-muted); font-weight: 600; }
.mh-row { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: var(--v2-r-md); color: var(--v2-text); text-decoration: none; cursor: pointer; }
.mh-row + .mh-row { box-shadow: 0 -1px 0 var(--v2-line); }
.mh-row:hover { background: #ffffff08; box-shadow: none; }
.mh-row:hover + .mh-row { box-shadow: none; }
.mh-row-ic { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--v2-accent-soft, #ff7a1a24); color: var(--v2-text); }
.mh-row-ic .icon { width: 20px; height: 20px; }
.mh-row-ic img { width: 22px; height: 22px; }
.mh-row-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mh-row-txt b { font-size: 14.5px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.mh-row-txt small { font-size: 12.5px; color: var(--v2-muted); line-height: 1.45; overflow: hidden; text-overflow: ellipsis; }
.mh-end { flex: none; font-size: 13px; color: var(--v2-muted); }
.mh-end.orange { color: var(--v2-accent); }
.mh-chev { flex: none; color: var(--v2-dim); display: grid; place-items: center; }
.mh-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--v2-accent); }
.mh-danger .mh-row-txt b { color: #ff8a8a; }
.mh-lite { padding: 6px 16px; }
.mh-lite .lite-row { margin: 0; padding: 10px 0; border: 0; background: none; }
.mh-logout { height: 46px; border-radius: var(--v2-r-md); color: var(--v2-muted); }
.mh-info { padding-bottom: 10px; }
.mh-safe { display: flex; align-items: center; gap: 14px; background: #2dd59c12; border-color: #2dd59c40; }
.mh-safe.warn { background: #ff7a1a12; border-color: #ff7a1a55; }
.mh-safe-ic { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #2dd59c26; color: #2dd59c; }
.mh-safe.warn .mh-safe-ic { background: #ff7a1a26; color: var(--v2-accent); }
.mh-safe b { display: block; font-size: 15px; }
.mh-safe small { display: block; margin-top: 4px; color: var(--v2-muted); font-size: 13px; line-height: 1.5; }
.account-main > .mh-card + .mh-card, .account-main > .panel + .mh-card, .account-main > .mh-card + .btn { margin-top: 16px; }

/* 助记词验证弹窗（10-25）：所有需要助记词的操作统一用它 */
.mn-modal { width: min(520px, calc(100vw - 32px)); }
.mn-modal .mn-intro { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; margin-bottom: 14px; border-radius: var(--v2-r-md); background: #ff7a1a12; border: 1px solid #ff7a1a33; }
.mn-modal .mn-intro p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--v2-muted); }
.mn-modal .mn-intro b { color: var(--v2-text); }
.mn-modal .mn-shield { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #ff7a1a26; color: var(--v2-accent); }
.mn-modal .mn-shield .icon { width: 18px; height: 18px; }
.mn-modal .kv, .mn-modal dl { margin-bottom: 12px; }
.mn-modal .mn-forgot { margin: 10px 0 0; text-align: center; }

@media (max-width: 1100px) { .mh { grid-template-columns: minmax(0, 1fr) 320px; } .mh-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 10px; } }
@media (max-width: 860px) {
  .mh { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .mh-main, .mh-side { gap: 12px; }
}
@media (max-width: 600px) {
  .mh-card { padding: 16px; border-radius: 16px; }
  .mh-head { gap: 12px; }
  .mh-av .mh-avatar { width: 56px; height: 56px; }
  .mh-name b { font-size: 17px; }
  .mh-big { font-size: 28px; }
  .mh-assets-act { width: 100%; }
  .mh-assets-act .btn { flex: 1; }
  .mh-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
  .mh-tiles { padding: 12px 6px; gap: 2px; row-gap: 8px; }
  .mh-tile { font-size: 12px; gap: 6px; }
  .mh-tile-ic .ui-art-icon { width: 42px; height: 42px; }
  .mh-works { grid-auto-columns: 112px; }
  .mh-list { padding: 12px 4px 4px; }
}
.mh-chev .icon, .mh-more .icon, .mh-sec-head a .icon { transform: rotate(-90deg); }
.mh-stats > a, .mh-stats > button { align-items: flex-start; }
.mh-stats b, .mh-stats b * { font-size: 15px !important; font-weight: 700; }
.mh-stats .lg-pct { font-size: 11px !important; font-weight: 600; }
.mh-stats b .green, .mh-stats b .green * { color: var(--v2-green) !important; }
.mh-stats b .red, .mh-stats b .red * { color: var(--v2-red) !important; }

/* 10-25：设置弹窗（「我的」页的账户与安全、帮助项在弹窗里查看和修改） */
.page-modal { width: min(560px, calc(100vw - 32px)); max-height: min(86vh, 860px); display: flex; flex-direction: column; padding-bottom: 8px; }
.page-modal .modal-head { flex: none; gap: 8px; }
.page-modal .modal-head h2 { flex: 1; }
.page-modal .pgm-back { flex: none; width: 34px; height: 34px; padding: 0; margin-left: -6px; border: 0; border-radius: 10px; background: transparent; color: var(--v2-muted); display: grid; place-items: center; cursor: pointer; }
.page-modal .pgm-back:hover { background: #ffffff10; color: var(--v2-text); }
.page-modal .pgm-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: 0 -4px; padding: 0 4px 4px; }
.page-modal .pgm-body > .panel, .page-modal .pgm-body > .mh-card { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0; }
.page-modal .pgm-body > .panel + .panel, .page-modal .pgm-body > .mh-card + .mh-card, .page-modal .pgm-body > .panel + .mh-card, .page-modal .pgm-body > .mh-card + .panel { margin-top: 18px; }
.page-modal .pgm-body > .mh-list { padding: 0; }
.page-modal .pgm-body > .mh-list h2 { padding: 0 4px; }
.page-modal .pgm-body > .mh-list .mh-row { padding: 12px 4px; }
.page-modal .pgm-body > .mh-safe { padding: 14px; border: 1px solid #2dd59c40; background: #2dd59c12; }
.page-modal .pgm-body > .mh-safe.warn { border-color: #ff7a1a55; background: #ff7a1a12; }
.page-modal .narrow-form { max-width: none; }
.page-modal .page-actions { margin-top: 16px; }
@media (max-width: 600px) { .page-modal { width: 100%; max-height: 92vh; } }

/* 角标数字上下居中（10-25） */
.mh-badge { display: grid; place-items: center; height: 20px; min-width: 20px; padding: 1px 5px 0; line-height: 1; box-sizing: border-box; top: -6px; right: -9px; }
/* 设置弹窗不能超出浏览器：全局 .modal-backdrop > .modal 把 max-height 设成了 none，这里要压过它（10-25） */
.modal-backdrop > .modal.page-modal { max-height: min(86vh, 860px) !important; overflow: hidden !important; }
@supports (height: 1dvh) { .modal-backdrop > .modal.page-modal { max-height: min(86dvh, 860px) !important; } }
@media (max-width: 600px) { .modal-backdrop > .modal.page-modal { max-height: calc(100dvh - 32px - env(safe-area-inset-top)) !important; } }
/* 新手教程弹窗：窄一些，课程行紧凑，内容多时在弹窗里上下滑动 */
.page-modal[data-route="help/tutorial"] { width: min(480px, calc(100vw - 32px)); }
.page-modal .guide-entry { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 14px !important; border-radius: var(--v2-r-md); background: #ff7a1a12 !important; border: 1px solid #ff7a1a33 !important; }
.page-modal .guide-entry h2 { font-size: 15px; margin: 0 0 4px; }
.page-modal .guide-entry p { margin: 0; font-size: 13px; line-height: 1.6; }
.page-modal .guide-entry .btn { width: 100%; }
.page-modal .lesson { min-height: 0 !important; padding: 12px !important; margin: 0 0 8px !important; gap: 12px; }
.page-modal .lesson .num { font-size: 18px; min-width: 28px; }
.page-modal .lesson h3 { font-size: 14px; margin: 0 0 2px; }
.page-modal .lesson p { font-size: 12.5px; margin: 0; }
/* 10-25：「我的」页头像的橙色圈和网站其他头像（顶栏、个人中心）一致 */
.mh-av .mh-avatar { border: 0 !important; box-shadow: 0 0 0 2px var(--v2-accent, #ff7a1a), 0 0 12px #ff7a1a40 !important; }
/* 我的作品：名称、价格居中；鼠标放到作品图上轻微放大 */
.mh-work { align-items: center; text-align: center; }
.mh-work span, .mh-work small { max-width: 100%; }
.mh-work-img { display: block; width: 100%; aspect-ratio: 1; border-radius: var(--v2-r-md); overflow: hidden; background: var(--v2-surface-2); }
.mh-work-img img { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; object-fit: cover; transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.mh-work:hover .mh-work-img img { transform: scale(1.06); }
html.pm-lite .mh-work-img img { transition: none; }

/* ───── 10-25「我的」页头部：头像 + 名称一行，用户编号 / 账户地址分成两个带标题的小块，不再三行挤在一起 ───── */
.mh-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 18px; row-gap: 14px; padding: 22px 24px; }
.mh-head .mh-who { gap: 6px; }
.mh-head .mh-name b { font-size: 21px; letter-spacing: -.01em; }
.mh-head .mh-sub { color: var(--v2-muted); font-size: 12.5px; }
.mh-meta { display: flex; gap: 10px; }
.mh-chip { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 150px; padding: 9px 34px 9px 14px; position: relative; border: 1px solid var(--v2-line); border-radius: 12px; background: #ffffff06; color: var(--v2-text); text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.mh-chip:hover { border-color: #ff7a1a66; background: #ff7a1a0d; }
.mh-chip-l { color: var(--v2-muted); font-size: 11.5px; line-height: 1.2; }
.mh-chip-v { font-size: 13.5px; font-weight: 600; line-height: 1.3; letter-spacing: .01em; }
.mh-chip > .icon { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; color: var(--v2-accent, #ff7a1a); }
.mh-head .mh-addr { align-self: auto; padding: 9px 34px 9px 14px; border-radius: 12px; font-size: inherit; color: var(--v2-text); }
.mh-av > span:last-child { bottom: -4px; padding: 1px 7px; font-size: 10px; }
@media (max-width: 760px) {
  .mh-head { grid-template-columns: auto 1fr; padding: 18px 16px 16px; column-gap: 14px; }
  .mh-head .mh-name b { font-size: 18px; }
  .mh-meta { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .mh-chip { min-width: 0; width: 100%; padding: 8px 30px 8px 12px; }
  .mh-chip > .icon { right: 10px; }
  .mh-chip-v { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
}
/* 10-25：去掉用户编号后只剩账户地址一块：手机上也只占一块的宽度，不撑满 */
@media (max-width: 760px) { .mh-head .mh-av { grid-row: 1 / span 2; align-self: center; } .mh-meta { grid-column: 2; grid-template-columns: minmax(0, 1fr); margin-top: -4px; } .mh-meta .mh-chip { width: auto; justify-self: start; min-width: 0; padding: 7px 32px 7px 12px; } }
/* 10-25 手机版「我的」页头部重新排：头像左侧上下居中；右侧第一行名称 + 实名标签，第二行一枚细长的地址胶囊（标题、地址、复制图标一行）；
   去掉和实名标签重复的说明文字，整块更紧凑 */
@media (max-width: 760px) {
  .mh-head { grid-template-columns: 60px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; row-gap: 8px; padding: 16px; align-items: center; }
  .mh-head .mh-av { grid-row: 1 / span 2; align-self: center; }
  .mh-head .mh-av .mh-avatar { width: 60px; height: 60px; }
  .mh-head .mh-av > span:last-child { bottom: -5px; padding: 0 6px; font-size: 9.5px; line-height: 15px; }
  .mh-head .mh-who { grid-column: 2; grid-row: 1; align-self: end; gap: 0; }
  .mh-head .mh-name { gap: 6px; flex-wrap: nowrap; }
  .mh-head .mh-name b { font-size: 18px; min-width: 0; }
  .mh-head .mh-name .tag { flex: none; padding: 2px 8px; font-size: 11px; }
  .mh-head .mh-sub { display: none; }
  .mh-head .mh-meta { grid-column: 2; grid-row: 2; align-self: start; display: flex; margin: 0; }
  .mh-head .mh-meta .mh-chip { flex-direction: row; align-items: center; gap: 6px; min-width: 0; max-width: 100%; padding: 5px 10px; border-radius: 999px; }
  .mh-head .mh-chip-l { font-size: 11.5px; }
  .mh-head .mh-chip-v { font-size: 12.5px; font-weight: 500; color: var(--v2-text); }
  .mh-head .mh-chip > .icon { position: static; transform: none; width: 13px; height: 13px; flex: none; }
}

/* ───── 10-25 助记码：显示（大号等宽、4+4 两段）和输入框 ───── */
.mn-code { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 14px 0 12px; padding: 18px 12px; border-radius: 14px; background: #ff7a1a10; border: 1px dashed #ff7a1a66; }
.mn-code b { display: grid; place-items: center; width: 34px; height: 44px; border-radius: 8px; background: var(--v2-surface-2, #2e2e30); font: 700 24px/1 ui-monospace, "SF Mono", Menlo, Consolas, monospace; color: #fff; letter-spacing: 0; }
.mn-code em { font-style: normal; color: var(--v2-muted); font-size: 22px; margin: 0 4px; }
.mn-input { font: 600 20px/1.2 ui-monospace, "SF Mono", Menlo, Consolas, monospace !important; letter-spacing: .12em; text-align: center; text-transform: none; }
.mn-input::placeholder { font: 400 14px/1.2 var(--v2-font, system-ui); letter-spacing: 0; }
.mn-reveal-card { border-color: #ff7a1a66 !important; background: #ff7a1a0d !important; }
@media (max-width: 420px) { .mn-code { gap: 4px; padding: 14px 6px; } .mn-code b { width: 30px; height: 40px; font-size: 21px; } .mn-code em { margin: 0 2px; } }

/* 10-25：消息中心抽屉、菜单抽屉、弹窗要盖在右侧停靠的聊天窗（#pm-chat 26，遮罩 25）上面；提示条在弹窗上面，内置键盘（60）仍在最上 */
.drawer-backdrop { z-index: 36 !important; }
.drawer { z-index: 37 !important; }
#layer .modal-backdrop { z-index: 40; }
#toasts { z-index: 50; }

/* 10-26：作品卡片按卡片自己的宽度自适应（以前只看窗口宽度：电脑端右侧停靠聊天窗打开后卡片变窄，
   价格右边的折线小图和「24H」标识超出卡片）。价格区允许收缩，卡片窄时折线图缩小，再窄就隐藏 */
.v2-card { container-type: inline-size; }
.v2-card .v2-price { min-width: 0; }
.v2-card .v2-price > div:first-child { min-width: 0; }
.v2-card .v2-price b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-card .v2-price .spark-wrap { flex-shrink: 1; min-width: 0; max-width: 45%; }
.v2-card .v2-price .spark-wrap svg { max-width: 100%; height: auto; }
@container (max-width: 240px) {
  .v2-price b { font-size: 16px; }
  .v2-price .spark { width: 52px; height: 22px; }
  .v2-price .spark-wrap small { font-size: 8px; }
}
@container (max-width: 190px) {
  .v2-price .spark-wrap { display: none; }
}
/* 停靠聊天窗打开、作品区变窄时：列数按可用宽度自动减少（每张卡片至少 190px），不再硬挤 4 列 */
@media (min-width: 900px) { html.pm-chat-docked .art-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); } }
/* 系列封面上传进度（10-31） */
.cover-bar { height: 4px; margin-top: 8px; border-radius: 2px; background: rgba(255,255,255,.1); overflow: hidden; }
.cover-bar[hidden] { display: none; }
.cover-bar i { display: block; width: 0; height: 100%; background: var(--v2-accent, #ff7f1f); transition: width .2s; }
.field label.cover-skip { display: inline-flex !important; align-items: center !important; gap: 8px; min-height: 22px; margin: 4px 0 6px; padding: 0; font-size: 13px; line-height: 20px; cursor: pointer; }
.field .cover-skip input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: none; align-self: center; display: block; width: 20px !important; height: 20px !important; min-height: 0; margin: 0 !important; padding: 0; border: 1.5px solid #ffffff55 !important; border-radius: 6px !important; background: var(--v2-surface-2) !important; cursor: pointer; transition: background .15s, border-color .15s; }
.field .cover-skip input[type="checkbox"]:checked { border-color: var(--v2-accent) !important; background: var(--v2-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat !important; }
#sa-cover-box[hidden] { display: none; }
/* 未发售作品：按钮和下面的规则说明留出间距（11-01） */
.hint.intent-rule { margin-top: 14px; }
/* 创作者安排发售（11-01） */
.cw-release .cw-rel-work { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; } .cw-rel-work img { width: 56px; height: 56px; flex: none; border-radius: 10px; object-fit: cover; } .cw-rel-work small { display: block; }
.cw-rel-opt { display: flex; align-items: center; gap: 10px; padding: 12px; margin-bottom: 8px; border-radius: 12px; background: var(--v2-surface-2); cursor: pointer; } .cw-rel-opt input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--v2-accent); } .cw-rel-opt small { display: block; font-size: 12px; } .cw-rel-opt b { font-weight: 600; }
.cw-rel-pick { margin-top: 4px; } .cw-rel-pick[hidden] { display: none; }
.cw-days { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; } .cw-days::-webkit-scrollbar { display: none; }
.cw-day { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; width: 62px; height: 54px; border: 1px solid transparent; border-radius: 12px; background: var(--v2-surface-2); color: var(--v2-text); font: inherit; cursor: pointer; transition: background .15s, border-color .15s; } .cw-day b { font-size: 13px; font-weight: 600; } .cw-day small { font-size: 11px; color: var(--v2-muted); } .cw-day.on { background: var(--v2-accent-soft); border-color: #ff7a1a80; } .cw-day.on b, .cw-day.on small { color: var(--v2-accent-hi); }
.cw-time { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; background: var(--v2-surface-2); } .cw-time span { flex: 1; font-size: 13px; color: var(--v2-muted); } .cw-time i { font-style: normal; color: var(--v2-muted); } .cw-time .pm-select, .cw-time select { flex: none; width: 76px; min-width: 0; } .cw-time .pm-select-btn { color: var(--v2-text) !important; height: 36px !important; min-height: 0 !important; padding: 0 10px !important; font-size: 15px !important; font-weight: 600; font-variant-numeric: tabular-nums; }
#cw-rel-sum { display: block; margin-top: 8px; font-size: 12px; color: var(--v2-accent-hi); }
/* 创作者金色徽章（11-01） */
.creator-badge { display: inline-block; flex: none; width: 18px; height: 18px; margin-left: 5px; vertical-align: -3px; filter: drop-shadow(0 0 4px #f6c34366); }
.creator-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 3px 0 8px; border-radius: 6px; background: #f6c3431f; color: #f6c343; font-size: 12px; font-weight: 600; } .creator-tag .creator-badge { width: 16px; height: 16px; margin-left: 3px; }
.cw-rel-price { margin-bottom: 10px; }
/* 电脑端创作者页不显示返回按钮（11-01） */
@media (min-width: 761px) { .crumb-noback .back-btn { display: none; } }
/* 创作者作品卡片（11-02） */
.cw-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.cw-card { display: flex; flex-direction: column; gap: 14px; padding: 16px; border-radius: 16px; background: var(--v2-surface); border: 1px solid #ffffff0d; }
.cw-top { display: flex; align-items: center; gap: 14px; min-width: 0; } .cw-thumb { flex: none; display: grid; place-items: center; width: 76px; height: 76px; border-radius: 12px; object-fit: cover; background: var(--v2-surface-2); opacity: 1 !important; filter: none !important; }
.cw-title { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; } .cw-title b { max-width: 100%; font-size: 16px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .cw-title small { font-size: 12px; }
.cw-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 12px; border-radius: 12px; background: var(--v2-surface-2); } .cw-facts dt { color: var(--v2-muted); font-size: 12px; } .cw-facts dd { margin: 2px 0 0; font-size: 14px; font-weight: 600; } .cw-facts dd small { display: block; font-size: 11px; font-weight: 400; }
.cw-note { margin: 0; color: var(--v2-muted); font-size: 13px; } .cw-ops { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; } .cw-ops .btn { flex: 1 1 auto; min-width: 88px; }
.cw-confirm { max-width: 400px; } .cw-confirm .muted { margin: 0 0 8px; line-height: 1.7; }
@media (max-width: 760px) { .cw-list { grid-template-columns: minmax(0, 1fr); } }
/* 11-08 #88 创作者头像可单独更换 */
.cr-av-btn { position: relative; display: grid; justify-items: center; gap: 2px; padding: 0; border: 0; background: none; color: var(--v2-muted, #8e8e93); font: inherit; font-size: 11px; cursor: pointer; } .cr-av-btn:hover small { color: #ff9d3f; }
/* 11-08 #99 订单状态插图 */
.order-art-ic { background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; } .order-art-cell { display: inline-flex; align-items: center; gap: 8px; } .order-art { flex: none; }
/* 11-08 #103 网慢提示 */
#pm-netbar { position: fixed; z-index: 9999; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, #ff7a1a, #ffb36b); box-shadow: 0 0 8px #ff7a1a; opacity: 0; transition: width 6s cubic-bezier(.2,.8,.2,1), opacity .2s; pointer-events: none; }
#pm-netbar.on { width: 85%; opacity: 1; }
#pm-netslow { position: fixed; z-index: 9999; left: 50%; bottom: calc(96px + env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(92vw, 380px); padding: 12px 14px; border-radius: 12px; border: 1px solid #5a3714; background: #2c2620; color: #f2f2f2; display: none; box-shadow: 0 10px 30px #0008; }
#pm-netslow.on { display: grid; gap: 4px; } #pm-netslow small { color: #9a9aa0; font-size: 12.5px; } #pm-netslow a { color: #ff9d3f; font-weight: 700; }
.pm-busy { position: relative; pointer-events: none; opacity: .85; } .pm-busy::after { content: ''; display: inline-block; width: 13px; height: 13px; margin-left: 8px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pmSpin .8s linear infinite; } @keyframes pmSpin { to { transform: rotate(360deg); } }
/* 11-09 #122 订单状态图标动效 */
.oa { position: relative; display: inline-grid; place-items: center; flex: none; }
.oa-match::before, .oa-match::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #ff7a1a66; animation: oaRipple 2.2s ease-out infinite; } .oa-match::after { animation-delay: 1.1s; border-color: #ff7a1a44; }
.oa-wait svg { animation: oaBob 2.4s ease-in-out infinite; } .oa-wait .oa-d1, .oa-wait .oa-d2, .oa-wait .oa-d3 { animation: oaDot 1.5s linear infinite; } .oa-wait .oa-d2 { animation-delay: .25s; } .oa-wait .oa-d3 { animation-delay: .5s; }
.oa-done svg { animation: oaPop .6s cubic-bezier(.2,.9,.3,1.3) both; }
@keyframes oaRipple { 0% { opacity: .55; transform: scale(.55); } 100% { opacity: 0; transform: scale(1.25); } }
@keyframes oaBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes oaDot { 0%, 20% { opacity: .15; } 35%, 80% { opacity: 1; } 100% { opacity: .15; } }
@keyframes oaPop { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .oa-match::before, .oa-match::after, .oa-wait svg, .oa-wait circle, .oa-done svg { animation: none; } }
/* 11-09 #124 暂无进行中订单的空状态 */
.oa-empty { display: grid; justify-items: center; gap: 8px; padding: 10px 0 6px; } .oa-empty .tray-doc { animation: oaTray 3s ease-in-out infinite; } .oa-empty .tw1 { animation: oaTw 2s ease-in-out infinite; } .oa-empty .tw2 { animation: oaTw 2s ease-in-out 1s infinite; }
@keyframes oaTray { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } } @keyframes oaTw { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
/* 11-09 #126 作品介绍 | 系列介绍 页签 */
.intro-tabs .it-head { display: flex; gap: 22px; border-bottom: 1px solid #ffffff14; margin-bottom: 12px; }
.intro-tabs .it-head button { padding: 0 0 8px; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--v2-muted, #8e8e93); font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.intro-tabs .it-head button.on { color: #ff9d3f; border-bottom-color: #ff7a1a; font-weight: 800; }
.intro-tabs .it-body p { margin: 6px 0; line-height: 1.75; } .intro-tabs .it-body b { font-size: 15px; }
/* 11-09 #125 / #141 智慧中枢估算：放在参考价格卡片下半部分，细线隔开 */
.brain-est { margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid #ffffff14; display: grid; gap: 11px; }
.brain-est .be-head { display: flex; align-items: center; gap: 8px; } .brain-est .be-head b { font-size: 14px; }
.brain-est .be-tag { font-size: 11px; color: var(--muted); padding: 2px 7px; border-radius: 5px; background: #ffffff10; }
.brain-est .be-info { margin-left: auto; width: 20px; height: 20px; padding: 0; border-radius: 50%; border: 1.4px solid var(--muted); color: var(--muted); font: 800 11px/1 Arial, sans-serif; }
.brain-est .be-range { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; } .brain-est .be-range strong { font-size: 19px; color: #fff; }
.brain-est .be-chance { display: grid; gap: 10px; }
.brain-est .be-row { display: flex; justify-content: space-between; margin-bottom: 5px; font-size: 13px; color: #c8c8cd; } .brain-est .be-row em { font-style: normal; font-size: 12.5px; color: var(--muted); }
.brain-est .be-bar i { display: block; height: 6px; border-radius: 3px; background: #ffffff12; overflow: hidden; }
.brain-est .be-bar s { display: block; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #ef7368, #ffb36b 50%, #2dd59c); text-decoration: none; }
.brain-est .be-r { color: #ef7368; } .brain-est .be-o { color: #ffb36b; } .brain-est .be-g { color: #2dd59c; }
.brain-est .be-recent b { font-size: 15px; color: #fff; } .brain-est .be-chip { font-size: 11.5px; padding: 1px 8px; border-radius: 999px; background: #ffffff10; color: #c8c8cd; }
.brain-est .be-why { margin: -2px 0 0; font-size: 12.5px; line-height: 1.6; color: #c8c8cd; }
.brain-est .be-target { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border-radius: 10px; background: #2dd59c14; border: 1px solid #2dd59c33; color: #c8f5e3; font-size: 13px; text-align: left; white-space: normal; cursor: pointer; }
.brain-est .be-target b { color: var(--green); } .brain-est .be-target span { flex: 1; } .brain-est .be-target em { font-style: normal; font-weight: 700; color: var(--green); white-space: nowrap; }
.brain-est small { font-size: 11px; line-height: 1.6; }
/* 11-09 #142 电脑网页作品详情：右边信息栏缩窄、作品图放大；作品图边长按右栏高度算，上下沿对齐（作品完整显示不裁切，存证标签仍在大图正下方）；
   「分享」和手机一样只显示图标、放在同一行 */
@media (min-width: 721px) {
  .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; }
  .detail-grid .detail-info > .actions .share-btn { flex: 0 0 48px !important; width: 48px !important; max-width: 48px; align-self: stretch; padding: 0; font-size: 0; line-height: 0; gap: 0; display: flex; align-items: center; justify-content: center; }
  .detail-grid .detail-info > .actions .share-btn .icon { width: 21px; height: 21px; margin: 0; stroke-width: 2; }
  .detail-grid .detail-price { margin: 18px 0; }
}
}
.brain-est .be-sk { display: block; height: 14px; border-radius: 6px; background: linear-gradient(90deg, #ffffff0a 25%, #ffffff16 50%, #ffffff0a 75%); background-size: 200% 100%; animation: cm-sk 1.3s ease-in-out infinite; } .brain-est .be-sk.w2 { width: 60%; height: 20px; }
@keyframes cm-sk { from { background-position: 100% 0; } to { background-position: -100% 0; } }
/* 11-09 #142（按 18:3x 要求回滚左边，只改右栏）：电脑网页（≥1101 宽）右边信息栏和左边作品图一样高。
   右栏内容压缩：价格和智慧中枢左右并排；去掉和标题重复的「作品编号」、和图上角标重复的「状态」；区块地址一行；介绍最多两行。
   右栏高度由作品图决定（contain: size），内容放不下时右栏长高 */
@media (min-width: 1101px) {
  .detail-grid > .detail-info { contain: size; overflow: hidden; justify-content: flex-start; } /* 11-09 #151：不在右栏里滚动（放不下时由 js 加 .grow 让右栏长高） */
  .detail-grid > .detail-info > h1 { margin-top: 0; font-size: 32px; }
  .detail-grid > .detail-info > .label { display: none; }
  .detail-grid > .detail-info > .creator, .detail-grid > .detail-info > .creator-card { margin-top: 8px; }
  .detail-grid .detail-price { margin: 14px 0; padding: 18px 20px; }
  /* 智慧中枢紧凑版：概率条一行（名称 | 条 | 百分比），免责声明放进 ⓘ 介绍里 */
  .detail-grid .detail-price > .brain-est { margin-top: 12px; padding-top: 12px; gap: 7px; }
  .detail-grid .brain-est .be-range strong { font-size: 17px; } .detail-grid .brain-est .be-recent b { font-size: 14px; }
  .detail-grid .brain-est .be-why { font-size: 12px; }
  .detail-grid .brain-est .be-chance { gap: 6px; } .detail-grid .brain-est .be-chance > .label { display: none; }
  .detail-grid .brain-est .be-bar { display: grid; grid-template-columns: minmax(0, auto) minmax(60px, 1fr) 56px; align-items: center; column-gap: 10px; }
  .detail-grid .brain-est .be-bar .be-row { display: contents; } .detail-grid .brain-est .be-bar .be-row > span { grid-column: 1; grid-row: 1; font-size: 12.5px; white-space: nowrap; } .detail-grid .brain-est .be-bar .be-row > b { grid-column: 3; grid-row: 1; text-align: right; font-size: 13px; } .detail-grid .brain-est .be-bar > i { grid-column: 2; grid-row: 1; }
  .detail-grid .brain-est .be-target { padding: 8px 12px; font-size: 12.5px; }
  .detail-grid .brain-est > small:last-child { display: none; }
  .detail-grid .detail-price .price { font-size: 36px; margin: 6px 0; }
  .detail-grid > .detail-info > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 12px; }
  .detail-grid > .detail-info > .kv { display: flex; gap: 28px; } .detail-grid > .detail-info > .kv .kv-item:nth-child(2) { display: none; } .detail-grid > .detail-info > .kv .kv-item { padding: 4px 0; }
  .detail-grid .artwork-chain-address { display: flex; gap: 10px; align-items: baseline; white-space: nowrap; overflow: hidden; } .detail-grid .artwork-chain-address .hash { overflow: hidden; text-overflow: ellipsis; }
  .detail-grid .intro-tabs { margin-top: 12px; } .detail-grid .intro-tabs .it-body p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 4px 0 0; }
  .detail-grid > .detail-info > .actions { margin-top: auto; padding-top: 12px; }
}
@media (min-width: 1101px) {
  .detail-grid > .detail-info { padding-top: 28px; padding-bottom: 0; }
  .detail-grid > .detail-info > h1 { margin-bottom: 4px; }
  .detail-grid > .detail-info > .kv { margin: 0; } .detail-grid > .detail-info > .kv .kv-item { display: flex; gap: 10px; align-items: baseline; } .detail-grid > .detail-info > .kv .kv-item label { margin: 0; }
  .detail-grid .artwork-chain-address { margin: 4px 0 0; padding: 6px 0; }
  .detail-grid .intro-tabs { padding: 12px 16px; } .detail-grid .intro-tabs .it-head { margin-bottom: 6px; } .detail-grid .intro-tabs .it-body b { font-size: 13.5px; }
  .detail-grid > .detail-info > .kv, .detail-grid > .detail-info > .artwork-chain-address { display: none; }
  .detail-grid .own-meta { display: flex; align-items: baseline; gap: 10px; white-space: nowrap; overflow: hidden; font-size: 13px; margin: 2px 0 0; }
  .detail-grid .own-meta b { margin-right: 14px; } .detail-grid .own-meta .hash { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  .detail-grid .intro-tabs { margin-top: 10px; padding: 10px 14px; } .detail-grid .intro-tabs .it-body > b { display: none; } .detail-grid .intro-tabs .it-body p, .detail-grid .intro-tabs .it-body small { -webkit-line-clamp: 1; }
  .detail-grid > .detail-info > h1 { font-size: 30px; } .detail-grid > .detail-info > .creator { margin-top: 4px; }
  .detail-grid .detail-price { margin: 10px 0; } .detail-grid .detail-price .price { font-size: 32px; margin: 4px 0; }
  .detail-grid > .detail-info > .actions { padding: 10px 0 22px; }
}
.own-meta { display: none; }
@media (min-width: 1101px) {
  /* 价格和涨跌 / 参考收益放在同一行；智慧中枢标题和区间合成一行 */
  .detail-grid .detail-price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 14px; }
  .detail-grid .detail-price > * { flex: 0 0 auto; } .detail-grid .detail-price > .label:first-child, .detail-grid .detail-price > .brain-est, .detail-grid .detail-price > .order-timer, .detail-grid .detail-price > div:not(.price):not(.detail-gain):not(.listing-ref), .detail-grid .detail-price > p, .detail-grid .detail-price > .hint { flex-basis: 100%; }
  .detail-grid .detail-price .detail-gain { display: flex; gap: 8px; align-items: baseline; }
  .detail-grid .creator .cr-av, .detail-grid .creator img { width: 38px; height: 38px; }
  .detail-grid .brain-est .be-head { flex-wrap: wrap; } .detail-grid .brain-est .be-head + .be-range { margin-top: -2px; }
  .detail-grid > .detail-info.grow { contain: none; overflow: visible; }
}
@media (min-width: 1101px) {
  .detail-grid > .detail-info { padding-top: 24px; }
  .detail-grid .intro-tabs { margin-top: 6px; padding: 8px 14px; } .detail-grid .intro-tabs .it-head button { padding-bottom: 5px; }
  .detail-grid > .detail-info > .actions { padding: 8px 0 18px; }
  .detail-grid .brain-est { gap: 6px; } .detail-grid .detail-price { padding: 14px 18px; }
}
.detail-grid .brain-est .be-why, .brain-est .be-why { margin: 0 !important; line-height: 1.5 !important; display: block; }
/* 11-09 #149 手机网页作品详情：持有者和创作者做成同样的卡片，两个头像同样大小、左边对齐 */
@media (max-width: 720px) {
  .detail-info > .creator:has(+ .creator-card) { display: grid !important; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; align-items: center; justify-items: start; text-align: left; margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--v2-surface-3, #2a2a2e); border-radius: 14px; background: var(--v2-surface, #1c1c1f); }
  .detail-info > .creator:has(+ .creator-card) .holder-id { display: contents !important; }
  .detail-info > .creator:has(+ .creator-card) .cr-av { grid-column: 1; grid-row: 1 / 3; margin: 0 !important; }
  .detail-info > .creator:has(+ .creator-card) .cr-av, .detail-info > .creator:has(+ .creator-card) .cr-av img, .detail-info > .creator:has(+ .creator-card) .cr-av svg { width: 44px !important; height: 44px !important; }
  .detail-info > .creator:has(+ .creator-card) > .muted { grid-column: 2; grid-row: 1; font-size: 11px; margin: 0; order: 0; }
  .detail-info > .creator:has(+ .creator-card) .holder-name { grid-column: 2; grid-row: 2; font-size: 15px; font-weight: 700; margin: 0; }
  .detail-info > .creator + .creator-card { margin-top: 8px; }
}
/* 11-09 #153 电脑网页在售作品：出售价那一块和「出售撮合倒计时」放在同一条水平线上（左价格、右倒计时） */
@media (min-width: 1101px) {
  .detail-grid .detail-price.listing-price { justify-content: space-between; align-items: center; }
  .detail-grid .detail-price.listing-price > div:first-child { flex: 1 1 auto !important; min-width: 0; }
  .detail-grid .detail-price.listing-price > .order-timer { flex: 0 0 auto !important; margin: 0; align-self: center; }
}
/* 11-09 #148 方案 A：持有成本 / 参考收益放进参考价格卡片，在价格右边的小信息块里上下对齐 */
.detail-price.owned-price { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.detail-price.owned-price > .op-main { flex: 1 1 auto !important; min-width: 0; }
.detail-price.owned-price > .op-stats { flex: 0 0 auto !important; display: grid; grid-template-columns: auto auto; gap: 6px 18px; align-items: baseline; padding: 12px 16px; border-radius: 12px; background: #ffffff08; border: 1px solid #ffffff10; }
.detail-price.owned-price > .op-stats > b { font-size: 16px; text-align: right; color: #fff; }
.detail-price.owned-price .op-gain { text-align: right; } .detail-price.owned-price .op-gain > span { display: inline-flex; align-items: baseline; gap: 6px; }
.detail-price.owned-price .op-gain .lg-abs { font-size: 16px; } .detail-price.owned-price .op-gain .lg-pct { font-size: 12px; padding: 1px 7px; border-radius: 6px; background: currentColor; } .detail-price.owned-price .op-gain .lg-pct { background: none; border: 1px solid currentColor; opacity: .9; }
.detail-price.owned-price > .brain-est { flex: 0 0 100% !important; }
.detail-info:has(.op-stats) > .kv .kv-item:first-child { display: none; }
/* 11-09 #148 微调：持有成本和参考收益的金额左对齐成一列；区块地址和价格卡片里的文字左边对齐 */
.detail-price.owned-price > .op-stats > b, .detail-price.owned-price .op-gain { text-align: left; justify-self: start; }
@media (min-width: 1101px) { .detail-grid .own-meta { padding-left: 23px; } .detail-grid .intro-tabs { margin-left: 0; } }
.brain-est .be-cur .be-row > span { color: #fff; font-weight: 700; }
@media (min-width: 1101px) { .detail-grid .brain-est .be-bar { grid-template-columns: 124px minmax(60px, 1fr) 56px; } } /* 11-09 #143 三条概率条左端对齐 */
@media (min-width: 1101px) { .detail-grid > .detail-info > * { flex-shrink: 0; } } /* 11-09 #148：内容放不下时不压扁某一行（区块地址曾被压成 0 高），交给 .grow 让右栏长高 */
/* 11-11 #170 手机网页键盘上方的输入预览条 */
.kb-preview { position: fixed; left: 0; right: 0; height: 48px; z-index: 9999; display: none; align-items: center; gap: 10px; padding: 0 12px; background: #232325; border-top: 1px solid #ffffff14; box-sizing: border-box; }
.kb-preview.on { display: flex; }
.kb-preview .kb-l { color: #8e8e93; font-size: 12px; max-width: 30%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kb-preview .kb-v { flex: 1; min-width: 0; height: 34px; line-height: 32px; border-radius: 8px; border: 1px solid #ff7a1a; background: #2a2a2c; padding: 0 10px; color: #fff; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: rtl; text-align: left; unicode-bidi: plaintext; }
.kb-preview .kb-v.empty { color: #8e8e93; }
.kb-preview .kb-done { border: 0; background: none; color: #ff9d3f; font-weight: 700; font-size: 14px; padding: 0 2px; }
/* 11-11 #175：创作者身份卡——标识和名字同一行、靠右 */
.creator-identity .ci-main { flex: 1; min-width: 0; }
.creator-identity .ci-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.creator-identity .ci-top b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.creator-identity .ci-top > :not(b) { flex: none; margin-left: auto; }
/* 11-11 #177：禁止双击放大——以前只写在 html 上，但 touch-action 只对到最近的滚动区域为止，
   弹窗、横向滑动的标签行、侧栏这些可滚动区域里双击仍会放大。改成每个元素默认都关掉（:where 不加优先级，单独写了 pan-x / pan-y / none 的照旧） */
:where(*) { touch-action: manipulation; }
/* 11-11 #182：关于 / 常见问题 */
.help-tabs { margin: 0 0 14px; }
.panel.article ul { padding-left: 1.2em; line-height: 1.9; }
.faq-plain .faq > p { margin-left: 0; font-size: 14px; line-height: 1.75; }
/* 11-12 #205：短句整体换行，手机上不再剩一个「值。」单独一行 */
.nobr { display: inline-block; }
/* 11-12 #206：手机上 iOS / Android 下载按钮等宽排列（以前宽度随文字变化，看起来没对齐） */
@media (max-width: 600px) { .v2-app .actions { display: grid; grid-template-columns: 1fr; gap: 10px; width: 100%; max-width: 320px; } .v2-app .actions .btn { width: 100%; justify-content: center; } }
/* 11-12 #207：全站最小字号 10px（手机 10.5px）；以前角标、走势图坐标、小标注有 8–9px，手机上看不清 */
.spark-wrap small, .v2-price .spark-wrap small, .home-grid .creator span small, .hot-marquee .creator span small, .new-tag { font-size: 10px !important; }
@media (max-width: 600px) {
  .chart-wrap > span, .art-top .hold-badge, .price-row small, .stat small, .chart-tabs span, .table-wrap.compact th, .drawer .sidebar .group,
  .quote-reference small span, .address-pair small, .liquidity-badge, .result-timer small, .spark-wrap small, .v2-price .spark-wrap small { font-size: 10.5px !important; }
}
/* 11-12 #208：电脑版作品详情——右侧卡片按内容高度显示，操作按钮紧跟内容（以前固定在底部和大图对齐，描述短时中间空一大块）；
   交易记录里「作品系列」「编号」每行都一样（就是这件作品），电脑上也和手机一样不显示 */
/* 11-13 老板要求回滚：右栏仍和左边作品图底部对齐 */
[data-trades] .trade-detail-table th:nth-child(2), [data-trades] .trade-detail-table th:nth-child(3),
[data-trades] .trade-detail-table td:nth-child(2), [data-trades] .trade-detail-table td:nth-child(3) { display: none; }
/* 11-12 #215：空状态放在已有卡片里时不再套第二层卡片框 */
.panel .empty-state.panel, .v2-panel .empty-state.panel, section .cp-list .empty-state.panel { background: none !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 20px 12px !important; }

/* #230 单件作品行情：缩略图边框随原图比例。 */
@media (min-width: 601px) {
  .market-work-title .identity-thumbnail { width: auto; height: auto; max-width: 106px; max-height: 106px; }
}

/* 最新成交 NEW 退场后，时间再淡入，避免同时挤在一行。 */
.tt-row.fresh .tt-time [data-ago] { display: none; }
.tt-time [data-ago] { animation: tt-time-reveal .45s ease-out both; }
@keyframes tt-time-reveal { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tt-time [data-ago] { animation: none; } }
