/* ===== 档位切换（珠宝 / 配饰）=====
   两个档位只是同一份数据的两种 band：料盘、分类、收藏、画布全部共用，
   差别只在货品从哪来（categories.band = jewelry / accessory）。

   实现上把 .ed-bottom 从「左右两栏」改成「上面一条档位 + 下面左右两栏」，
   原来那条 flex-direction:row 在 26-editor-disabled.css 里，选择器权重相同（都只有一个类），
   本文件排在它之后加载，所以这里能直接覆盖。 */
.ed-bottom{flex-direction:column;}
.ed-bottom-row{flex:1 1 0;min-height:0;display:flex;flex-direction:row;}

/* 档位条：两个按钮外面包一圈胶囊。
   不改 HTML —— 胶囊就是 .ed-bands 本身（它原来只当一条留白的横带用），
   align-self:flex-start 让胶囊只占内容宽，右边露出 .ed-bottom 的白底，
   不会像通栏那样把「珠宝 / 配饰」两个字晾在左边一大片空白里。 */
.ed-bands{
  flex:0 0 auto;align-self:flex-start;
  display:flex;align-items:center;gap:2px;
  /* 下面留 8px：否则胶囊底边会正好压住左边分类栏 .ed-cats 的 border-right 竖线顶端（看着「贴在一起」） */
  margin:8px 14px 8px;padding:3px;
  border-radius:999px;background:var(--bg-2);border:1px solid var(--line-2);
}
/* 胶囊里的两段：各自不再描边，靠选中那一格的底色区分 */
.ed-bands button{
  flex:0 0 auto;height:25px;padding:0 16px;border-radius:999px;
  font-size:11.5px;letter-spacing:.1em;color:var(--muted);
  background:transparent;border:0;transition:.2s;
}
.ed-bands button.on{
  color:#fff;font-weight:600;
  background:var(--gold-dark);
}
.ed-bands button:active{transform:scale(.96);}
/* 接口里还没有配饰数据时，「配饰」置灰（点了会给提示，不会切到一个空档位） */
.ed-bands button.off{opacity:.4;}

/* 料盘是 repeat(3,1fr) 的格子，格子里的卡片默认 min-width:auto（不许被压到比内容还窄）。
   配饰卡片那行小字是「不换行 + 省略号」的规格原文，内容一长就把整列撑开 —— 一行就放不下 3 个。
   放开压缩（min-width:0），省略号才真的生效，一行稳稳 3 个。 */
.bcard{min-width:0;}

/* 珠宝每款三个珠径（8 / 10 / 12），圆点尺寸跟着 [data-size] 走（34-editor-fav-star.css）；
   配饰每款只有一个尺寸（库里的 size_mm，4~20），落不到那三条规则上，这里补一个默认值。 */
.bcard .orb{width:32px;height:32px;}

