@charset "utf-8";
/* 甄宝园 zby365.com — 手机站 mobile/css/cms.css
   三份样式表的分工：public/css/ui.css（框架公共资产，主题不碰）｜
   本文件（框架组件的 V2 皮肤 + 手机站专属业务组件）｜主题根 css/theme-m.css（设计总表）。
   皮肤单独放一份的理由：框架组件可能被整体替换，而皮肤是主题自己的主张，分开写覆盖永远是覆盖。
   ⚠️ 留下的每一条都有「非样式依赖」—— 删了不会报错，只会静默失效：
      .ui-pan-item / .ui-pan-pwd b / .ui-pan-copy —— 提取码复制三件套，js/cms.js 按这三个类名驱动；
      .ui-contact-* —— 框架 ui.css 里没有它们的样式，删了首页联系方式卡会退化成裸文字（见第 4 节）；
      .ui-offside-* —— 滑出与遮罩在框架里，主题只覆盖配色；
      .ui-sidebar —— 要抬到 TabBar 之上，否则压在导航条上。 */

/* 1. 抽屉菜单：框架的 .ui-offside 是滑出面板、.ui-offside-left 是左侧变体，
   内容部分的样式（.mtitle / .mitems / .mtail…）在 theme-m.css，这里只管容器本身。
   ⚠️⚠️ 面板**必须比屏幕窄**：原来自报 min-width:85%，实测却是满屏 390px ——
      宽度是 shrink-to-fit，.mitems 那行胶囊串的 max-content 比 85% 还宽。
      后果不是「观感差」而是**关不掉**：遮罩被面板整块盖住，ui.js 里
      「点空白处收起」永远收不到点击，页面上又没有关闭按钮。
      现在钉死宽度 + 显式归零 min-width，右侧留出 ~82px 可点条，再加 × 按钮，两条关闭路径互为备份。 */
.ui-offside-left{min-width:0;width:80vw;max-width:308px;}
.ui-offside{background:var(--card);}

/* 抽屉的关闭按钮。框架 ui.js 认的就是 .ui-offside-close 这个类 ——
   点它走框架自己的收起动画 / 遮罩清理 / body 复位，所以**不用改 JS**。 */
.ui-offside-close{flex:none;width:30px;height:30px;margin-right:-5px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0;border:0;border-radius:9px;background:none;cursor:pointer;
  font-size:19px;line-height:1;color:var(--ink3);}
.ui-offside-close:active{background:var(--line2);color:var(--ink);}

/* 2. 浮动侧栏（客服 / 微信，均后台配置驱动）。
   ⚠️ bottom 必须让开 TabBar，否则整条压在导航格子上；z-index 低于 TabBar(40)、高于正文。 */
.ui-sidebar{position:fixed;right:10px;bottom:calc(var(--tabh) + 14px);z-index:35;}
.ui-sidebar ul{margin:0;}
.ui-sidebar ul li a{width:40px;line-height:40px;color:var(--ink3);}
.ui-sidebar ul li a i{font-size:20px;}
.ui-sidebar ul li div{line-height:40px;font-size:14px;min-width:100px;}
.ui-sidebar ul li:hover div{right:70px;}
.ui-sidebar-color ul li a{color:var(--b-soft);}
.ui-sidebar-color ul li a:hover,
.ui-sidebar-color ul li.active a{background:var(--b-soft);border-color:var(--b-soft);}

/* 3. 网盘「复制提取码」按钮：网盘行的**结构**在模板里是 V2 的 .mdl / .mdli / .tx / .pw，
   这里只补那一枚按钮 —— 它必须叫 .ui-pan-copy（cms.js 按类名绑定：点击按 data-pwd 写剪贴板、
   成功换「已复制」、失败换「请手动复制」并选中 .ui-pan-pwd b，所以那个 b 要一直在）。
   不钉宽度：文案从 2 字变 3 字是自己的伸缩，钉死了会在窄屏上挤掉左侧网盘名。 */
.ui-pan-copy{flex:none;height:26px;padding:0 10px;border:1px solid var(--line);
  border-radius:7px;background:var(--bg2);color:var(--ink2);font-size:11px;font-weight:600;
  font-family:inherit;line-height:1;cursor:pointer;white-space:nowrap;-webkit-appearance:none;}
.ui-pan-copy:active{background:var(--line2);}
.ui-pan-copy.is-ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);}

/* 4. 联系方式卡（QQ 号 / 微信号，点右侧按钮整串复制）。
   ⚠️ 当前没有任何模板在输出它 —— 与 PC 的 css/cms.css 有意对称：样式留着、标记不输出，
      理由是「随时能搬回来」。手机站现在的联系入口是右下角浮动条（第 2 节，数据来自后台客服设置）。
   ⚠️ 要搬回来时类名不能改：cms.js 按 .ui-contact-list 委托 .ui-contact-copy 的点击，
      从 .ui-contact-txt b 取文本，成功后给 .ui-contact-item 加 .is-copied。
      框架 public/css/ui.css 里没有这几个类的任何样式，全靠本文件。 */
.ui-contact-list{margin:0 14px;background:var(--card);border:1px solid var(--line);
  border-radius:13px;overflow:hidden;}
.ui-contact-list li{display:flex;align-items:center;gap:11px;padding:12px 14px;
  border-bottom:1px solid var(--line2);}
.ui-contact-list li:last-child{border-bottom:0;}
.ui-contact-ico{flex:none;width:34px;height:34px;border-radius:10px;background:var(--b-soft);
  color:#fff;display:grid;place-items:center;}
.ui-contact-ico svg{width:19px;height:19px;fill:currentColor;display:block;}
.ui-contact-txt{flex:1;min-width:0;}
.ui-contact-txt em{display:block;font-style:normal;font-size:11px;color:var(--ink4);}
.ui-contact-txt b{display:block;font-size:14.5px;color:var(--ink);font-family:var(--mono);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ui-contact-copy{flex:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);
  background:var(--bg2);color:var(--ink3);display:grid;place-items:center;cursor:pointer;
  -webkit-appearance:none;}
.ui-contact-copy svg{width:15px;height:15px;fill:currentColor;display:block;}
/* 复制成功：cms.js 给 .ui-contact-item 加 .is-copied，1.2 秒后移除 */
.ui-contact-item.is-copied .ui-contact-copy{background:var(--ok-bg);border-color:var(--ok);
  color:var(--ok);}
.ui-contact-item.is-copied .ui-contact-ico{background:var(--ok);}