/* 配饰卡片那行小字写的是规格原文（如「适合6mm及以上珠子」），太长就省略 */
.bcard .mt{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* 挂件不是圆珠，配饰主图的尺寸也跟珠宝不是一回事，这里要纠正三处：
   ① 主图长宽不一（744 张里约一半竖版、两成方图、三成横版，最窄的到 1:5.9），
      套用圆珠那样 `cover` 裁进小圆，竖图就只剩中间一条 —— 改成 `contain`，整张都看得到；
   ② 配饰的 size_mm 有 4~20 共 17 档，其中 8 / 10 / 12 三档会撞上珠宝那三条
      `[data-size]` 圆点尺寸规则（275 款，占配饰 37%），同一盘里一会儿 26px 一会儿 38px ——
      所以这里把配饰的框固定成 32×32（写死宽高，盖过那三条），不再跟着 size_mm 变；
   ③ 主图是「透明 PNG」（透明区已镂空），所以**不能再给它垫底色 / 描边 / 裁圆角** ——
      否则透明区外面又冒出一个方块。`.orb` 基础规则里的 background-color / 圆角 / 投影一律撤掉。
   .fv-beads 那条是「珠宝」页签里的同一张卡（21-fav-tabs.css 有 [data-size="10"] 的圆点尺寸）。 */
.bcard[data-band="accessory"] .orb,
.fv-beads .bcard[data-band="accessory"] .orb{
  width:32px;height:32px;
  background-color:transparent;background-size:contain;background-repeat:no-repeat;background-position:center;
  border-radius:0;box-shadow:none;
}
/* 用料清单 / 下单页用料行里那些「自己带 data-band」的小缩略图：只纠正摆法，不动它们各自的尺寸 */
.orb[data-band="accessory"]{
  background-color:transparent;background-size:contain;background-repeat:no-repeat;background-position:center;
  border-radius:0;box-shadow:none;
}

/* 配饰详情图（720px 方图）：比主图那档放大一些，长按看的时候才看得清 */
.bs-fig.is-detail img{max-width:76%;max-height:30vh;}

/* ===== 料盘搜索 + 放大（R44 建、R45 改版）=====
   DOM 由 js/68 注入（index.html 一行不动）：
   · .ed-search 绝对定位在 .ed-bottom 里、紧挨档位胶囊右边（左边缘由 js/68 量胶囊实测宽度写进 style，
     量不到时才用下面那个兜底值）；
   · .ed-zoom-btn 是**独立**的圆圈，钉在 .ed-bottom 最右；
   · 点它不给 .ed-bottom 换 DOM，只加一个 .lifted —— 整条底栏（左边分类栏 + 中间搜索框 + 这个圆圈）
     一起抬到 2/3 高。原来那套「从下往上拉满全屏」的 .ed-zoom-panel 已在 R45 整个删掉。 */

/* 给绝对定位的搜索框 / 放大圆圈当参照（原来是 static）。原来那条 flex-direction:column 在本文件上面，不受影响 */
.ed-bottom{position:relative;}

/* 放大＝整条底栏往上抬：底栏 flex-grow 1 → 2，占 2/3；上面 .ed-stage 也是 flex:1 1 0，
   于是画布剩 1/3 —— 画布仍整块看得见，不是新开一页、也没盖满全屏。
   ⚠️ 不要加 transition：底栏一变高，.ed-stage 跟着变矮，js/13 的 ResizeObserver 就重设画布后备缓冲；
      逐帧过渡等于每帧重分配一次画布，会很卡。 */
.ed-bottom.lifted{flex-grow:2;}

/* 搜索胶囊：放大镜图标 + 输入框（放大按钮已独立出去，见下） */
.ed-search{
  position:absolute;top:8px;left:132px;right:60px;z-index:3;   /* left 会被 js/68 按胶囊实测位置改写 */
  box-sizing:border-box;
  display:flex;align-items:center;gap:6px;
  min-width:96px;height:31px;
  padding:0 10px;
  border-radius:999px;background:var(--bg-2);border:1px solid var(--line-2);
}
.ed-search .srch-ic{flex:0 0 auto;width:14px;height:14px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;}
.ed-search input{
  flex:1 1 auto;min-width:0;height:100%;border:0;outline:none;background:transparent;
  font-size:12px;color:var(--ink);letter-spacing:.02em;
}
.ed-search input::placeholder{color:var(--muted-2);}
.ed-search input::-webkit-search-cancel-button{display:none;}   /* 自带的清除叉会和输入内容挤在一起，去掉 */

/* 放大圆圈：独立一个 38×38 的圆钉在最右；top 5 让圆心和 31px 高的胶囊同一水平线 */
.ed-zoom-btn{
  position:absolute;top:5px;right:14px;z-index:3;
  width:38px;height:38px;border-radius:50%;border:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold-dark);box-shadow:0 4px 12px -7px rgba(0,0,0,.55);
  transition:transform .16s,background .22s;
}
.ed-zoom-btn svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;}
.ed-zoom-btn:active{transform:scale(.9);}
/* 抬起中：换个底色，一眼看出还开着，再点一下就落回去 */
.ed-zoom-btn.on{background:var(--ink);}

/* 品类大全那条搜索（R57 ①）：跟编辑器**同款样式**，但它**没有放大钮**，
   所以右边缘不留给那个 38px 的圆圈 —— 一直铺到胶囊右边距那 14px 为止。
   上下位置/高度沿用 .ed-search（top:8px;height:31px），与它自己那条档位胶囊同高。 */
#ctSearch{right:14px;}


/* ===== 手机壳链编辑器（R58 从站长给的「手机链参考」整块移植）=====
   手机链是独立一整页（overlay），层级夹在品类大全(140) 与提交订单(160) 之间（145）：
   打开时从下往上推上来，关掉再滑回去 —— 与其它浮层同一套动效。
   DOM 由 js/68 注入（index.html 一行不动）；下面这段 ch-* / cz-* 是手机链专属，
   跟 DIY 编辑器互不影响；.ed-top / .ed-stats / .ed-tools / .ed-note / .ed-toolbox /
   .ed-bottom / .ed-bottom-row / .ed-cats / .ed-ware / .ed-tray / .sheet-mask 等
   一律复用编辑器与弹窗已有的样式。 */
#chain{
  position:absolute;inset:0;z-index:145;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fdfbf7 0%, #ffffff 42%);
  transform:translateY(100%);
  transition:transform .34s cubic-bezier(.22,1,.36,1);
  padding-top:12px; /* 与 .statusbar 高度一致（css/02） */
  touch-action:manipulation;
}
#chain.open{transform:translateY(0);}

/* ===== 手机壳链编辑器 ===== */
.ch-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;}
.ch-stage{
  position:relative;flex:1 1 0;min-height:0;overflow:hidden;
  user-select:none;-webkit-user-select:none;
  background:radial-gradient(70% 55% at 50% 40%, rgba(196,161,90,.08) 0%, rgba(196,161,90,0) 72%);
}
#chCanvas{position:relative;display:block;width:100%;height:100%;touch-action:none;cursor:default;}
/* 左下角：链型 / 挂点 两组胶囊 */
.ch-ctrl{position:absolute;left:12px;bottom:12px;width:132px;display:flex;flex-direction:column;gap:8px;}
.ch-ctrl .glab{font-size:9.5px;letter-spacing:.12em;color:var(--muted-2);padding-left:2px;margin-bottom:3px;}
.ch-seg{
  display:flex;padding:2px;border-radius:999px;
  background:rgba(255,255,255,.9);border:1px solid var(--line-2);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 4px 14px -10px rgba(0,0,0,.4);
}
.ch-seg button{
  flex:1;padding:5px 0;border-radius:999px;font-size:10.5px;letter-spacing:.02em;
  color:var(--muted);background:transparent;transition:.2s;white-space:nowrap;
}
.ch-seg button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.12);}
/* 右侧数据栏里的「摊开看搭配 / 放大看」 */
.ch-statbtns{
  display:flex;flex-direction:column;gap:5px;width:100%;margin-top:3px;
  pointer-events:auto;
}
.ch-sbtn{
  width:100%;padding:5px 0;border-radius:999px;font-size:10px;letter-spacing:.04em;
  text-align:center;color:var(--ink-2);
  background:rgba(255,255,255,.9);border:1px solid var(--line-2);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 4px 14px -10px rgba(0,0,0,.4);transition:.2s;
}
.ch-sbtn:active{transform:translateY(1px);}
.ch-sbtn.hide{display:none;}

/* 手机壳旁：拉开 / 收起 的折叠按钮（一个「v」） */
.ch-fold{
  position:absolute;z-index:4;width:27px;height:27px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.94);border:1px solid var(--line-2);color:var(--ink-2);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 4px 14px -8px rgba(0,0,0,.45);transition:transform .3s;
}
.ch-fold svg{width:13px;height:13px;stroke:var(--ink-2);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ch-fold.up{transform:rotate(180deg);}

/* 「占用」项里的「修改」小标签 + 下方模式切换按钮 */
.ed-stats .ch-tag{
  pointer-events:auto;padding:1px 6px;border-radius:999px;font-size:9.5px;
  letter-spacing:.02em;white-space:nowrap;color:var(--gold-dark);
  background:rgba(196,161,90,.16);border:1px solid rgba(196,161,90,.3);transition:.2s;
}
.ed-stats .ch-tag:active{transform:scale(.94);}
.ch-modbtn{
  pointer-events:auto;margin-top:5px;padding:3px 9px;border-radius:999px;
  font-size:9.5px;letter-spacing:.03em;white-space:nowrap;color:var(--gold-dark);
  background:rgba(196,161,90,.14);border:1px solid rgba(196,161,90,.32);transition:.2s;
}
.ch-modbtn:active{transform:translateY(1px);}
.ed-stats .st-item.watch .bar{display:none;}

/* 工具箱里的链型 / 挂点（小一号的胶囊） */
.ch-seg.mini button{font-size:9.5px;padding:4px 0;}
.tb-grp{display:flex;flex-direction:column;gap:4px;}
.tb-grp .glab{font-size:9px;letter-spacing:.12em;color:var(--muted-2);padding-left:2px;}
/* 链子工具箱：贴住底色上方，内容再长也只在这个范围里滚，不会顶到画布最上面 */
.ch-toolbox{top:10px;bottom:12px;justify-content:flex-end;pointer-events:none;}
.ch-toolbox .tb-menu,.ch-toolbox .tb-btn{pointer-events:auto;}
.ch-toolbox .tb-menu{width:198px;max-height:calc(100% - 46px);overflow-y:auto;scrollbar-width:none;}
.ch-toolbox .tb-menu::-webkit-scrollbar{display:none;}
.ch-toolbox .tb-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.ch-toolbox .tb-grid button{width:100%;}
.tb-menu button.hide{display:none;}
.tb-menu button.off{opacity:.45;color:var(--muted-2);pointer-events:none;}

/* 链子编辑器「底部」布局：隐藏浮动控件与右侧数据栏，改用工具箱 */
#chain.mode-b .ch-ctrl,
#chain.mode-b .ch-fold,
#chain.mode-b .ed-stats,
#chain.mode-b .ed-tools{display:none;}
#chain.mode-b .ch-toolbox{display:flex;}
#chain.mode-b .ed-tray{padding-bottom:96px;}
#chain.mode-b .ed-cats{padding-bottom:96px;}

.ch-hint{font-size:11px;line-height:1.7;color:var(--muted);letter-spacing:.03em;}

/* 「放大看」：把珠子横排一条，可左右滑动逐个看清 */
.ch-zoom{
  position:absolute;inset:0;z-index:7;display:none;flex-direction:column;
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.ch-zoom.open{display:flex;}
.cz-hd{
  flex:0 0 auto;display:flex;align-items:center;gap:8px;
  padding:12px 16px 8px;
}
.cz-hd b{font-family:var(--serif);font-size:13px;font-weight:600;color:var(--ink);}
.cz-hd span{flex:1;font-size:10.5px;color:var(--muted-2);letter-spacing:.03em;}
.cz-x{
  flex:0 0 auto;padding:4px 12px;border-radius:999px;font-size:10.5px;
  color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line-2);transition:.2s;
}
.cz-x:active{transform:translateY(1px);}
.cz-strip{
  flex:1 1 auto;min-height:0;display:flex;align-items:center;gap:16px;
  padding:0 22px 18px;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.cz-strip::-webkit-scrollbar{display:none;}
.cz-bead{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:7px;}
.cz-bead .orb{width:62px;height:62px;box-shadow:0 6px 18px -10px rgba(90,70,40,.55);}
.cz-bead .nm{
  max-width:78px;font-size:10.5px;color:var(--ink-2);text-align:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cz-bead .sz{font-size:9.5px;color:var(--muted-2);letter-spacing:.02em;}
.cz-tag{
  flex:0 0 auto;align-self:center;padding:3px 9px;border-radius:999px;
  font-size:10px;font-weight:600;letter-spacing:.04em;
  color:#fff;background:var(--gold-dark);
}
.cz-empty{
  flex:1 1 auto;text-align:center;font-size:11.5px;color:var(--muted-2);letter-spacing:.03em;
}

/* ===== 手机链「底部」布局：补上与 DIY 手链同款的底部胶囊条（R61 站长要求）=====
   胶囊本体（.ed-capsule / .cp-*）的样式全部复用 css/30、css/31，这里一个字都不重写 ——
   DOM 由 js/68 注入（index.html 一行不动），id 是 chCapsule / chCp*。
   与手链一个口径：只在「底部」布局（#chain.mode-b）显示；
   上面那两行 #chain.mode-b .ed-tray / .ed-cats 的 96px 内边距正好给它让位。
   .ed-capsule 是绝对定位（css/30），而 #chain 也是 position:absolute，
   所以它贴在整屏最底、压在料盘之上，和手链那条的位置一致。 */
#chain.mode-b .ed-capsule{display:flex;}

/* ===== 草稿箱 / 收藏：手机链卡片那行标签（R62 站长要求）=====
   卡片里的「副标题」原来是**单行省略**的一句话（链长 20.0cm · 短腕带 · 圆环挂点）。
   现在改成与「手机链」标签同款的小标签，一个词一个标签；卡窄，一行放不下就折到第二行。
   只加一个修饰类（.dr-nm.dr-tags），.dr-nm 本体与手串卡片一个字不动（css/20 的规则照旧生效）。
   flex 容器下 .dr-tag 自带的 margin-right 换成 gap，免得行尾多出半格。 */
.dr-nm.dr-tags{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:4px 5px;
  white-space:normal;overflow:visible;text-overflow:clip;
}
.dr-nm.dr-tags .dr-tag{margin-right:0;}

/* ===== 购物车：勾选 + 结算条随内容流（R63 站长要求）=====
   ① 结算条原来是 position:sticky 悬浮（css/12 的 .cart-foot），站长要求「放到订单列表最底下、
      随内容流」—— 就地覆盖成 static，卡片与配色一个字不动（css/12 里的其它规则照旧生效）。
   ② 勾选框 / 全选行是新增的（由 js/40 的 renderCart 注入），样式只追加在这一份最后加载的 css 里，
      index.html 与 css/12 都不动。 */
.cart-foot{position:static;bottom:auto;z-index:auto;}

.cart-selall{
  display:flex;align-items:center;gap:9px;padding:2px 4px 0;
  font-size:11.5px;color:var(--muted);letter-spacing:.04em;
}
.cart-selall b{font-weight:600;color:var(--ink-2);}
.cart-selall em{margin-left:auto;font-style:normal;font-size:10.5px;color:var(--muted-2);}

.cart-item .ci-chk,.cart-selall .ci-chk{
  flex:0 0 auto;width:19px;height:19px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1.4px solid rgba(150,130,100,.45);
  transition:background .18s,border-color .18s,transform .18s;
}
.ci-chk svg{width:11px;height:11px;stroke:#fff;stroke-width:2.6;opacity:0;transition:opacity .15s;}
.ci-chk.on{background:linear-gradient(180deg,#d7b878,#b08d4a);border-color:transparent;}
.ci-chk.on svg{opacity:1;}
.ci-chk:active{transform:scale(.9);}
/* 没勾上的卡片压暗一点：一眼看出「这一件这次不结算」 */
.cart-item.off{opacity:.55;}

/* ===== R69：编辑器底栏的「贴合 / 分散」胶囊（手串 #edFit 与手机壳链 #chFit 共用 .ed-fit）=====
   两个编辑器的表头都是同一行 flex：[分类 … N 款] [推荐搭配]，中间原是空着的。
   ① 把 .t 由 flex:1 1 auto（吃满整行、把后面挤到最右）松成 flex:0 1 auto，腾出中间；
   ② 再把 .ed-fit 用 margin:0 auto 顶到中间 —— 表头行自带的 gap:8px 不用动。
   配色沿用全局变量（--bg-2 / --line-2 / --muted / --gold-dark），与「推荐搭配」同一套观感。
   位置说明：写在最后加载的这份 css 里 —— 与 css/28 的 .ed-ware-hd .t 同权重，靠加载顺序生效；
   标记由 js 注入（手串 js/50、手机壳链 js/99 的 CHAIN_HTML），index.html 一行不动。 */
.ed-ware-hd .t{flex:0 1 auto;}
.ed-fit{
  flex:0 0 auto;margin:0 auto;
  display:flex;align-items:center;gap:2px;padding:2px;
  border-radius:999px;background:var(--bg-2);border:1px solid var(--line-2);
}
.ed-fit button{
  flex:0 0 auto;height:23px;padding:0 12px;border-radius:999px;
  font-size:11px;letter-spacing:.08em;color:var(--muted);
  background:transparent;border:0;transition:.2s;
}
.ed-fit button.on{color:#fff;font-weight:600;background:var(--gold-dark);}
.ed-fit button:active{transform:scale(.96);}

/* R73/R74：标签栏里被换成实心图的 svg（商城 / 首页这两颗），颜色沿用旧的「未选 muted-2 / 选中 gold-dark」。
   （首页四宫格那颗是内联 fill，不走这里。）
   [data-filled] 由 js/20-home.js 换图成功后才写上：没有它说明还是旧线稿（fill:none + 描边），
   这里就不能去填色，否则旧线稿会被整块填死。 */
.tabbar .tab svg[data-filled]{fill:var(--muted-2);}
.tabbar .tab.on svg[data-filled]{fill:var(--gold-dark);}

/* ===== R76：投稿（2026-10-08，§5.43）=====
   ── ① 编辑器表头那一行（分类 / 分散贴合 / 推荐搭配）再挤进一枚「投稿」胶囊（js/50 注入）。
      一行只有约 294px（手机壳 390 − 左分类栏 68 − 表头左右内边距 28），原三样已经占满，
      所以做三处「让位」，字号和观感都不动：
        · 表头 gap 8px → 6px；.ed-fit 两颗小胶囊内边距 12px → 8px；「投稿」比「推荐搭配」再窄一点；
        · 「分类 全部 N 款」那截改成「吃掉剩余宽度、不够就省略号」——
          min-width:0 已由 css/28 给出，真挤到极限时截掉的是尾部计数，绝不换行、也不会把按钮顶出去。
   ── ② 底部选择层（投稿类型 + 表单）：外壳沿用 .sheet-mask / .sheet（css/35），这里只补内胆。 */
.ed-ware-hd{gap:6px;}
.ed-ware-hd .t{flex:1 1 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ed-fit button{padding:0 8px;}
#edSubmit{padding:0 9px;}

/* 投稿类型：两个大块单选，选中描金边 */
.sub-types{display:flex;flex-direction:column;gap:10px;margin:16px 0 2px;}
.sub-type{
  text-align:left;padding:13px 15px;border-radius:16px;
  background:var(--bg-2);border:1px solid var(--line-2);transition:.2s;
}
.sub-type b{display:block;font-family:var(--serif);font-size:14.5px;font-weight:600;letter-spacing:.06em;color:var(--ink);}
.sub-type i{display:block;margin-top:5px;font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.04em;line-height:1.5;}
.sub-type .coup{
  display:inline-block;margin-top:7px;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.04em;
  color:var(--gold-dark);background:rgba(246,236,214,.75);border:1px solid rgba(196,161,90,.3);
}
.sub-type.on{background:#fff;border-color:rgba(196,161,90,.6);box-shadow:0 8px 20px -14px rgba(160,130,70,.95);}
.sub-type.on b{color:var(--gold-dark);}
.sub-type:active{transform:translateY(1px);}

/* 投稿表单 */
.sub-form{margin-top:16px;display:flex;flex-direction:column;gap:8px;}
.sub-form label{font-size:11.5px;color:var(--muted);letter-spacing:.06em;}
.sub-form input,.sub-form textarea{
  width:100%;padding:12px 13px;border-radius:13px;font-size:13px;color:var(--ink);
  background:var(--bg-2);border:1px solid var(--line-2);resize:none;
  font-family:inherit;   /* css/01 的重置只给了 button，input/textarea 不继承字体，会掉回浏览器默认衬线 */
}
.sub-form input::placeholder,.sub-form textarea::placeholder{color:var(--muted-2);}
.sub-form textarea{height:82px;line-height:1.65;}
.sub-cnt{align-self:flex-end;font-size:10.5px;color:var(--muted-2);}
.sub-pick{display:flex;gap:8px;}
.sub-pick button{
  flex:1;height:38px;border-radius:12px;font-size:12.5px;color:var(--ink-2);
  background:var(--bg-2);border:1px solid var(--line-2);transition:.2s;
}
.sub-pick button.on{
  background:linear-gradient(180deg,#d7b878,#b08d4a);color:#fff;font-weight:600;
  border-color:transparent;box-shadow:0 5px 13px -6px rgba(160,130,70,.85);
}
.sub-ft{display:flex;gap:11px;margin-top:20px;}

/* ── ③ 我的投稿（新页面 p-posts，js/20 注入）的卡片皮 ── */
.posts-list{display:flex;flex-direction:column;gap:12px;}
.post-card{
  display:flex;gap:12px;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid var(--line-2);
  box-shadow:0 12px 28px -24px rgba(0,0,0,.55);
}
.post-card .pc-img{flex:0 0 auto;margin:-4px 0;}
.post-card .pc-tx{flex:1;min-width:0;}
.post-card .pc-nm{font-size:13.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);}
.post-card .pc-sub{margin-top:5px;font-size:10.5px;color:var(--muted);letter-spacing:.03em;line-height:1.5;}
.post-card .pc-meaning{margin-top:6px;font-size:11px;color:var(--muted);line-height:1.6;}
.post-st{display:inline-block;margin-top:8px;padding:2px 9px;border-radius:999px;font-size:10px;letter-spacing:.04em;}
.post-st.pending{color:#b07a2a;background:rgba(246,236,214,.75);border:1px solid rgba(196,161,90,.35);}
.post-st.approved{color:#3f8a5a;background:rgba(226,242,232,.85);border:1px solid rgba(90,170,120,.35);}
.post-st.rejected{color:#b4574a;background:rgba(248,232,229,.85);border:1px solid rgba(200,90,80,.3);}
.post-coup{margin-top:7px;font-size:10.5px;color:var(--gold-dark);letter-spacing:.03em;}

/* ── ④ 空列表提示（我的投稿 / 广场 / 商城空类目共用）── */
.grid-empty{margin-top:48px;text-align:center;color:var(--muted);font-size:12.5px;letter-spacing:.05em;line-height:2;}

/* ── ⑤ 首页「精选好物 · 查看全部」点了要跳商城（js/20 绑定），给个可点的手感 ── */
.sec-title .more{cursor:pointer;}

/* =========================================================================
   R77（2026-10-08 第二轮，§5.44）：我的投稿 —— 提示行 / 卡片按钮 / 详情页
   「投稿」胶囊位置与「设计师同款」赠券文案是 js/50 那边改的、没有新样式。
   ========================================================================= */

/* ── ① 我的投稿：顶部那一行赠券说明 ── */
.posts-tip{
  margin:-2px 0 12px;padding:9px 13px;border-radius:13px;
  font-size:11px;letter-spacing:.03em;line-height:1.6;
  color:var(--gold-dark);background:rgba(246,236,214,.6);border:1px solid rgba(196,161,90,.28);
}

/* ── ② 卡片底部：状态徽标 + 「详情 / 修改 / 取消审核」（徽标在 flex 里要去掉自带的上边距）── */
.post-card .pc-foot{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:8px;}
.post-card .pc-foot .post-st{margin-top:0;}
.post-acts{display:inline-flex;align-items:center;gap:6px;}
.post-act{
  height:24px;padding:0 10px;border-radius:999px;font-size:10.5px;letter-spacing:.03em;
  color:var(--ink-2);background:#fff;border:1px solid var(--line-2);transition:.18s;
}
.post-act:active{transform:translateY(1px);}
.post-act.danger{color:#b4574a;border-color:rgba(200,90,80,.35);background:rgba(248,232,229,.6);}
.post-st.cancelled{color:var(--muted);background:rgba(0,0,0,.04);border:1px solid var(--line-2);}

/* ── ③ 投稿详情页（#p-postdetail；R78 起它与 #p-posts 一起被注入到 .screen，见本文件末尾）── */
.pd-hero{
  display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:18px;
  background:#fff;border:1px solid var(--line-2);box-shadow:0 12px 28px -24px rgba(0,0,0,.55);
}
.pd-hero .pd-img{flex:0 0 auto;margin:-4px 0;}
.pd-hero .pd-meta{flex:1;min-width:0;}
.pd-hero .pd-line{margin-top:7px;font-size:10.5px;color:var(--muted);letter-spacing:.03em;line-height:1.6;}
.pd-hero .post-st{margin-top:0;}
.pd-form{margin-top:16px;}
.pd-form input[readonly],.pd-form textarea[readonly]{color:var(--muted);background:rgba(0,0,0,.02);}
.sub-pick button:disabled{opacity:.55;}
.pd-note{
  margin-top:2px;font-size:10.5px;color:var(--muted-2);letter-spacing:.03em;line-height:1.6;
}
#p-postdetail .sub-ft{flex-wrap:wrap;}
#p-postdetail .sub-ft .sbtn{flex:1 1 96px;}

/* =========================================================================
   R78（2026-10-08 第三轮）：我的投稿 / 投稿详情 —— 改上拉整屏浮层（站长点名 (A)：
   「就是要挡住底部导航」）。两页原先是 .viewport 里的 .page（只淡入淡出、不盖底栏）；
   现由 js/20-home.js 注入到 .screen 下（与 .viewport / .tabbar 同级 ⇒ 天然盖住底栏），
   开＝加 .open、关＝去 .open，观感与 css/13-overlay-layers.css 的 #drafts / #favs 同族。
   z-index 132 / 134：夹在 #drafts(130) 与 #favs(135) 之间，详情页比列表高一层。
   .toast(400) / 登录层 #authMask(360) / 通用确认框(320) 都在其上 ⇒ 浮层里的提示与弹窗不被盖。
   ========================================================================= */
#p-posts,#p-postdetail{
  position:absolute;inset:0;z-index:132;
  background:linear-gradient(180deg,#fdfbf7 0%, #ffffff 42%);
  padding:12px 18px 24px;                 /* 12px 与 .statusbar 等高（见 css/02）；底栏被盖住，故不留 100px */
  overflow-y:auto;overflow-x:hidden;
  transform:translateY(100%);
  transition:transform .34s cubic-bezier(.22,1,.36,1);
}
#p-postdetail{z-index:134;}
#p-posts.open,#p-postdetail.open{transform:translateY(0);}
#p-posts::-webkit-scrollbar,#p-postdetail::-webkit-scrollbar{width:0;}
