/* ==========================================================================
   宜宇 · 宜宇App版主题（ay.css）—— 20261024ay1
   设计稿：《宜宇_App完整Demo.html》（色彩令牌 1:1）
   --------------------------------------------------------------------------
   【由来】由线上 lb.css（两步路）原样派生：仅把主题选择器 data-theme="lb"
     全量替换为 data-theme="ay"，类名（.yq-lbtb 等）与变量名（--lb-*）一律不动。
     两套手机端皮肤完全独立，任一主题未选中时零字节生效。
   【与 lb 的差异】末尾「附录」追加 Demo 活动详情版式（evd-*，show.vue 的 isAy 分支）；
     搭子页 /dazi 的样式自带于该页 scoped（与 events/map 同做法）。
   【范围】整份裹 @media (max-width:1023.98px)，PC 端（≥1024）一律不生效。
   【回滚】删本文件 + 移除两处 <link> + 后台去掉「宜宇App版」选项即可。
   【红线】无 emoji · 无渐变 · 文本绿 #15803D 保 AA · 触控 ≥44px · 动效 ≤0.16s
   ========================================================================== */

/* ==========================================================================
   宜宇 · 两步路主题（lb.css）—— 20261022lb1
   设计稿：《宜宇_App完整Demo.html》（色彩令牌 1:1）
   --------------------------------------------------------------------------
   【由来】由 opt.css（优化版 DOM 皮肤）派生：DOM 分支在 index/me/msg 里已
     泛化为 isOpt||isLb（两边共用同一套结构），本文件只换「皮肤」——
     选择器命名空间 html[data-theme="ay"] → html[data-theme="ay"]，
     令牌 --lb-* → --lb-* 并全部替换为设计稿色板：
       brand #40C254（只做动作色）/ ink #141C19 / orange #E86F3C（状态）
       red #E5242B（未读）/ line #EDF0EE / canvas #F6F7F8
     文本用绿取深一档 #15803D（AA ≥4.5:1，先例：徽章 legend 压深）。
   【范围】只重绘首页 / 我的 / 消息 / 广场图文卡 + lb 专属底栏（凸起 fab）；
     PC 端（≥1024）整份不生效，默认主题与其他页面零改动。
   【回滚】整份删除本文件 + 移除两处 <link> + 后台去掉「两步路」选项即可。
   【红线】无 emoji · 无渐变 · AA 对比度 · 触控 ≥44px · 动效 ≤0.16s
   ========================================================================== */

/* ---------- 0. PC 端兜底：opt 是手机端主题，PC 上新增块一律不显形 ---------- */
@media (min-width: 1024px) {
  html[data-theme="ay"] .op-sticky,
  html[data-theme="ay"] .op-srch2,
  html[data-theme="ay"] .op-sh,
  html[data-theme="ay"] .op-pick,
  html[data-theme="ay"] .op-topics,
  html[data-theme="ay"] .op-stat,
  html[data-theme="ay"] .op-ev,
  html[data-theme="ay"] .yq-lbtb,
  html[data-theme="ay"] .yq-hd__ai,
  html[data-theme="ay"] .op-head,
  html[data-theme="ay"] .op-asset,
  html[data-theme="ay"] .op-grid,
  html[data-theme="ay"] .op-ach,
  html[data-theme="ay"] .op-logout,
  html[data-theme="ay"] .op-glabel { display: none !important; }
  html[data-theme="ay"] .ay-ha,
  html[data-theme="ay"] .ay-hd,
  html[data-theme="ay"] .ay-hm__fm,
  html[data-theme="ay"] .ay-hm__empty,
  html[data-theme="ay"] .ay-hm__sk { display: none !important; }
}

@media (max-width: 1023.98px) {

  /* ==========================================================================
     1. 设计令牌（沿用设计稿「清爽版」令牌，只在这三个页面容器内生效）
     ========================================================================== */
  html[data-theme="ay"][data-theme] .hm-home,
  html[data-theme="ay"][data-theme] .pr-hd,
  html[data-theme="ay"][data-theme] .pr-list,
  html[data-theme="ay"][data-theme] .op-asset,
  html[data-theme="ay"][data-theme] .op-grid,
  html[data-theme="ay"][data-theme] .op-ach,
  html[data-theme="ay"][data-theme] .op-msg,
  html[data-theme="ay"][data-theme] .yq-lbtb,
  html[data-theme="ay"][data-theme] .yq-hd {
    --lb-ink: #141C19;
    --lb-ink2: #3D4641;
    --lb-ink3: #8A938D;
    --lb-ink4: #AEB6B0;
    --lb-line: #EDF0EE;
    --lb-line2: #F2F5F3;
    --lb-soft: #F6F7F8;
    --lb-g600: #15803D;
    --lb-g500: #40C254;
    --lb-g100: #DFF5E4;
    --lb-g50: #F1FAF3;
    --lb-a700: #C85A28;
    --lb-a600: #E86F3C;
    --lb-a100: #FCEBDF;
    --lb-a50: #FEF6F0;
    --lb-danger:#E5242B;
    --lb-r:     16px;
    --lb-r3:    12px;
    --lb-r4:    8px;
    --lb-sh:    0 1px 2px rgba(31,42,36,.05);
    /* 让这三个容器里既有的 yq 组件跟着换主色（按钮 / 分段选中 / tag） */
    --brand-600: #40C254;
    --brand-700: #35A947;
  }

  /* 20261025dt2 · 画布改纯白（设计稿 --canvas #FFFFFF）：之前 #F6F7F8 仍是一层灰 */
  html[data-theme="ay"][data-theme] .hm-home { background: #FFFFFF; }

  /* ==========================================================================
     2. 首页：隐藏被替代的默认块，放出新增块
     ========================================================================== */
  html[data-theme="ay"][data-theme] .hm-home .hero,
  html[data-theme="ay"][data-theme] .hm-home .f-hero,
  html[data-theme="ay"][data-theme] .hm-home .f-dock,
  html[data-theme="ay"][data-theme] .hm-home .f-chips-row,
  html[data-theme="ay"][data-theme] .f-hide-mobile { display: none !important; }

  /* ---- 2.1 搜索条 44（表单直提 /square?kw=，与顶栏搜索同一出口） ---- */
  /* 20260924p02：吸顶容器 —— 搜索条 + 找搭子 + 频道标签 一整块停在最上面。
     ★ .op-sticky 是 .hm-home 的直接子元素（sticky 只在父容器高度内生效），
       所以整页滚动期间都钉在顶栏下沿，不会滚过「本周精选横幅」就被顶走。 */
  html[data-theme="ay"][data-theme] .op-sticky {
    position: sticky;
    top: calc(var(--hd-h, 52px) + var(--safe-top, 0px));
    z-index: 30;
    padding: 10px 0 2px;
    background: #F6F7F8;
    /* 下沿压一条 1px 分隔线，滚动时边界不糊 */
    box-shadow: 0 1px 0 var(--lb-line2);
    /* [FIX-STICKY] 20261021op1 · Android WebView 的已知渲染问题：
       惯性滚动时 sticky 元素的位移由主线程重绘，偶发落后于画面 —— 视觉上就是搜索条
       「停在屏幕中间」不上不下，松手后才跳回顶部。will-change 把这块提前提升为
       独立合成层，交给合成器跟随滚动，不再掉队。
       只声明 will-change、不写实际 transform：避免创建新的包含块影响 sticky 吸附。 */
    will-change: transform;
  }
  html[data-theme="ay"][data-theme] .op-search {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    margin: 0 14px;
    padding: 0 12px;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r3);
    color: var(--lb-ink4);
  }
  html[data-theme="ay"][data-theme] .op-search input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: none;
    background: none;
    font: 13px/1 inherit;
    font-family: inherit;
    color: var(--lb-ink);
    /* [QS-REL] 2026-09-24 补两行缺失：appearance 不给，iOS 会强套圆角；
       cancel-button 不清，Chrome/Android 会多出一个原生叉号跟「找搭子」挤在一起 */
    -webkit-appearance: none; appearance: none;
  }
  html[data-theme="ay"][data-theme] .op-search input::-webkit-search-cancel-button {
    -webkit-appearance: none; appearance: none;
  }
  html[data-theme="ay"][data-theme] .op-search input::placeholder { color: var(--lb-ink4); }
  html[data-theme="ay"][data-theme] .op-search .op-search__go {
    flex: none;
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 2px 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lb-g600);
    text-decoration: none;
  }

  /* ---- 2.2 频道 chips 36（横向滑动，替换六宫格的入口职能） ---- */
  html[data-theme="ay"][data-theme] .op-chips {
    display: flex;
    gap: 8px;
    margin: 10px 14px 0;
    padding: 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  html[data-theme="ay"][data-theme] .op-chips::-webkit-scrollbar { display: none; }
  html[data-theme="ay"][data-theme] .op-chip {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 36px;
    padding: 0 12px;
    background: var(--lb-soft);
    border: 1px solid var(--lb-line2);
    border-radius: 10px;
    font-size: 13px;
    color: var(--lb-ink2);
    text-decoration: none;
    white-space: nowrap;
  }
  html[data-theme="ay"][data-theme] .op-chip svg { width: 15px; height: 15px; color: var(--lb-g600); }
  html[data-theme="ay"][data-theme] .op-chip:first-child {
    background: var(--lb-g600);
    border-color: var(--lb-g600);
    color: #FFFFFF;
  }
  html[data-theme="ay"][data-theme] .op-chip:first-child svg { color: #FFFFFF; }

  /* ---- 2.3 本周精选横幅 96（数据 = Hero 运营位第一张，不新增接口） ---- */
  html[data-theme="ay"][data-theme] .op-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 96px;
    margin: 12px 14px 0;
    padding: 8px;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r3);
    box-shadow: var(--lb-sh);
    text-decoration: none;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .op-banner__img {
    flex: none;
    width: 80px;
    height: 80px;
    border-radius: var(--lb-r4);
    overflow: hidden;
    background: var(--lb-soft);
  }
  html[data-theme="ay"][data-theme] .op-banner__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  html[data-theme="ay"][data-theme] .op-banner__c {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  html[data-theme="ay"][data-theme] .op-banner__r1 {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--lb-ink3);
  }
  html[data-theme="ay"][data-theme] .op-banner__tag {
    flex: none;
    font-style: normal;
    padding: 1px 7px;
    border-radius: var(--lb-r4);
    background: var(--lb-a50);
    border: 1px solid var(--lb-a100);
    color: var(--lb-a700);
    font-size: 11px;
    font-weight: 600;
  }
  html[data-theme="ay"][data-theme] .op-banner__t {
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    color: var(--lb-ink);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .op-banner__go {
    flex: none;
    display: flex;
    align-items: center;
    gap: 2px;
    align-self: flex-end;
    height: 30px;
    padding: 0 11px;
    border-radius: var(--lb-r4);
    background: var(--lb-a700);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
  }
  html[data-theme="ay"][data-theme] .op-banner__go svg { width: 12px; height: 12px; }

  /* ---- 2.3b 本周精选横幅 · 轮播容器（20260923cr1） ----
     以前只渲染 slides[0] 一张静态图；现在多条 Hero 运营位淡入轮播。
     外层容器吃掉原 op-banner 的 margin 与高度，内部每条绝对定位叠放，
     只有 .is-on 那张可见且可点（其余 pointer-events:none，防止隔着透明层误触）。 */
  html[data-theme="ay"][data-theme] .op-bwrap {
    position: relative;
    height: 96px;
    margin: 12px 14px 0;
  }
  html[data-theme="ay"][data-theme] .op-bwrap .op-banner {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transform: translateX(10px);
    transition: opacity .45s ease, transform .45s ease;
    pointer-events: none;
    z-index: 1;
  }
  html[data-theme="ay"][data-theme] .op-bwrap .op-banner.is-on {
    opacity: 1;
    transform: none;
    pointer-events: auto;
    z-index: 2;
  }
  /* 指示点压在左侧 80px 封面的底部 —— 右下角站着「去看看」按钮，不能抢它的位 */
  html[data-theme="ay"][data-theme] .op-bwrap__dots {
    position: absolute;
    left: 8px;
    width: 80px;
    bottom: 12px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }
  html[data-theme="ay"][data-theme] .op-bwrap__dots i {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .6);
    box-shadow: 0 0 2px rgba(0, 0, 0, .35);
    transition: width .25s ease, background .25s ease;
  }
  html[data-theme="ay"][data-theme] .op-bwrap__dots i.on {
    width: 12px;
    background: #FFFFFF;
  }

  /* ---- 2.4 图文卡按规范重绘（1px 描边 + 12 圆角 + 封面比例锁） ---- */
  html[data-theme="ay"][data-theme] .hm-home .yq-post {
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r3);
    box-shadow: none;
    background: #FFFFFF;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__cover {
    container-type: inline-size;
    background: var(--lb-soft);
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__cover img {
    width: 100%;
    min-height: 75cqi;
    max-height: 133cqi;
    object-fit: cover;
    aspect-ratio: auto;
  }
  html[data-theme="ay"][data-theme] .hm-home .yq-water { gap: 12px; }

  /* ---- 2.4b 广场/个人页瀑布流图文卡：与首页同款细线描边（yz9）----
     opt 令牌只在 .hm-home 等容器内定义，广场页没有容器类 → 历史上回落成
     全局 .yq-post 的薄荷绿描边，与首页（--lb-line 细线）不一致。
     同特异性复刻首页规则；.hm-home 内卡片两条都命中但值相同 → 零变化。
     兜底值与第 1 节令牌一致，容器外也能正确解析。 */
  html[data-theme="ay"][data-theme] .yq-water .yq-post {
    border: 1px solid var(--lb-line, #E2EBE4);
    border-radius: var(--lb-r3, 12px);
    box-shadow: none;
    background: #FFFFFF;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .yq-water .yq-post__cover {
    background: var(--lb-soft, #F4F8F5);
    overflow: hidden;
  }

  /* ==========================================================================
     3. 我的页（选择器用 me.vue 独有的 .pr-* 类 —— 默认版 DOM 零改动）
     ========================================================================== */
  /* ---- 3.1 卡片式头：头像 + 名称 + 编辑资料；原设置图标与三格让位 ---- */
  html[data-theme="ay"][data-theme] .pr-hd {
    margin: 12px 14px 0;
    padding: 14px;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    box-shadow: var(--lb-sh);
  }
  html[data-theme="ay"][data-theme] .pr-hd__set { display: none; }
  html[data-theme="ay"][data-theme] .pr-hd__row .op-edit {
    margin-left: auto;
    flex: none;
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 12px;
    border-radius: var(--lb-r4);
    background: var(--lb-soft);
    border: 1px solid var(--lb-line);
    color: var(--lb-ink2);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .pr-hd__name { font-size: 17px; font-weight: 700; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .pr-hd__sub { color: var(--lb-ink3); font-size: 12px; }
  /* pr-quick 是 .pr-hd 的直接子元素（不是 pr-hd__row 内的），
     原三格数据行在此主题下由 .op-asset 资产条接管。 */
  html[data-theme="ay"][data-theme] .pr-hd > .pr-quick { display: none; }

  /* ---- 3.2 资产条四格（积分 / 发布 / 收藏 / 已报名，全部真实数据） ---- */
  html[data-theme="ay"][data-theme] .op-asset {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 12px 14px 0;
    padding: 12px 0;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    box-shadow: var(--lb-sh);
  }
  html[data-theme="ay"][data-theme] .op-asset__i {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    text-decoration: none;
    padding: 4px 0;
  }
  html[data-theme="ay"][data-theme] .op-asset__i b {
    font-size: 19px;
    font-weight: 700;
    color: var(--lb-ink);
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
  }
  html[data-theme="ay"][data-theme] .op-asset__i span { font-size: 11px; color: var(--lb-ink3); }

  /* ---- 3.3 我报名的活动：卡片化 ---- */
  html[data-theme="ay"][data-theme] .pr-list {
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    box-shadow: var(--lb-sh);
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .pr-item { height: 64px; }
  html[data-theme="ay"][data-theme] .pr-item__thumb,
  html[data-theme="ay"][data-theme] .pr-item__thumb img {
    width: 48px;
    height: 48px;
    border-radius: var(--lb-r4);
  }

  /* ---- 3.4 服务宫格 4×2（替代原来的 8 行列表） ---- */
  html[data-theme="ay"][data-theme] .op-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    margin: 12px 14px 0;
    padding: 8px 0 10px;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    box-shadow: var(--lb-sh);
  }
  html[data-theme="ay"][data-theme] .op-grid a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 64px;
    border-radius: var(--lb-r3);
    color: var(--lb-ink2);
    text-decoration: none;
    font-size: 11px;
    padding: 4px;
  }
  html[data-theme="ay"][data-theme] .op-grid a:active { background: var(--lb-soft); }
  html[data-theme="ay"][data-theme] .op-grid svg { width: 21px; height: 21px; color: var(--lb-g600); }

  /* ---- 3.5 户外成就卡（入口 → /badge） ---- */
  html[data-theme="ay"][data-theme] .op-ach {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 14px 0;
    padding: 13px 14px;
    background: var(--lb-g50);
    border: 1px solid var(--lb-g100);
    border-radius: var(--lb-r);
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .op-ach__t { font-size: 14px; font-weight: 650; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .op-ach__d { font-size: 11px; color: var(--lb-ink3); margin-top: 2px; }
  html[data-theme="ay"][data-theme] .op-ach__arr { margin-left: auto; color: var(--lb-ink4); flex: none; }

  /* ---- 3.6 默认版的「设置与更多」行列表在 opt 下由宫格替代 ---- */
  html[data-theme="ay"][data-theme] .pr-more { display: none; }

  /* ---- 3.7 退出登录（红色，单独一行） ---- */
  html[data-theme="ay"][data-theme] .op-logout {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    margin: 14px 14px 0;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    color: var(--lb-danger);
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
  }

  /* ==========================================================================
     4. 消息页（.op-msg 包装类由 msg.vue 在 opt 下挂上）
     ========================================================================== */
  html[data-theme="ay"][data-theme] .op-msg { background: #F6F7F8; }

  /* ---- 4.1 通知入口：白卡；有未读时整卡转暖色（设计稿的置顶提示条） ---- */
  html[data-theme="ay"][data-theme] .op-msg .ms-bell {
    margin: 12px 14px 0;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    box-shadow: none;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-bell.is-unread {
    background: var(--lb-a50);
    border-color: var(--lb-a100);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-bell.is-unread .ms-bell__ico {
    background: var(--lb-a700);
    color: #FFFFFF;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-bell__ico { background: var(--lb-soft); color: var(--lb-ink2); }
  html[data-theme="ay"][data-theme] .op-msg .ms-bell__c b { color: var(--lb-ink); }

  /* ---- 4.2 页内分段（凹槽 + 白选中块），替代悬浮胶囊 ---- */
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs {
    display: flex;
    gap: 4px;
    margin: 12px 14px 0;
    padding: 4px;
    background: var(--lb-soft);
    border: 1px solid var(--lb-line2);
    border-radius: var(--lb-r3);
    position: static;   /* 不再悬浮吸顶 —— 陷进页面 */
    box-shadow: none;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 34px;
    border-radius: 9px;
    font-size: 13px;
    color: var(--lb-ink3);
    text-decoration: none;
    background: none;
    box-shadow: none;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i.is-on {
    background: #FFFFFF;
    color: var(--lb-g600);
    font-weight: 650;
    box-shadow: var(--lb-sh);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i i {
    font-style: normal;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    background: var(--lb-g100);
    color: var(--lb-g600);
    font-size: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i.is-on i { background: var(--lb-g600); color: #FFFFFF; }

  /* ---- 4.3 分组标签（最近 / 更早） ---- */
  html[data-theme="ay"][data-theme] .op-glabel {
    margin: 14px 16px 6px;
    font-size: 12px;
    color: var(--lb-ink3);
  }

  /* ---- 4.4 列表行：高 66 · 头像 44 · 未读小圆点 · 时间右对齐 ---- */
  html[data-theme="ay"][data-theme] .op-msg .yq-list {
    margin: 4px 14px 0;
    background: #FFFFFF;
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-r);
    box-shadow: var(--lb-sh);
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-th {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 66px;
    padding: 0 12px;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-th + .ms-th { border-top: 1px solid var(--lb-line2); }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__ava { width: 44px; height: 44px; flex: none; }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__ava .yq-ava { width: 44px; height: 44px; }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__dot {
    right: -2px;
    top: -2px;
    min-width: 16px;
    height: 16px;
    font-size: 9px;
    border-width: 2px;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__nm { font-size: 14px; font-weight: 650; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__last { font-size: 12px; color: var(--lb-ink3); }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__last.is-unread { color: var(--lb-ink2); font-weight: 600; }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__tm { font-size: 11px; color: var(--lb-ink4); }

  /* B2 · 活动卡「详情」药丸热区 22px → 46px（纯 CSS 增量，不动 DOM，删本段即回滚） */
  html[data-theme="ay"] .yq-post:has(.yq-ev__st) .yq-ev__go { position: relative; }
  html[data-theme="ay"] .yq-post:has(.yq-ev__st) .yq-ev__go::after { content: ''; position: absolute; inset: -12px; }

  /* ---- 20260924pb4 · 公告（/notice）挂 .op-msg 后的 opt 落点 ----
     设计稿没有单独出公告页，按消息页同一套令牌对齐：字色/行距/未读底/图标底座。
     纯增量 append，删除本段即回到默认版观感。 ---- */
  html[data-theme="ay"][data-theme] .op-msg .ms-act {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px var(--sp-4); font-size: 12px; color: var(--lb-ink3);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-act b { color: var(--lb-g600); font-weight: 650; }
  html[data-theme="ay"][data-theme] .op-msg .ms-act__b {
    min-height: 32px; padding: 0 12px; border-radius: var(--lb-r4);
    border: 1px solid var(--lb-line); background: transparent;
    color: var(--lb-ink2); font-size: 12px; font-weight: 600;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__i { padding: 12px var(--sp-4); border-bottom: 0; }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__i + .ms-note__i { border-top: 1px solid var(--lb-line2); }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__i.is-unread { background: var(--lb-g50); }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__ico {
    width: 36px; height: 36px; border-radius: var(--lb-r4);
    background: var(--lb-soft); color: var(--lb-ink2);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__ico--interact { background: var(--lb-a50); color: var(--lb-a700); }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__ico--system { background: var(--lb-g100); color: var(--lb-g600); }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__ico--event { background: var(--lb-a50); color: var(--lb-a700); }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__txt {
    font-size: 14px; line-height: 1.5; font-weight: 500; color: var(--lb-ink);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__tm { font-size: 11px; color: var(--lb-ink4); }
  html[data-theme="ay"][data-theme] .op-msg .ms-note__dot { background: var(--lb-g600); }

  /* ==========================================================================
     5. 首页 · 小红书风顶栏（20261021xz1）
     ------------------------------------------------------------------------
     落地对象：《宜宇_手机端_小红书风_设计稿》视图 1 的顶栏一行（用户截图 1:1）：
       柚子底座 30 · 「宜宇」15.5/700 · 搜索胶囊 33(flex) · 发布胶囊 33 · 行高 43
     ★ 只命中 .yq-hd--xhs。layout 里这个类只在「首页 + opt 皮肤 + 主站 zone」
       三条同时成立时挂上，其余页面/皮肤仍走原顶栏，一行没动。
     ★ 深苔绿 #40C254 是设计稿的发布底色（与 chips 选中态共用）；它与既有
       --lb-g600(#15803D) 并存 —— 这是新块专用色，不动全站令牌。
     ★ 回滚：删掉本节 → 顶栏立刻回到「居中站名 + 右侧发布」。
     ========================================================================== */
  html[data-theme="ay"][data-theme] .yq-hd--xhs {
    height: 43px;
    padding: 2px 12px 8px;
    gap: 7px;
    justify-content: flex-start;
    background: #F6F7F8;
    border-bottom: 0;
    box-shadow: 0 1px 0 var(--lb-line2);
    /* 顶栏要贴在图/瀑布流上方，毛玻璃在纯白纸上只会发灰 —— 直接平铺纸色 */
    backdrop-filter: none;
    box-sizing: border-box;
  }
  /* 5.0 [BUG-01] 让位：layout 里 `.yq-hd__act`（老搜索/发布一组）现在**始终渲染**了
     （PC 端需要它），手机上这里必须把它和居中的品牌名一起藏掉，
     否则新三段胶囊与老两个图标会并排挤在一行。 */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__act,
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__title {
    display: none;
  }
  /* 5.1 柚子底座：30×30 圆角 9 的浅绿方块（复用 yz1 那颗 /kefu 入口，只换外观） */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__yz {
    width: 30px; height: 30px; flex: none;
    display: flex; align-items: center; justify-content: center;
    border-radius: 9px;
    background: #F1F6F2;
    overflow: visible;
  }
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__yz svg { width: 24px; height: 24px; }
  /* 描边跟着设计稿的深苔绿走（SVG 上的 stroke 是表现属性，CSS 能压住） */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__yz svg *[stroke] { stroke: #40C254; }

  /* 5.2 品牌字 */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__br {
    flex: none;
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--lb-ink, #1F2A24);
  }

  /* 5.3 搜索胶囊（表单直提 /square?kw=，与瀑布流上方的旧搜索条同一出口） */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__s {
    flex: 1 1 auto;
    min-width: 0;
    height: 33px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 11px;
    border: 1px solid #E1E8E1;
    border-radius: 999px;
    background: #FFFFFF;
    color: #93A098;
  }
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__sico { flex: none; color: #66746C; }
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__s input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: none;
    background: none;
    font: 12px/1 inherit;
    font-family: inherit;
    color: var(--lb-ink, #1F2A24);
    -webkit-appearance: none; appearance: none;
  }
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__s input::-webkit-search-cancel-button {
    -webkit-appearance: none; appearance: none;
  }
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__s input::placeholder { color: #93A098; }

  /* 5.4 发布胶囊 */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__pubx {
    flex: none;
    height: 33px;
    padding: 0 11px;
    display: flex;
    align-items: center;
    gap: 3px;
    border: 0;
    border-radius: 999px;
    background: #40C254;
    color: #FFFFFF;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1;
  }
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__pubx:active { background: #245139; }

  /* ==========================================================================
     6. 滚动吸顶收敛（20261021xz1 · 设计稿视图 2「滚动后」）
     ------------------------------------------------------------------------
     设计口径：搜索搬进顶栏后，吸顶只剩「顶栏(43) + 频道(27)」两层，
     合计 79px 冻在状态栏下；「最新 / 热门」随内容滚走，不再三层粘在顶部。
     ★ 上一版 .op-sticky 里还裹着 44px 搜索条（合计 ~112px），
       搜索进顶栏后那一层是重复入口 → 本版只留 chips。
     ★ will-change:transform 保留（20261021xy2 的 WebView 惯性滚动修复）。
     ========================================================================== */
  html[data-theme="ay"][data-theme] .op-sticky {
    top: calc(43px + var(--safe-top, 0px));
    padding: 0 0 9px;
    background: #F6F7F8;
    box-shadow: 0 1px 0 var(--lb-line2);
    will-change: transform;
  }
  html[data-theme="ay"][data-theme] .op-chips {
    margin: 0 12px;
    gap: 6px;
    padding: 0;
  }
  html[data-theme="ay"][data-theme] .op-chip {
    position: relative;
    height: 27px;
    padding: 0 10px;
    gap: 4px;
    border-radius: 999px;
    border: 1px solid #E4EAE3;
    background: #FFFFFF;
    font-size: 11.8px;
    color: #44514A;
  }
  /* 视觉 27、热区 39：只上下外扩，左右不抢相邻 chip 的点击 */
  html[data-theme="ay"][data-theme] .op-chip::after {
    content: '';
    position: absolute;
    left: 0; right: 0; top: -6px; bottom: -6px;
  }
  html[data-theme="ay"][data-theme] .op-chip svg { width: 12px; height: 12px; color: #5E7C69; }
  html[data-theme="ay"][data-theme] .op-chip:first-child {
    background: #40C254;
    border-color: #40C254;
    color: #FFFFFF;
    font-weight: 600;
  }
  html[data-theme="ay"][data-theme] .op-chip:first-child svg { color: #FFFFFF; }

  /* ==========================================================================
     7. 笔记详情 · 沉浸式（20261021xz3 · 设计稿视图 3 逐项对齐）
     ------------------------------------------------------------------------
     设计稿的一屏顺序：
       图（顶到状态栏；左上 30 圆返回 + 右上 1/N）→ 图下分页圆点
       → 作者行（ava 28 / 昵称 12 / 等级 / 关注 26 胶囊）
       → 标题 15.5 → 正文 13.4 → 话题 chip
       → 分隔 → 「评论 N · 按热度」→ 评论列表
       → 底部固定条（说点什么… + 点赞红 / 收藏 / 评论 / 分享）
     ★ 与上一版（xz2）的差别就是「照稿补齐」：让出顶栏、圆形返回、
       分页圆点、话题 chip、评论头、底栏四枚动作 —— 上一版只做了大图与作者前移。
     ★ 活动页 / 商品页不套（保留报名/兑换、价格区），只吃 7.1 的满宽图。
     ========================================================================== */

  /* 7.0 让出顶栏：整份文件已裹在 max-width:1023.98px 里，PC 布局零影响 */
  html[data-theme="ay"][data-theme] .yq-hd--immersive { display: none; }

  /* 7.1 图集：满宽出血 + 高 352（约 43% 屏高） */
  html[data-theme="ay"][data-theme] .pd-sec { position: relative; }
  html[data-theme="ay"][data-theme] .pd-gallery {
    margin: 0 calc(var(--sp-4, 16px) * -1);
    gap: 0;
  }
  html[data-theme="ay"][data-theme] .pd-gallery > img,
  html[data-theme="ay"][data-theme] .pd-gallery > .pd-gallery__ph {
    aspect-ratio: auto;
    height: min(352px, 43dvh);
    border-radius: 0;
    background: var(--lb-soft, #F4F8F5);
  }

  /* 7.2 顶部浮层：30px 圆形返回键 + 右侧 1/N（都压在图上看得到） */
  html[data-theme="ay"][data-theme] .nd-top {
    position: fixed;
    left: 0; right: 0;
    top: calc(8px + var(--safe-top, 0px));
    z-index: 61;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    pointer-events: none;
  }
  html[data-theme="ay"][data-theme] .nd-top > * { pointer-events: auto; }
  /* 滚过图集后隐掉（否则 30px 圆键正好压住正文首行）：只切可见性，不做位移动画。
     用 visibility 而不是 opacity - 后者仍然吃点击；过渡只挂 opacity。 */
  html[data-theme="ay"][data-theme] .nd-top {
    transition: opacity .16s linear;
  }
  html[data-theme="ay"][data-theme] .nd-top.is-off {
    opacity: 0;
    visibility: hidden;
  }
  html[data-theme="ay"][data-theme] .nd-back {
    width: 30px; height: 30px; flex: none;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    color: var(--lb-ink, #1F2A24);
    box-shadow: 0 1px 4px rgba(22, 32, 42, .14);
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .nd-back:active { background: #FFFFFF; }
  html[data-theme="ay"][data-theme] .pd-cnt {
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 4;
    min-width: 0;
    height: auto;
    padding: 3px 9px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(22, 32, 42, .5);
    color: #FFFFFF;
    font-size: 10.5px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
  }

  /* 7.3 图下分页圆点：当前页拉长成小胶囊 */
  html[data-theme="ay"][data-theme] .nd-dots {
    display: flex;
    gap: 4px;
    justify-content: center;
    padding: 9px 0 2px;
  }
  html[data-theme="ay"][data-theme] .nd-dots i {
    width: 5px; height: 5px; border-radius: 50%;
    background: #D6E2DA;
    display: block;
    transition: width .16s ease, background .16s ease;
  }
  html[data-theme="ay"][data-theme] .nd-dots i.on {
    width: 14px;
    border-radius: 3px;
    background: var(--lb-g600, #15803D);
  }

  /* 7.4 作者行（已在标题之前）：ava 28 / 昵称 12 / 关注 26 胶囊 */
  html[data-theme="ay"][data-theme] .sh-hd {
    gap: 7px;
    padding: 12px var(--sp-4) 0;
  }
  html[data-theme="ay"][data-theme] .sh-hd .yq-ava { width: 28px; height: 28px; }
  html[data-theme="ay"][data-theme] .sh-hd__n { font-size: 12px; font-weight: 620; color: var(--lb-ink, #1F2A24); }
  /* 设计稿作者行只有「头像 + 昵称 + 等级 + 关注」，副行（等级文字）让位 */
  html[data-theme="ay"][data-theme] .sh-hd__s { display: none; }
  /* 关注按钮：主站 `.yq-btn` 基础是「透明底 + 无字色 + 透明边框」，落到详情页就只剩
     两个绿字贴在浅底上 —— 用户反馈「不清晰」。设计稿视图 3 的 `.nd__fo` 是**实心深色胶囊**
     （稿里写 #2F4E6B 深蓝灰），这里映射到主站品牌深绿 #40C254（与顶栏「+ 发布」胶囊同色，
     白字对比 ≈7.4:1 过 AA）。盒子按稿保持 26 高，热区用 ::after 外扩到 44 —— 视觉不变、
     手指够得着（红线：触控 ≥44，只扩命中不改盒子）。 */
  html[data-theme="ay"][data-theme] .sh-hd__follow {
    position: relative;
    z-index: 1; /* 让 ::after 撑出去的下半截能压在下面 .sh-t 之上（否则命中被标题吃掉） */
    height: 26px; padding: 0 13px; border-radius: 999px;
    font-size: 11px; font-weight: 600;
    color: #FFFFFF;
    background: #40C254;
    border: 1px solid #40C254;
    box-shadow: 0 1px 2px rgba(22, 32, 42, .10);
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .sh-hd__follow::after {
    content: '';
    position: absolute;
    left: -6px; right: -6px; top: -9px; bottom: -9px;
    border-radius: 999px;
  }
  html[data-theme="ay"][data-theme] .sh-hd__follow:active {
    background: #245240;
    border-color: #245240;
    transform: none;
  }
  /* 已关注 / 互相关注：回到描边态，但描边必须看得见 ——
     原 `.sh-hd__follow.is-on` 是 --bg-sunken 底 + --text-third 字，
     在 opt 的浅灰底上几乎融掉。 */
  html[data-theme="ay"][data-theme] .sh-hd__follow.is-on,
  html[data-theme="ay"][data-theme] .sh-hd__follow.is-on:active {
    color: var(--lb-ink3, #64786D);
    background: #FFFFFF;
    border: 1px solid var(--lb-line, #E2EBE4);
    box-shadow: none;
  }
  /* 「编辑资料」（自己看自己，走 yq-btn--ghost）：主站给的是 --brand-50/100 薄荷浅底，
     在 opt 里偏亮；换成 opt 的浅绿底 + 深绿字，和上面那颗同一套语言。 */
  html[data-theme="ay"][data-theme] .sh-hd__follow.yq-btn--ghost {
    color: var(--lb-g600, #15803D);
    background: var(--lb-g50, #F2F8F4);
    border: 1px solid var(--lb-g100, #E7F1EA);
    box-shadow: none;
  }

  /* 7.5 标题 / 正文 / 话题 / 评论头 */
  html[data-theme="ay"][data-theme] .sh-t { padding: 11px var(--sp-4) 0; }
  html[data-theme="ay"][data-theme] .sh-t h1 {
    font-size: 15.5px;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: -.2px;
    color: var(--lb-ink, #1F2A24);
    margin: 0 0 8px;
  }
  /* 设计稿标题下面没有「时间 / 浏览 / 版块」这行 meta，交给话题与正文 */
  html[data-theme="ay"][data-theme] .sh-t__meta { display: none; }
  html[data-theme="ay"][data-theme] .sh-body {
    padding: 0 var(--sp-4);
    font-size: 13.4px;
    line-height: 1.85;
    color: var(--lb-ink2, #4A5A51);
  }
  html[data-theme="ay"][data-theme] .sh-body p { margin: 0 0 8px; }

  html[data-theme="ay"][data-theme] .nd-tg {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 4px var(--sp-4) 0;
  }
  html[data-theme="ay"][data-theme] .nd-tg a {
    font-size: 11px;
    color: var(--lb-g600, #15803D);
    background: var(--lb-g50, #F2F8F4);
    border: 1px solid var(--lb-g100, #E7F1EA);
    padding: 3px 8px;
    border-radius: 6px;
    text-decoration: none;
  }

  html[data-theme="ay"][data-theme] .nd-cmh {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 16px 0 10px;
    padding: 0 var(--sp-4);
    font-size: 11.5px;
    color: var(--lb-ink3, #64786D);
  }
  html[data-theme="ay"][data-theme] .nd-cmh b {
    color: var(--lb-ink, #1F2A24);
    font-size: 11.5px;
    font-weight: 650;
  }
  /* 评论区的老标题（竖条 + 「N 条」）让位给 .nd-cmh；只命中含评论列表的那一段 */
  html[data-theme="ay"][data-theme] .yq-main > section:has(.cm-list) .yq-sec-hd { display: none; }
  html[data-theme="ay"][data-theme] .yq-main > section:has(.cm-list) { padding-top: 0 !important; }

  /* 7.6 评论列表：紧凑一行（头像 24 / 名 11 / 正文 12.4 / 脚注 10） */
  html[data-theme="ay"][data-theme] .cm-list {
    padding: 0 var(--sp-4) var(--sp-4);
    gap: 12px;
  }
  html[data-theme="ay"][data-theme] .cm-item { gap: 8px; }
  html[data-theme="ay"][data-theme] .cm-list .yq-ava { width: 24px; height: 24px; }
  html[data-theme="ay"][data-theme] .cm-item__hd { gap: 6px; }
  html[data-theme="ay"][data-theme] .cm-item__n { font-size: 11px; font-weight: 600; color: var(--lb-ink3, #64786D); }
  html[data-theme="ay"][data-theme] .cm-item__body { margin-top: 2px; font-size: 12.4px; line-height: 1.62; color: var(--lb-ink2, #4A5A51); }
  html[data-theme="ay"][data-theme] .cm-item__t { font-size: 10px; color: var(--lb-ink4, #8C9A92); }
  html[data-theme="ay"][data-theme] .cm-item__sub { margin-top: 3px; font-size: 10px; color: var(--lb-ink4, #8C9A92); }
  html[data-theme="ay"][data-theme] .cm-item__sub button { font-size: 10px; color: var(--lb-ink4, #8C9A92); }

  /* 7.7 段间距按设计稿收口：原站 `.yq-main > section` 统一吃 20px 下边距，
     图/作者/标题/正文之间被撑成 20+，设计稿只有 8-12px → 这里逐段归零。 */
  html[data-theme="ay"][data-theme] .yq-main > .pd-sec,
  html[data-theme="ay"][data-theme] .yq-main > .sh-hd,
  html[data-theme="ay"][data-theme] .yq-main > .sh-t,
  html[data-theme="ay"][data-theme] .yq-main > .sh-body { margin-bottom: 0; }
  html[data-theme="ay"][data-theme] .nd-tg { margin-bottom: 2px; }
  /* 评论前那条分隔线（设计稿 .nd__sep）+ 与正文拉开 14px */
  html[data-theme="ay"][data-theme] .yq-main > section:has(.cm-list) {
    margin-top: 14px;
    border-top: 1px solid var(--lb-line2, #EDF2EE);
  }

  /* 7.8 底部固定条：说点什么… + 四枚动作（设计稿 52 高、白底、无阴影） */
  html[data-theme="ay"][data-theme] .cm-bar {
    height: 52px;
    padding: 0 14px;
    gap: 9px;
    background: #FFFFFF;
    border-top: 1px solid var(--lb-line2, #EDF2EE);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  html[data-theme="ay"][data-theme] .cm-bar__in {
    height: 32px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: var(--lb-soft, #F4F8F5);
    font-size: 11.5px;
  }
  html[data-theme="ay"][data-theme] .cm-bar__in:focus { background: #FFFFFF; border: 1px solid var(--lb-line, #E2EBE4); }
  html[data-theme="ay"][data-theme] .cm-bar__send {
    height: 30px !important;
    padding: 0 11px !important;
    border-radius: 999px;
    font-size: 11.5px;
  }
  html[data-theme="ay"][data-theme] .nd-act {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: none;
  }
  html[data-theme="ay"][data-theme] .nd-act__i {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--lb-ink3, #64786D);
    font-size: 10px;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
  }
  html[data-theme="ay"][data-theme] .nd-act__i svg { width: 17px; height: 17px; }
  html[data-theme="ay"][data-theme] .nd-act__i b { font-weight: 500; }
  /* 点赞数用热度红（设计稿原话），未点赞空心、点过实心 */
  html[data-theme="ay"][data-theme] .nd-act__lk,
  html[data-theme="ay"][data-theme] .nd-act__lk.is-on { color: var(--lb-danger, #C4453B); }
  html[data-theme="ay"][data-theme] .nd-act__lk svg { fill: none; stroke: currentColor; }
  html[data-theme="ay"][data-theme] .nd-act__lk.is-on svg { fill: currentColor; }
  html[data-theme="ay"][data-theme] .nd-act__i.is-on:not(.nd-act__lk) { color: var(--lb-ink, #1F2A24); }
  /* 底栏已经有四枚动作时，正文下面那条 .dy-act 让位（活动/商品页没有 nd-act，照旧保留） */
  html[data-theme="ay"][data-theme] .yq-main:has(.nd-act) .dy-act { display: none; }

  /* ==========================================================================
     8. 广场 Hero 边框统一（20261021xz1 · 承接 20261014 工单「hero边框也要改」）
     ------------------------------------------------------------------------
     .hsq（HeroSquare 视频卡）的主描边是全局薄荷绿 var(--mint-300,#74e3da)，
     与 yz9 修过的瀑布流卡片（--lb-line #E2EBE4 细线）不是一套色 ——
     广场首屏「video 卡 → 图文卡」上下相邻时色差明显。
     这里只改描边颜色，圆角/尺寸/暗色变体一律不动（首页 Hero 在 opt 下本就隐藏）。
     回滚：删本段即可。 */
  html[data-theme="ay"][data-theme] .hsq {
    border-color: var(--lb-line, #E2EBE4);
  }

  /* ==========================================================================
     8. [LB-HERO] 20261022lb2 · V2 定稿主推 hero（设计稿《宜宇_首页_两步路V2定稿》.hero）
        横版 190px 大图卡：16px 圆角 + 底部 veil + 左上白底 chip + 左下标题/副题
        + 右下白底「报名」钮。DOM 复用 op-banner 轮播（slides 真实运营位）。
        veil 渐变是图片遮罩（保白字可读），与全局「禁装饰渐变」红线不冲突。
     ========================================================================== */
  html[data-theme="ay"][data-theme] .op-bwrap { height: 190px; margin: 12px 14px 0; border-radius: 16px; }
  html[data-theme="ay"][data-theme] .op-bwrap .op-banner {
    padding: 0;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .op-banner__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    flex: none;
  }
  html[data-theme="ay"][data-theme] .op-banner__img img { width: 100%; height: 100%; object-fit: cover; }
  /* 底部 veil（稿 .hero .veil） */
  html[data-theme="ay"][data-theme] .op-banner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 18, 14, 0) 30%, rgba(10, 18, 14, .62));
    pointer-events: none;
  }
  html[data-theme="ay"][data-theme] .op-banner__c {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0 12px 11px;
    gap: 0;
    pointer-events: none;
  }
  /* 左上白底 chip（稿 .hero .chip：em 主推词墨色 · 日期绿） */
  html[data-theme="ay"][data-theme] .op-banner__r1 {
    position: absolute;
    left: 11px;
    top: 11px;
    right: auto;
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, .94);
    border-radius: 5px;
    padding: 3px 7px;
  }
  html[data-theme="ay"][data-theme] .op-banner__tag {
    position: static;
    background: transparent;
    border: 0;
    color: #141C19;
    font-size: 8.5px;
    font-weight: 720;
    letter-spacing: .08em;
    padding: 0;
  }
  html[data-theme="ay"][data-theme] .op-banner__r1 .tm { color: #0B8F3C; font-size: 8.5px; font-weight: 720; }
  /* 左下标题 + 副题（稿 .hero .tx） */
  html[data-theme="ay"][data-theme] .op-banner__t {
    color: #FFFFFF;
    font-size: 15.5px;
    font-weight: 760;
    line-height: 1.3;
    letter-spacing: -.2px;
    width: 72%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .op-banner__sub {
    color: rgba(255, 255, 255, .85);
    font-size: 9.5px;
    margin-top: 4px;
  }
  /* 右下白底报名钮（稿 .hero .go） */
  html[data-theme="ay"][data-theme] .op-banner__go {
    position: absolute;
    right: 11px;
    bottom: 11px;
    height: 28px;
    padding: 0 11px;
    border-radius: 8px;
    background: #FFFFFF;
    color: #141C19;
    border: 0;
    font-size: 10.5px;
    font-weight: 740;
    pointer-events: auto;
  }
  html[data-theme="ay"][data-theme] .op-banner__go svg { width: 9px; height: 9px; }
  /* V2 无指示点（单张主推 + 精选横滑接管多卡） */
  html[data-theme="ay"][data-theme] .op-bwrap__dots { display: none; }

  /* ==========================================================================
     9. [LB-TB] 两步路底栏（default.vue v-else-if="isLb && zone==='main'" 分支）
        首页 · 发现 · [发布 FAB] · 消息 · 我的 —— 稿 .tb + .fab 凸起。
        高度沿用 --tb-h（页面 calc 依赖它，不能漂）；fab 用负 margin 凸起，
        不改变容器高度。PC 端整条不显示（与 .yq-tb 在 pc.css 里同待遇）。
     ========================================================================== */
  /* ★ 接管老 chrome：lb 下隐藏 .yq-tb（DOM 保留，pc.js 克隆 #yqTb 不受影响）
       与右下角悬浮 .yq-fab —— 发布职能由本底栏中央 fab 承担，防止双 fab。 */
  html[data-theme="ay"][data-theme] .yq-tb { display: none !important; }
  html[data-theme="ay"][data-theme] .yq-fab { display: none !important; }
  html[data-theme="ay"][data-theme] .yq-lbtb {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    height: calc(var(--tb-h, 50px) + var(--safe-bot, 0px));
    padding-bottom: var(--safe-bot, 0px);
    display: flex;
    align-items: stretch;
    background: #FFFFFF;
    border-top: 1px solid var(--lb-line);
  }
  html[data-theme="ay"][data-theme] .yq-lbtb__i {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    font-size: 10px;
    font-weight: 600;
    color: var(--lb-ink3);
    text-decoration: none;
    position: relative;
    min-height: 44px;
  }
  html[data-theme="ay"][data-theme] .yq-lbtb__i svg { width: 20px; height: 20px; }
  html[data-theme="ay"][data-theme] .yq-lbtb__i.is-on { color: var(--lb-g500); font-weight: 800; }
  html[data-theme="ay"][data-theme] .yq-lbtb__n {
    position: absolute;
    top: 6px;
    left: 50%;
    margin-left: 6px;
    background: var(--lb-danger);
    color: #FFFFFF;
    font-size: 9px;
    font-weight: 700;
    min-width: 14px;
    height: 14px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    font-style: normal;
  }
  html[data-theme="ay"][data-theme] .yq-lbtb__fwrap {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    pointer-events: none;
  }
  html[data-theme="ay"][data-theme] .yq-lbtb__fab {
    pointer-events: auto;
    width: 46px;
    height: 46px;
    margin-top: -16px;
    border: 0;
    border-radius: 50%;
    background: var(--lb-g500);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(64, 194, 84, .42);
    cursor: pointer;
    padding: 0;
  }
  html[data-theme="ay"][data-theme] .yq-lbtb__fab:active { transform: scale(.94); }
  html[data-theme="ay"][data-theme] .yq-lbtb__fab {
    position: relative;
    transition: transform .16s ease;
  }
  html[data-theme="ay"][data-theme] .yq-lbtb__fab svg { display: block; }
  /* 右上角 + 号徽章（发布语义，16px 白圆绿描边绿 + ） */
  html[data-theme="ay"][data-theme] .yq-lbtb__fab-p {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #15803D;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 4px rgba(20, 28, 25, .18);
  }

  /* ==========================================================================
     10. [LB-MSG] 消息页按稿视图 03：tab 从「凹槽分段」改回文字大标签 + 绿下划线
         （稿 .cats：选中 800 墨色 + 18×3 圆角下划线）；行头像 42、标题 13.5/700。
     ========================================================================== */
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs {
    display: flex;
    gap: 18px;
    margin: 0 14px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i {
    flex: none;
    position: relative;
    height: 41px;
    gap: 3px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--lb-ink3);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i.is-on {
    background: transparent;
    box-shadow: none;
    color: var(--lb-ink);
    font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-tabs__i.is-on::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 5px;
    width: 18px;
    height: 3px;
    border-radius: 3px;
    background: var(--lb-g500);
  }
  html[data-theme="ay"][data-theme] .op-msg .ms-th { padding: 11px 2px; height: auto; min-height: 66px; }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__ava,
  html[data-theme="ay"][data-theme] .op-msg .ms-th__ava .yq-ava { width: 42px; height: 42px; }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__nm { font-size: 13.5px; font-weight: 700; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__tm { font-size: 11px; color: var(--lb-ink3); }
  html[data-theme="ay"][data-theme] .op-msg .ms-th__last { font-size: 12.5px; color: var(--lb-ink3); }
  html[data-theme="ay"][data-theme] .op-msg .op-glabel { font-size: 13px; font-weight: 800; color: var(--lb-ink); }
  /* 未读红点 = 稿 red */
  html[data-theme="ay"][data-theme] .ms-th__dot,
  html[data-theme="ay"][data-theme] .ms-bell__n,
  html[data-theme="ay"][data-theme] .ms-tabs__i i { background: var(--lb-danger); color: #FFFFFF; }

  /* ==========================================================================
     11. [LB-ME] 我的页按稿视图 04：四格统计条分隔线 + 头像 brand 描边圈
     ========================================================================== */
  html[data-theme="ay"][data-theme] .op-asset--lb { position: relative; }
  html[data-theme="ay"][data-theme] .op-asset--lb .op-asset__i + .op-asset__i::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 22px;
    background: var(--lb-line);
  }
  /* __i 没有定位上下文时以网格单元为参照：给单元 relative */
  html[data-theme="ay"][data-theme] .op-asset--lb .op-asset__i { position: relative; }
  html[data-theme="ay"][data-theme] .op-asset--lb .op-asset__i + .op-asset__i::before { left: -1px; }
  html[data-theme="ay"][data-theme] .pr-hd .yq-ava--md {
    border: 2px solid var(--lb-g500);
    padding: 2px;
    border-radius: 50%;
    background: #FFFFFF;
  }

  /* ==========================================================================
     12. [LB-HD] 20261022lb2 · V2 定稿首页顶栏（设计稿 .hd）
         tabs（关注/活动/搭子）+ 右侧小柚智能体键；品牌字/搜索胶囊/发布胶囊
         与左侧大头像全部让位（搜索移入 .op-srch2，发布移入底栏 fab）。
     ========================================================================== */
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__yz,
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__br,
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__s,
  html[data-theme="ay"][data-theme] .yq-hd--xhs .yq-hd__pubx { display: none !important; }
  html[data-theme="ay"][data-theme] .yq-hd__v2t {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 18px;
  }
  html[data-theme="ay"][data-theme] .yq-hd__v2t-i {
    position: relative;
    font-size: 13.5px;
    color: #9AA49E;
    text-decoration: none;
    padding: 4px 0;
    white-space: nowrap;
  }
  html[data-theme="ay"][data-theme] .yq-hd__v2t-i.on {
    color: var(--lb-ink);
    font-weight: 780;
    font-size: 15.5px;
  }
  html[data-theme="ay"][data-theme] .yq-hd__v2t-i.on::after {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -9px;
    bottom: -6px;
    width: 18px;
    height: 2.5px;
    border-radius: 2px;
    background: var(--lb-g500);
  }
  /* 小柚智能体键（22px 圆键，柚身+叶+眼+嘴 IP 形象，非机器人） */
  html[data-theme="ay"][data-theme] .yq-hd__ai {
    margin-left: auto;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lb-ink);
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .yq-hd__ai:active { background: var(--lb-soft); }
  html[data-theme="ay"][data-theme] .yq-hd__ai svg { width: 21px; height: 21px; display: block; }

  /* ==========================================================================
     13. [LB-MISC] 主题色细节：选中绿、话题 chip 按压态（稿 .topics :active）
     ========================================================================== */
  html[data-theme="ay"][data-theme] .hm-home .yq-pill:active { border-color: var(--lb-g500); color: var(--lb-g500); }
  html[data-theme="ay"][data-theme] .hm-home .op-chip:first-child { background: var(--lb-ink); border-color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .hm-home .hm-ev__st--open { color: var(--lb-g600); }


  /* ==========================================================================
     14. [LB-V2] 20261022lb2 · V2 定稿首页其余区块（《宜宇_首页_两步路V2定稿》1:1）
         搜索框 .op-srch2 / 区块头 .op-sh / 精选横滑 .op-pick / 话题 .op-topics /
         统计条 .op-stat / 活动行 .op-rw / 瀑布流图文卡（.fm 全套）/ 隐藏公益条。
         数据全部来自既有接口（home stats+tags / hero / events / 帖子流），无造假。
     ========================================================================== */
  /* --- 搜索框（稿 .srch：38px 高、99px 圆角、#F3F5F4 底） --- */
  html[data-theme="ay"][data-theme] .op-sticky { padding-top: 9px; }
  html[data-theme="ay"][data-theme] .op-srch2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 14px;
    height: 38px;
    border-radius: 99px;
    background: #F3F5F4;
    border: 1px solid #EDF0EE;
    padding: 0 13px;
  }
  html[data-theme="ay"][data-theme] .op-srch2 svg { color: #9AA49E; flex: none; }
  html[data-theme="ay"][data-theme] .op-srch2 input {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    outline: none;
    font-size: 11.5px;
    color: var(--lb-ink);
  }
  html[data-theme="ay"][data-theme] .op-srch2 input::placeholder { color: #9AA49E; }
  html[data-theme="ay"][data-theme] .op-srch2 input::-webkit-search-cancel-button { -webkit-appearance: none; }

  /* --- 区块头（稿 .sh） --- */
  html[data-theme="ay"][data-theme] .op-sh {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 14px 9px;
  }
  html[data-theme="ay"][data-theme] .op-sh b {
    font-size: 14.5px;
    font-weight: 750;
    letter-spacing: -.2px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--lb-ink);
  }
  html[data-theme="ay"][data-theme] .op-sh b em {
    font-style: normal;
    font-size: 9px;
    font-weight: 700;
    color: #2B7A43;
    background: #E4F5E9;
    border-radius: 4px;
    padding: 2px 5px;
  }
  html[data-theme="ay"][data-theme] .op-sh a,
  html[data-theme="ay"][data-theme] .op-sh .op-sh__sub {
    font-size: 10px;
    color: #9AA49E;
    display: flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .op-sh--fm { padding-top: 16px; }

  /* --- 本周精选横滑（稿 .sc2：158×104 卡 + veil + 标题/副题） --- */
  html[data-theme="ay"][data-theme] .op-pick {
    display: flex;
    gap: 8px;
    padding: 0 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  html[data-theme="ay"][data-theme] .op-pick::-webkit-scrollbar { display: none; }
  html[data-theme="ay"][data-theme] .op-pick__c {
    width: 158px;
    flex: none;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    height: 104px;
  }
  html[data-theme="ay"][data-theme] .op-pick__c img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .op-pick__veil {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 62px;
    background: linear-gradient(180deg, rgba(10, 18, 14, 0), rgba(10, 18, 14, .68));
  }
  html[data-theme="ay"][data-theme] .op-pick__tx { position: absolute; left: 8px; right: 8px; bottom: 7px; color: #FFFFFF; }
  html[data-theme="ay"][data-theme] .op-pick__tx b { display: block; font-size: 10.5px; font-weight: 700; line-height: 1.3; }
  html[data-theme="ay"][data-theme] .op-pick__tx span { display: block; font-size: 8px; opacity: .85; margin-top: 2px; }

  /* --- 热门话题 chips（稿 .topic） --- */
  html[data-theme="ay"][data-theme] .op-topics {
    display: flex;
    gap: 7px;
    padding: 10px 14px 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  html[data-theme="ay"][data-theme] .op-topics::-webkit-scrollbar { display: none; }
  html[data-theme="ay"][data-theme] .op-topics a {
    flex: none;
    font-size: 11px;
    color: #3A453F;
    background: #F3F5F4;
    border: 1px solid #E7EBE8;
    border-radius: 99px;
    padding: 6px 12px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  html[data-theme="ay"][data-theme] .op-topics a.on { background: var(--lb-ink); color: #FFFFFF; border-color: var(--lb-ink); font-weight: 650; }
  html[data-theme="ay"][data-theme] .op-topics a.on b { color: var(--lb-g500); }
  html[data-theme="ay"][data-theme] .op-topics b { font-weight: 650; }

  /* --- 统计条（稿 .stat：上下发丝线、三格、b 15px/760） --- */
  html[data-theme="ay"][data-theme] .op-stat {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px 14px 0;
    padding: 9px 0;
    border-top: 1px solid var(--lb-line);
    border-bottom: 1px solid var(--lb-line);
  }
  html[data-theme="ay"][data-theme] .op-stat span {
    flex: 1;
    text-align: center;
    font-size: 9.5px;
    color: #9AA49E;
    border-right: 1px solid var(--lb-line);
  }
  html[data-theme="ay"][data-theme] .op-stat span:last-child { border-right: none; }
  html[data-theme="ay"][data-theme] .op-stat span b {
    display: block;
    font-size: 15px;
    font-weight: 760;
    color: var(--lb-ink);
    letter-spacing: -.3px;
  }

  /* --- 近期活动列表行（稿 .rw） --- */
  html[data-theme="ay"][data-theme] .op-rw {
    display: flex;
    gap: 10px;
    padding: 7px 14px;
    align-items: center;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .op-rw__im {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    flex: none;
    position: relative;
    background: #EEF3EF;   /* 20261025hm3 · 无封面时给个底色，不再是一格透明 */
  }
  html[data-theme="ay"][data-theme] .op-rw__im img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .op-rw__ph {
    position: absolute; inset: 0; margin: auto;
    width: 24px; height: 24px; color: #A9BCB0;
  }
  html[data-theme="ay"][data-theme] .op-rw__lv {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 8px;
    font-weight: 700;
    color: #FFFFFF;
    background: var(--lb-g500);
    padding: 1px 5px;
    border-radius: 0 0 6px 0;
    font-style: normal;
  }
  html[data-theme="ay"][data-theme] .op-rw__b { flex: 1; min-width: 0; }
  html[data-theme="ay"][data-theme] .op-rw__t {
    font-size: 12.5px;
    font-weight: 690;
    line-height: 1.32;
    color: var(--lb-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }
  html[data-theme="ay"][data-theme] .op-rw__m { display: flex; gap: 8px; margin-top: 5px; font-size: 9.5px; color: #9AA49E; }
  html[data-theme="ay"][data-theme] .op-rw__m span { display: flex; align-items: center; gap: 3px; }
  html[data-theme="ay"][data-theme] .op-rw__rt { text-align: right; flex: none; }
  html[data-theme="ay"][data-theme] .op-rw__rt b { font-size: 11px; font-weight: 740; color: #0B8F3C; display: block; }
  html[data-theme="ay"][data-theme] .op-rw__rt span { font-size: 8.5px; color: #9AA49E; display: block; margin-top: 2px; }

  /* --- 瀑布流图文卡 1:1（稿 .fm：12px 圆角、1px 发丝线、1/1.05 封面、ct 标签、
         11.5px 两行标题、14px 头像 + 9px meta；文字笔记卡 tag+h4+p+au2） --- */
  html[data-theme="ay"][data-theme] .hm-home .yq-water { column-gap: 10px; padding: 0 14px; }
  html[data-theme="ay"][data-theme] .hm-home .yq-water > * { margin-bottom: 10px; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post {
    border-radius: 12px;
    border: 1px solid var(--lb-line);
    background: #FFFFFF;
  }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__cover { aspect-ratio: 1 / 1.05; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__cover img { object-fit: cover; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__badge {
    left: 6px;
    top: 6px;
    height: auto;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(20, 28, 25, .55);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    font-size: 8.5px;
    font-weight: 650;
  }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__body { padding: 8px 9px 9px; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__t {
    font-size: 11.5px;
    font-weight: 680;
    line-height: 1.4;
    height: 32px;
    color: var(--lb-ink);
  }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__foot { margin-top: 7px; gap: 5px; font-size: 9px; color: #9AA49E; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__nm { font-size: 9px; color: #5B6B64; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__u .yq-ava { width: 14px; height: 14px; font-size: 8px; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__zan { font-size: 9px; color: #9AA49E; }
  html[data-theme="ay"][data-theme] .hm-home .yq-post__zan svg { width: 9px; height: 9px; }
  /* 纯文字笔记卡 1:1 稿 .card.text（20261023lb3）：
     白底 → 浅绿胶囊 → 14.5px 粗黑标题 → 12px 灰摘要（3 行）→ 底栏。
     旧版是「摘要当大字 + 标题排下面」，与设计稿顺序相反 —— 用户实锤反馈。
     选择器去掉 .hm-home 限定（同特异性复刻 .yq-water 版，yz9 先例），
     广场/个人页与首页统一。 */
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note {
    background: #FFFFFF;
    padding: 11px 11px 10px;
    min-height: 0;
    gap: 0;
  }
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note::before,
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note::after { display: none; }
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note__tag {
    font-size: 10px;
    font-weight: 700;
    color: #15803D;
    background: rgba(64, 194, 84, .09);
    border: 0;
    border-radius: 5px;
    padding: 2.5px 7px;
    margin-bottom: 8px;
  }
  /* 标题（PostCard 新增 .yq-note__h，scoped 默认 display:none，这里放出） */
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note__h {
    display: block;
    font-size: 14.5px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: -.2px;
    color: #141C19;
    word-break: break-word;
  }
  /* 摘要：原大字块降级为 12px 灰字 3 行（稿 .ex） */
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note__t {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
    color: #5B6B64;
    -webkit-line-clamp: 3;
    margin-top: 7px;
  }
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-note__ft { display: none; }
  /* 标题已进笔记块，body 里那份老标题让位 */
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-post__t { display: none; }
  /* 笔记卡底栏间距收紧（摘要即末行，foot 直接贴底） */
  html[data-theme="ay"][data-theme] .yq-post.is-note .yq-post__body { padding: 8px 9px 9px; }

  /* 20261023lb5 · 删 hero 开关条样式：开关已挪后台（Setting: lb_hero_on），
     原 .op-herotgl 样式块与 PC 兜底行一并移除。 */

  /* --- [LB-V2F] 话题过滤态副标（.op-sh--fm 右侧「#话题 · 清除」） --- */
  html[data-theme="ay"][data-theme] .op-sh__sub { cursor: pointer; }
  html[data-theme="ay"][data-theme] .op-sh__sub--on { color: #15803D; font-weight: 700; }
  html[data-theme="ay"][data-theme] .op-sh__sub--on b { color: #40C254; font-weight: 700; margin-right: 1px; }



  /* V2 首页无公益条 */
  html[data-theme="ay"][data-theme] .hm-home .welfare-bar { display: none !important; }
}


/* ==========================================================================
   附录 · 活动详情（设计稿 v-evdetail）—— show.vue 的 isAy 分支
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"] .evd-box {
    background: #fff; border: 1px solid var(--lb-line); border-radius: 12px; padding: 0 14px; margin-bottom: 12px;
  }
  html[data-theme="ay"] .evd-box__row {
    display: flex; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--lb-line);
  }
  html[data-theme="ay"] .evd-box__row:last-child { border-bottom: none; }
  html[data-theme="ay"] .evd-box__i {
    width: 30px; height: 30px; border-radius: 9px; flex: none; background: rgba(64,194,84,.1);
    color: var(--lb-g600); display: grid; place-items: center;
  }
  html[data-theme="ay"] .evd-box__c { flex: 1; min-width: 0; }
  html[data-theme="ay"] .evd-box__lab { font-size: 9.5px; letter-spacing: .05em; color: var(--lb-ink3); font-weight: 700; }
  html[data-theme="ay"] .evd-box__val { font-size: 12.5px; font-weight: 680; margin-top: 1px; line-height: 1.45; color: var(--lb-ink); }
  html[data-theme="ay"] .evd-box__val em { font-style: normal; color: var(--lb-a600); font-weight: 700; }
  html[data-theme="ay"] .evd-box .ev-members__i { outline: 2px solid #fff; }
}

/* ==========================================================================
   宜宇 · 附录二：首页「活动 / 搭子」页内分组（20261025ht1）
   --------------------------------------------------------------------------
   【由来】用户 P0 纠正：顶栏「关注/活动/搭子」必须在当前页内切换内容
     （设计稿 v-home 的 cat() = data-grp 切换），不是跳 /events、/dazi。
     模板在 pages/index.vue（ay-ha-* = 活动组入口引导卡；ay-hd-* = 搭子组）。
   【数据口径】搭子动态 = buddy?action=feed 真实数据（懒加载，与 /dazi 同源）；
     我的搭子/申请不代取（buddy.php 只放行 feed）→ 引导卡进同路人，不编造。
   【范围】只包 @media (max-width:1023.98px)，PC 端零生效。
   ========================================================================== */
@media (max-width: 1023.98px) {

  /* ---- A. 活动组 · 入口引导卡（设计稿 data-grp="活动"）---- */
  html[data-theme="ay"][data-theme] .ay-ha { margin: 14px 0 0; }
  html[data-theme="ay"][data-theme] .ay-ha__card {
    margin: 0 14px; background: #fff; border: 1px solid var(--lb-line);
    border-radius: 14px; padding: 16px;
  }
  html[data-theme="ay"][data-theme] .ay-ha__t { font-size: 15px; font-weight: 800; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .ay-ha__d {
    font-size: 11px; color: var(--lb-ink2); margin: 5px 0 0; line-height: 1.6;
  }
  html[data-theme="ay"][data-theme] .ay-ha__chips { display: flex; gap: 6px; margin-top: 12px; }
  html[data-theme="ay"][data-theme] .ay-ha__chip {
    display: inline-flex; align-items: center; min-height: 32px;
    font-size: 10.5px; color: var(--lb-ink2); border: 1px solid var(--lb-line);
    border-radius: 99px; padding: 5px 12px; text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-ha__go {
    display: flex; align-items: center; justify-content: center; min-height: 44px;
    margin-top: 13px; background: var(--lb-g500); color: #fff;
    border-radius: 10px; font-size: 13px; font-weight: 800; text-decoration: none;
  }

  /* ---- B. 搭子组 · 联动状态条（设计稿 .daz-link）---- */
  html[data-theme="ay"][data-theme] .ay-hd { margin: 14px 0 0; }
  html[data-theme="ay"][data-theme] .ay-hd__link {
    display: flex; align-items: center; gap: 9px; margin: 0 14px;
    background: #fff; border: 1px solid var(--lb-line); border-radius: 13px; padding: 10px 13px;
  }
  html[data-theme="ay"][data-theme] .ay-hd__badge {
    width: 30px; height: 30px; border-radius: 9px; flex: none;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 12px; font-weight: 900; background: var(--lb-g500);
  }
  html[data-theme="ay"][data-theme] .ay-hd__badge--go { background: #3F7D5C; }
  html[data-theme="ay"][data-theme] .ay-hd__name { font-size: 11.5px; font-weight: 700; color: var(--lb-ink); flex: none; }
  html[data-theme="ay"][data-theme] .ay-hd__mid {
    flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 4px;
  }
  html[data-theme="ay"][data-theme] .ay-hd__dot {
    width: 7px; height: 7px; border-radius: 50%; background: var(--lb-g500); flex: none;
  }
  html[data-theme="ay"][data-theme] .ay-hd__note {
    font-size: 9.5px; color: var(--lb-ink3);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }

  /* ---- C. 搭子组 · 分区头（设计稿 .sec）---- */
  html[data-theme="ay"][data-theme] .ay-hd__sec {
    display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 8px;
  }
  html[data-theme="ay"][data-theme] .ay-hd__sec h3 { font-size: 14.5px; font-weight: 800; color: var(--lb-ink); margin: 0; }
  html[data-theme="ay"][data-theme] .ay-hd__sec a { font-size: 11px; color: var(--lb-ink3); text-decoration: none; }

  /* ---- D. 搭子组 · 我的搭子引导卡（不代取个人数据 → 引导进同路人）---- */
  html[data-theme="ay"][data-theme] .ay-hd__guide {
    display: flex; align-items: center; gap: 11px; margin: 0 14px;
    background: #fff; border: 1px solid var(--lb-line); border-radius: 13px; padding: 13px;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-hd__guide-i {
    width: 42px; height: 42px; border-radius: 11px; flex: none;
    display: flex; align-items: center; justify-content: center;
    background: var(--lb-g50); color: var(--lb-g600);
  }
  html[data-theme="ay"][data-theme] .ay-hd__guide-c { flex: 1; min-width: 0; }
  html[data-theme="ay"][data-theme] .ay-hd__guide-c b { display: block; font-size: 12.5px; font-weight: 750; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .ay-hd__guide-c span {
    display: block; font-size: 10px; color: var(--lb-ink2); margin-top: 2px; line-height: 1.5;
  }
  html[data-theme="ay"][data-theme] .ay-hd__guide-go {
    flex: none; font-size: 11px; font-weight: 800; color: #fff;
    background: var(--lb-g500); border-radius: 8px; padding: 6px 13px; white-space: nowrap;
  }

  /* ---- E. 搭子组 · 同路动态列表（真实 feed；同一卡片 + 分隔线，设计稿 1:1）---- */
  html[data-theme="ay"][data-theme] .ay-hd__box {
    margin: 0 14px; background: #fff; border: 1px solid var(--lb-line);
    border-radius: 13px; padding: 2px 13px;
  }
  html[data-theme="ay"][data-theme] .ay-hd__row {
    display: flex; align-items: center; gap: 10px; padding: 12px 0;
    border-bottom: 1px solid var(--lb-line); text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-hd__row:last-child { border-bottom: none; }
  html[data-theme="ay"][data-theme] .ay-hd__av {
    width: 42px; height: 42px; border-radius: 11px; flex: none; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: var(--lb-g500); color: #fff; font-size: 14px; font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .ay-hd__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .ay-hd__row-b { flex: 1; min-width: 0; }
  html[data-theme="ay"][data-theme] .ay-hd__row-t { display: block; font-size: 12.5px; font-weight: 750; color: var(--lb-ink); }
  html[data-theme="ay"][data-theme] .ay-hd__row-l {
    display: block; font-size: 10.5px; color: var(--lb-ink2); margin-top: 3px; line-height: 1.5;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  html[data-theme="ay"][data-theme] .ay-hd__row-tag {
    flex: none; font-size: 9px; font-weight: 700; color: #3F7D5C;
    background: #F2F8F4; border: 1px solid #D5E6DB; border-radius: 99px; padding: 3px 8px;
  }

  /* ---- F. 搭子组 · 空态 / 底部 CTA ---- */
  html[data-theme="ay"][data-theme] .ay-hd__empty {
    margin: 0 14px; background: #fff; border: 1px solid var(--lb-line);
    border-radius: 13px; padding: 28px 18px; text-align: center;
  }
  html[data-theme="ay"][data-theme] .ay-hd__empty-t { font-size: 13px; font-weight: 750; color: var(--lb-ink2); }
  html[data-theme="ay"][data-theme] .ay-hd__empty-d { font-size: 11px; color: var(--lb-ink3); margin-top: 6px; line-height: 1.7; }
  html[data-theme="ay"][data-theme] .ay-hd__empty-go {
    display: inline-block; margin-top: 14px; background: var(--lb-g500); color: #fff;
    font-size: 12.5px; font-weight: 750; padding: 9px 20px; border-radius: 10px; text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-hd__cta {
    display: block; margin: 10px 14px 0; background: var(--lb-g500); color: #fff;
    border-radius: 12px; padding: 13px; text-align: center;
    font-size: 13.5px; font-weight: 800; text-decoration: none;
  }

  /* ---- G. PC 兜底：分组块在 ≥1024 不显形（ay 本就是手机端主题）---- */
}

/* ==========================================================================
   宜宇 · 附录三：首页关注组两列图文流（20261025hm2）
   --------------------------------------------------------------------------
   【由来】设计稿 v-home「关注」组的 .v2-fm：2 列卡片流（图片卡 1:1.05 封面 +
     板块角标 + 标题两行 + 作者/点赞；文字卡 = 文字笔记签 + 标题三行 + 摘要两行）。
     迁移前首页关注组还是 PostCard 单列瀑布流（PHP 等价结构）——与设计稿差距最大的一块。
   【数据】items = 现有 feed（与 PostCard 同一份），不新增接口、不编造；
     无封面 → 文字卡（summary 兜底标题/摘要）。
   【交互】NuxtLink 客户端导航（保住 homeTab 页内状态）；无限滚动哨兵/ScrollEnd
     与原结构共用同一套 observer。
   【范围】只包 @media (max-width:1023.98px)，PC 端零生效（兜底清单已含三类）。
   ========================================================================== */
@media (max-width: 1023.98px) {

  /* ---- A. 两列网格（设计稿 .v2-fm）---- */
  html[data-theme="ay"][data-theme] .ay-hm__fm {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 14px 6px;
    align-items: start;
  }
  html[data-theme="ay"][data-theme] .ay-hm__c {
    min-width: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--lb-line);
    text-decoration: none;
    display: block;
  }
  html[data-theme="ay"][data-theme] .ay-hm__c:active { opacity: .85; }

  /* ---- B. 图片卡：封面 1:1.05 + 板块角标（设计稿 .im/.ct）---- */
  html[data-theme="ay"][data-theme] .ay-hm__im {
    position: relative;
    aspect-ratio: 1 / 1.05;
    overflow: hidden;
    background: var(--lb-soft);
    display: block;
  }
  html[data-theme="ay"][data-theme] .ay-hm__im img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  html[data-theme="ay"][data-theme] .ay-hm__ct {
    position: absolute; left: 6px; top: 6px;
    font-size: 8.5px; font-weight: 650; color: #fff;
    background: rgba(20, 28, 25, .55);
    border-radius: 4px; padding: 2px 6px;
    font-style: normal;
    max-width: calc(100% - 12px);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }

  /* ---- C. 图片卡正文：标题两行 + 作者行（设计稿 .b/.t/.au）---- */
  html[data-theme="ay"][data-theme] .ay-hm__b { display: block; padding: 8px 9px 9px; }
  html[data-theme="ay"][data-theme] .ay-hm__t {
    display: block;
    font-size: 11.5px; font-weight: 680; line-height: 1.4;
    height: 32px; overflow: hidden; color: var(--lb-ink);
  }
  html[data-theme="ay"][data-theme] .ay-hm__au {
    display: flex; align-items: center; gap: 5px;
    margin-top: 7px; font-size: 9px; color: var(--lb-ink3);
  }
  html[data-theme="ay"][data-theme] .ay-hm__au i {
    width: 14px; height: 14px; border-radius: 50%;
    background: #E4F5E9; color: #2B7A43;
    display: grid; place-items: center;
    font-size: 8px; font-style: normal; font-weight: 700; flex: none;
  }
  html[data-theme="ay"][data-theme] .ay-hm__au b {
    font-weight: 600; color: #5B6B64;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  html[data-theme="ay"][data-theme] .ay-hm__hk {
    margin-left: auto; display: flex; align-items: center; gap: 2px;
    color: var(--lb-ink3); flex: none;
  }

  /* ---- D. 文字卡：笔记签 + 标题三行 + 摘要两行（设计稿 .txt/.tag/h4/p）---- */
  html[data-theme="ay"][data-theme] .ay-hm__txt { display: block; padding: 11px 11px 10px; background: #fff; }
  html[data-theme="ay"][data-theme] .ay-hm__tag {
    display: inline-flex; align-items: center; gap: 3px;
    font-size: 8.5px; font-weight: 650; color: #2B7A43;
    background: #E4F5E9; border-radius: 4px; padding: 2px 6px;
    margin-bottom: 8px;
  }
  html[data-theme="ay"][data-theme] .ay-hm__h4 {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13.5px; font-weight: 740; line-height: 1.42;
    letter-spacing: -.2px; color: var(--lb-ink);
  }
  html[data-theme="ay"][data-theme] .ay-hm__p {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 7px 0 0; font-size: 10.5px; line-height: 1.65; color: #5B6B64;
  }
  html[data-theme="ay"][data-theme] .ay-hm__au2 {
    display: flex; align-items: center; gap: 5px;
    margin-top: 9px; font-size: 9px; color: var(--lb-ink3);
  }
  html[data-theme="ay"][data-theme] .ay-hm__au2 i {
    width: 14px; height: 14px; border-radius: 50%;
    background: #E4F5E9; color: #2B7A43;
    display: grid; place-items: center;
    font-size: 8px; font-style: normal; font-weight: 700; flex: none;
  }
  html[data-theme="ay"][data-theme] .ay-hm__au2 b { font-weight: 600; color: #5B6B64; }

  /* ---- E. 骨架屏（两列占位，不发请求时的观感）---- */
  html[data-theme="ay"][data-theme] .ay-hm__sk {
    min-width: 0; border-radius: 12px; overflow: hidden;
    background: #fff; border: 1px solid var(--lb-line);
  }
  html[data-theme="ay"][data-theme] .ay-hm__sk::before {
    content: ''; display: block; aspect-ratio: 1 / 1.05; background: var(--lb-soft);
  }
  html[data-theme="ay"][data-theme] .ay-hm__sk::after {
    content: ''; display: block; height: 40px; margin: 8px 9px 9px;
    border-radius: 6px; background: var(--lb-soft);
  }

  /* ---- F. 空态 ---- */
  html[data-theme="ay"][data-theme] .ay-hm__empty {
    margin: 24px 14px; background: #fff;
    border: 1px solid var(--lb-line); border-radius: 13px;
    padding: 36px 18px; text-align: center;
  }
  html[data-theme="ay"][data-theme] .ay-hm__empty-t { font-size: 13.5px; font-weight: 700; color: var(--lb-ink2); }
  html[data-theme="ay"][data-theme] .ay-hm__empty-d { font-size: 11px; color: var(--lb-ink3); margin-top: 6px; }
  html[data-theme="ay"][data-theme] .ay-hm__empty-go {
    display: inline-block; margin-top: 14px;
    background: var(--lb-g500); color: #fff;
    font-size: 12.5px; font-weight: 750; padding: 9px 20px;
    border-radius: 10px; text-decoration: none;
  }
}

/* ==========================================================================
   附录四 · 20261025hp3 · ay 广场顶栏 1:1 设计稿 .sq-top
   设计稿《宜宇_App完整Demo.html》v-square 顶部一行：
     `广场` 19px/800 左对齐  →  智能体 34px 圆 + 右上红点  →  搜索胶囊（flex:1，灰底）
   现状是「居中标题 + 右侧发布」，搜索被挤没了（用户 P0：「广场搜索都去掉了」）。
   ★ 只作用于 .yq-hd--aysq（ay 主题 + /square），其它主题/页面零影响。
   ★ 变量沿用本文件既有的 --lb-*（lb.css 定义，与 ay 同一套 chrome）。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .yq-hd--aysq {
    gap: 0;
    padding-left: 14px;
    padding-right: 14px;
  }
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__title {
    /* .yq-hd__title--c 是 absolute + translate(-50%) 居中（app.css 2690），
       这里必须把定位全部还原成文档流，否则标题会飘到右边、搜索被挤到左边。 */
    position: static;
    left: auto;
    top: auto;
    transform: none;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
    flex: 0 0 auto;
    text-align: left;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .5px;
    color: var(--lb-ink);
    margin: 0;
  }
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__sai {
    position: relative;
    flex: none;
    width: 34px;
    height: 34px;
    margin-left: 4px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__sai:active { opacity: .8; }
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__sai-dot {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 1;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #E5484D;
    border: 1.5px solid #fff;
  }
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__sqs {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    margin-left: 8px;
    padding: 0 11px;
    background: var(--lb-soft);
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--lb-ink2);
    font-size: 12.5px;
    font-weight: 500;
    text-align: left;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__sqs:active {
    border-color: var(--lb-g600);
    color: var(--lb-ink);
  }
  /* 设计稿广场顶栏没有「+发布」：发布是底栏中央 FAB，顶栏不再重复一份 */
  html[data-theme="ay"][data-theme] .yq-hd--aysq .yq-hd__act { display: none; }
}

/* ==========================================================================
   附录五 · 20261025hp4 · ay 首页顶栏 1:1 设计稿 v-home
   设计稿首页第一行只有：`关注 活动 搭子`（左）+ 绿色圆形智能体（右）。
   没有「+发布」、没有搜索图标 —— 发布是底栏中央 FAB，搜索是下一行的搜索条。
   现状右侧多一颗发布胶囊，与设计稿不符。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .yq-hd--ay .yq-hd__act { display: none; }
}

/* ==========================================================================
   附录六 · 20261025hp4 · 广场视频卡（HeroSquare）1:1 设计稿 .video-card
   设计稿：margin 10px 14px 0、圆角 14、无描边；封面 16:9≈200px；
           左上「板块」= 橙色标签 + 「视频」= 白底深字标签；
           信息区 标题 16/800 + 灰字播放数 + 品牌绿「进入」按钮。
   线上现状：满宽直角、薄荷描边、大圆角胶囊按钮 —— 与设计稿明显不同。
   ★ 标题仍在视频下方（不压画面）：X5/鸿蒙会把压在原生视频 Surface 上的 DOM 吞掉，
     这一条是 2026-09-20 第八版的结构性结论，不能为了叠图把它赌回去。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .hsq {
    margin: 10px 14px 0;
    border: 0;
    border-radius: 14px;
    box-shadow: none;
    background: #fff;
  }
  html[data-theme="ay"][data-theme] .hsq__stage { border-radius: 14px 14px 0 0; }
  html[data-theme="ay"][data-theme] .hsq__top { top: 11px; left: 11px; right: 11px; gap: 6px; }
  html[data-theme="ay"][data-theme] .hsq__eyebrow,
  html[data-theme="ay"][data-theme] .hsq__tag {
    padding: 3px 8px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  html[data-theme="ay"][data-theme] .hsq__eyebrow { background: #EE7A1F; color: #fff; }
  html[data-theme="ay"][data-theme] .hsq__tag { background: rgba(255,255,255,.94); color: #141C19; }
  html[data-theme="ay"][data-theme] .hsq__body { padding: 11px 12px 12px; border-top: 0; }
  html[data-theme="ay"][data-theme] .hsq__t { font-size: 16px; font-weight: 800; line-height: 1.38; margin-bottom: 8px; }
  html[data-theme="ay"][data-theme] .hsq__meta > span { font-size: 11px; color: #8a938d; }
  html[data-theme="ay"][data-theme] .hsq__go { color: #8a938d; font-weight: 400; }
  html[data-theme="ay"][data-theme] .hsq__btn {
    height: 28px;
    padding: 0 13px;
    border-radius: 8px;
    background: #40C254;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 3px 8px rgba(64,194,84,.28);
  }
}

/* ==========================================================================
   附录七 · 20261025hp5 · ay 首页顶栏收尾（严格 1:1 设计稿 v-home）
   设计稿第一行只有：`关注 活动 搭子`（左，14px 起）+ 绿色圆形智能体（右，贴边）。
   线上多出来的两块必须去掉：
     · .yq-hd__brand（渐变绿 logo + 「宜宇」品牌字）—— 设计稿首页没有品牌字
     · .yq-hd__title（absolute 居中的「宜宇」大标题）—— 同上
   注意 :not(.yq-hd--aysq) —— 广场页的「广场」标题是靠 .yq-hd__title 渲染的，不能连坐。
   同时让频道 nav 撑满整行，把智能体推到最右（否则去掉 brand 后它会贴在「搭子」后面）。
   ========================================================================== */
@media (max-width: 1023.98px) {
  /* ★ 20261025hp8：必须限定 --ayhome —— 之前用 .yq-hd--ay:not(--aysq)，
     把「消息」「我的」「活动」等所有内页的居中标题一起隐藏了（顶栏一片空白）。 */
  html[data-theme="ay"][data-theme] .yq-hd--ayhome .yq-hd__brand { display: none; }
  html[data-theme="ay"][data-theme] .yq-hd--ayhome .yq-hd__title { display: none; }
  html[data-theme="ay"][data-theme] .yq-hd--ay .yq-hd__v2t { flex: 1; min-width: 0; }
  html[data-theme="ay"][data-theme] .yq-hd--ay .yq-hd__ai { margin-left: auto; }
}

/* ==========================================================================
   附录八 · 20261025mg1 · ay 消息页 1:1 设计稿 v-msg
   设计稿：分类行（互动/群组/系统/搭子）→ 分组标题 → 行式会话（42px 头像、
   13.5/700 名称、11 灰时间、12.5 灰预览、1px 分隔线）。没有卡片、没有搜索大条。
   本站按真实维度落成：互动（/notice）/ 私信 / 群组 / 闲置；搜索收进最右放大镜。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .ay-msg { padding-top: 2px; }
  html[data-theme="ay"][data-theme] .ay-msg__cats {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 6px 16px 10px;
    background: transparent;
  }
  html[data-theme="ay"][data-theme] .ay-msg__cat {
    position: relative;
    flex: none;
    border: 0;
    background: transparent;
    padding: 6px 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--lb-ink3, #7C877F);
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .ay-msg__cat i {
    font-style: normal;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    background: #E5484D;
    border-radius: 999px;
    padding: 1px 5px;
    margin-left: 4px;
    vertical-align: 2px;
  }
  html[data-theme="ay"][data-theme] .ay-msg__cat.is-on { color: var(--lb-ink, #141C19); font-weight: 800; }
  html[data-theme="ay"][data-theme] .ay-msg__cat.is-on::after {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -9px;
    bottom: 0;
    width: 18px;
    height: 2.5px;
    border-radius: 2px;
    background: #40C254;
  }
  html[data-theme="ay"][data-theme] .ay-msg__mag {
    margin-left: auto;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--lb-ink2, #5C6A63);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  html[data-theme="ay"][data-theme] .ay-msg__mag.is-on { background: var(--lb-soft, #F3F5F4); color: var(--lb-ink, #141C19); }

  html[data-theme="ay"][data-theme] .ay-msg__sbox { padding: 0 14px 8px; }

  html[data-theme="ay"][data-theme] .ay-msg__sec {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 4px 16px 2px;
    padding: 12px 0 6px;
    font-size: 14px;
    font-weight: 800;
    color: var(--lb-ink, #141C19);
  }
  html[data-theme="ay"][data-theme] .ay-msg__sec-more { font-size: 11px; font-weight: 500; color: var(--lb-ink3, #8A938D); }

  html[data-theme="ay"][data-theme] .ay-msg__row {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--lb-line, #EDF0EE);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .ay-msg__row:active { opacity: .72; }
  html[data-theme="ay"][data-theme] .ay-msg__ava {
    position: relative;
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--lb-soft, #F3F5F4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lb-ink, #141C19);
    font-size: 16px;
    font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .ay-msg__ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .ay-msg__ava--grp { border-radius: 12px; background: linear-gradient(135deg, #2E8B46, #40C254); }
  html[data-theme="ay"][data-theme] .ay-msg__ava--add { color: var(--lb-ink3, #8A938D); }
  html[data-theme="ay"][data-theme] .ay-msg__gico { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
  html[data-theme="ay"][data-theme] .ay-msg__ini { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #fff; }

  html[data-theme="ay"][data-theme] .ay-msg__c { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  html[data-theme="ay"][data-theme] .ay-msg__top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
  html[data-theme="ay"][data-theme] .ay-msg__top b {
    min-width: 0;
    font-size: 13.5px;
    font-weight: 800;
    color: var(--lb-ink, #141C19);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  html[data-theme="ay"][data-theme] .ay-msg__cnt {
    font-style: normal;
    font-size: 9px;
    font-weight: 700;
    color: var(--lb-ink3, #8A938D);
    background: var(--lb-soft, #F3F5F4);
    border-radius: 4px;
    padding: 1px 4px;
    margin-left: 5px;
    vertical-align: 1px;
  }
  html[data-theme="ay"][data-theme] .ay-msg__tm { flex: none; font-size: 11px; color: var(--lb-ink3, #8A938D); }
  html[data-theme="ay"][data-theme] .ay-msg__last {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--lb-ink2, #5C6A63);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .ay-msg__n {
    flex: none;
    font-style: normal;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: #E5484D;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  html[data-theme="ay"][data-theme] .ay-msg__add {
    display: flex;
    align-items: center;
    gap: 11px;
    width: calc(100% - 32px);
    margin: 0 16px;
    padding: 11px 0;
    border: 0;
    background: transparent;
    text-align: left;
  }
  html[data-theme="ay"][data-theme] .ay-msg__add-t { font-size: 13.5px; font-weight: 700; color: var(--lb-ink2, #5C6A63); }
  html[data-theme="ay"][data-theme] .ay-msg__empty {
    margin: 8px 16px;
    padding: 32px 0;
    text-align: center;
    font-size: 12.5px;
    color: var(--lb-ink3, #8A938D);
  }
}

/* ==========================================================================
   附录九 · 20261025me1 · ay 我的页 1:1 设计稿 v-me
   资料卡（头像 58 品牌描边 / 昵称 17-800 / 徽章 / 积分 / 两个按钮 / 三统计）
   → 签到卡 → 四格统计 → 12 宫格（38 图标四色）→ 户外成就 → 服务 4 格
   → 我的作品 3 列 → 更多 3 行 → 退出登录。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .ay-me-card {
    margin: 10px 14px 0;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
    padding: 16px;
  }
  html[data-theme="ay"][data-theme] .ay-me-card__top { display: flex; align-items: center; gap: 13px; }
  html[data-theme="ay"][data-theme] .ay-me-card__ava {
    flex: none;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #40C254;
    padding: 2px;
    background: #fff;
    box-sizing: border-box;
  }
  html[data-theme="ay"][data-theme] .ay-me-card__ava img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
  html[data-theme="ay"][data-theme] .ay-me-card__ini {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%; border-radius: 50%; color: #fff; font-size: 20px; font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .ay-me-card__main { flex: 1; min-width: 0; }
  html[data-theme="ay"][data-theme] .ay-me-card__nm { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
  html[data-theme="ay"][data-theme] .ay-me-card__nm b { font-size: 17px; font-weight: 800; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-me-card__cert {
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
    color: #2E8B46;
    border: 1px solid rgba(64,194,84,.5);
    background: rgba(64,194,84,.08);
    padding: 2px 7px;
    border-radius: 5px;
  }
  html[data-theme="ay"][data-theme] .ay-me-card__sub { font-size: 11px; color: var(--lb-ink3, #8A938D); margin-top: 4px; }
  html[data-theme="ay"][data-theme] .ay-me-card__score { font-size: 12px; font-weight: 800; color: #40C254; margin-top: 5px; }
  html[data-theme="ay"][data-theme] .ay-me-card__acts { display: flex; gap: 8px; margin-top: 9px; }
  html[data-theme="ay"][data-theme] .ay-me-card__btn {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #40C254;
    padding: 5px 14px;
    border-radius: 7px;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-me-card__btn--ghost {
    color: var(--lb-ink, #141C19);
    background: var(--lb-soft, #F3F5F4);
    border: 1px solid var(--lb-line, #EDF0EE);
  }
  html[data-theme="ay"][data-theme] .ay-me-card__nums {
    display: flex;
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid var(--lb-line, #EDF0EE);
  }
  html[data-theme="ay"][data-theme] .ay-me-card__nums a { flex: 1; text-align: center; text-decoration: none; }
  html[data-theme="ay"][data-theme] .ay-me-card__nums b { display: block; font-size: 16px; font-weight: 800; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-me-card__nums span { display: block; font-size: 10.5px; color: var(--lb-ink3, #8A938D); margin-top: 2px; }

  html[data-theme="ay"][data-theme] .ay-me-sign { margin: 10px 14px 0; }
  /* 签到卡本身是共享组件：只在 ay 下把它包成设计稿的白卡 */
  html[data-theme="ay"][data-theme] .ay-me-sign > * {
    margin: 0 !important;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
  }

  html[data-theme="ay"][data-theme] .ay-me-stat {
    display: flex;
    margin: 10px 14px 0;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
    padding: 12px 0;
  }
  html[data-theme="ay"][data-theme] .ay-me-stat a { flex: 1; text-align: center; text-decoration: none; position: relative; }
  html[data-theme="ay"][data-theme] .ay-me-stat a + a::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    width: 1px; height: 26px;
    margin-top: -13px;
    background: var(--lb-line, #EDF0EE);
  }
  html[data-theme="ay"][data-theme] .ay-me-stat b { display: block; font-size: 15px; font-weight: 800; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-me-stat span { display: block; font-size: 10px; color: var(--lb-ink3, #8A938D); margin-top: 2px; }

  html[data-theme="ay"][data-theme] .ay-me-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    margin: 10px 14px 0;
    padding: 6px 4px;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
  }
  html[data-theme="ay"][data-theme] .ay-me-grid a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    padding: 12px 4px;
    text-decoration: none;
    border-radius: 10px;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .ay-me-grid a:active { background: var(--lb-soft, #F3F5F4); }
  html[data-theme="ay"][data-theme] .ay-me-grid span { font-size: 11px; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-me-grid .g {
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px;
    border-radius: 11px;
    background: var(--lb-soft, #F3F5F4);
    color: var(--lb-ink, #141C19);
  }
  html[data-theme="ay"][data-theme] .ay-me-grid .g svg { width: 18px; height: 18px; }
  html[data-theme="ay"][data-theme] .ay-me-grid .g--green { background: rgba(64,194,84,.1); color: #2E8B46; }
  html[data-theme="ay"][data-theme] .ay-me-grid .g--orange { background: rgba(232,111,60,.1); color: #E86F3C; }
  html[data-theme="ay"][data-theme] .ay-me-grid .g--solid { background: #40C254; color: #fff; }
  html[data-theme="ay"][data-theme] .ay-me-grid .g--gold { background: linear-gradient(180deg,#FBEED8,#F6DEA8); color: #B8862B; }
  html[data-theme="ay"][data-theme] .ay-me-grid .g--purple { background: linear-gradient(180deg,#EFE9FB,#DDD2F5); color: #6B4FA8; }

  html[data-theme="ay"][data-theme] .ay-me-ach {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 10px 14px 0;
    padding: 13px 14px;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-me-ach__l { min-width: 0; }
  html[data-theme="ay"][data-theme] .ay-me-ach__l b { display: block; font-size: 13.5px; font-weight: 800; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-me-ach__l span { display: block; font-size: 10.5px; color: var(--lb-ink3, #8A938D); margin-top: 3px; }
  html[data-theme="ay"][data-theme] .ay-me-ach__r { flex: none; display: flex; align-items: center; gap: 2px; font-size: 11px; color: var(--lb-ink2, #5C6A63); }

  html[data-theme="ay"][data-theme] .ay-me-sec {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 12px 16px 6px;
  }
  html[data-theme="ay"][data-theme] .ay-me-sec b { font-size: 13.5px; font-weight: 800; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-me-sec a { display: flex; align-items: center; gap: 2px; font-size: 10.5px; color: var(--lb-ink3, #8A938D); text-decoration: none; }

  html[data-theme="ay"][data-theme] .ay-me-works {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 0 14px;
  }
  html[data-theme="ay"][data-theme] .ay-me-works a {
    display: block;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 9px;
    overflow: hidden;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-me-works__im {
    display: flex; align-items: center; justify-content: center;
    height: 64px;
    background: var(--lb-soft, #F3F5F4);
    color: var(--lb-ink3, #8A938D);
  }
  html[data-theme="ay"][data-theme] .ay-me-works__im img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .ay-me-works__t {
    display: block;
    padding: 6px 7px;
    font-size: 10px;
    color: var(--lb-ink2, #5C6A63);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  html[data-theme="ay"][data-theme] .ay-me-more {
    margin: 0 14px 6px;
    padding: 4px 14px;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
  }
  html[data-theme="ay"][data-theme] .ay-me-more a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 0;
    font-size: 13.5px;
    color: var(--lb-ink, #141C19);
    text-decoration: none;
    border-bottom: 1px solid var(--lb-line, #EDF0EE);
  }
  html[data-theme="ay"][data-theme] .ay-me-more a:last-child { border-bottom: 0; }
  html[data-theme="ay"][data-theme] .ay-me-more a svg { color: var(--lb-ink3, #8A938D); }

  html[data-theme="ay"][data-theme] .ay-me-out {
    display: block;
    margin: 20px 14px 0;
    text-align: center;
    font-size: 13px;
    color: #E5484D;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-me-pad { height: calc(var(--tb-h, 58px) + 24px); }
}

/* ==========================================================================
   附录十 · 20261025ev2 · ay 活动页 1:1 设计稿 v-events
   搜索条 → 主推大卡（压图标题 + 报名键）→ 状态胶囊（选中绿底白字）
   → 大封面卡片（左上状态/免费，右上出发日，16:9 封面，16/800 标题，
     发布者 + 橙字报名数，底部「名额标签 / 免费 / 报名键」）。
   ★ 真实活动全部无封面 → 占位是品牌浅底 + 山形图标，版式高度不变。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .ay-ev { padding-top: 4px; }
  html[data-theme="ay"][data-theme] .ay-ev__srch {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    margin: 8px 14px 6px;
    padding: 0 13px;
    background: var(--lb-soft, #F3F5F4);
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 99px;
    color: #9AA49E;
  }
  html[data-theme="ay"][data-theme] .ay-ev__srch svg { flex: none; }
  html[data-theme="ay"][data-theme] .ay-ev__srch input[type="search"] {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    outline: none;
    font-size: 13px;
    color: var(--lb-ink, #141C19);
  }
  html[data-theme="ay"][data-theme] .ay-ev__srch input[type="search"]::-webkit-search-cancel-button { display: none; }
  html[data-theme="ay"][data-theme] .ay-ev__clr { flex: none; font-size: 18px; line-height: 1; color: #9AA49E; text-decoration: none; padding: 0 2px; }

  html[data-theme="ay"][data-theme] .ay-ev-hero {
    position: relative;
    display: block;
    height: 190px;
    margin: 8px 14px 0;
    border-radius: 14px;
    overflow: hidden;
    background: #E8EFEA;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__im { position: absolute; inset: 0; }
  html[data-theme="ay"][data-theme] .ay-ev-hero__im img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .ay-ev-hero__ph {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    width: 100%; height: 100%;
    color: #9DB3A6;
    font-size: 11px;
    font-style: normal;
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__mask {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.14) 45%, rgba(0,0,0,.74) 100%);
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__badge {
    position: absolute;
    left: 12px;
    top: 12px;
    padding: 3px 8px;
    border-radius: 5px;
    background: rgba(255,255,255,.95);
    color: #141C19;
    font-size: 10px;
    font-weight: 700;
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__c {
    position: absolute;
    left: 12px;
    right: 86px;
    bottom: 12px;
    color: #fff;
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__c b {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
    text-shadow: 0 1px 6px rgba(0,0,0,.35);
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__c span {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 4px;
    font-size: 10.5px;
    line-height: 1.5;
    opacity: .88;
  }
  html[data-theme="ay"][data-theme] .ay-ev-hero__go {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 7px 13px;
    border-radius: 999px;
    background: #fff;
    color: #141C19;
    font-size: 11px;
    font-weight: 800;
  }

  html[data-theme="ay"][data-theme] .ay-ev__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 10px 14px 2px;
  }
  html[data-theme="ay"][data-theme] .ay-ev__chips { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  html[data-theme="ay"][data-theme] .ay-ev__chip {
    flex: none;
    height: 32px;
    padding: 0 16px;
    border-radius: 10px;
    border: 1px solid var(--lb-line, #E7EBE8);
    background: #fff;
    color: var(--lb-ink2, #5C6A63);
    font-size: 13px;
    font-weight: 600;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .ay-ev__chip.is-on {
    background: #40C254;
    border-color: #40C254;
    color: #fff;
    font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .ay-ev__cnt { flex: none; font-size: 11px; color: var(--lb-ink3, #8A938D); }

  html[data-theme="ay"][data-theme] .ay-ev__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 10px 14px 4px;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card {
    display: block;
    background: #fff;
    border: 1px solid var(--lb-line, #EDF0EE);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card:active { opacity: .92; }
  html[data-theme="ay"][data-theme] .ay-ev-card__im {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    background: #E8EFEA;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__im img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .ay-ev-card__ph {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    color: #A8B8AE;
    font-size: 11px;
    font-style: normal;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__fl { position: absolute; left: 10px; top: 10px; display: flex; gap: 4px; }
  html[data-theme="ay"][data-theme] .ay-ev-card__fl i {
    font-style: normal;
    padding: 4px 9px;
    border-radius: 5px;
    background: #1F8A5F;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__fl i.free { background: #EE7A1F; }
  html[data-theme="ay"][data-theme] .ay-ev-card__when {
    position: absolute;
    right: 10px;
    top: 10px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-shadow: 0 1px 4px rgba(0,0,0,.45);
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__b { display: block; padding: 12px 14px 14px; }
  html[data-theme="ay"][data-theme] .ay-ev-card__t {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
    color: var(--lb-ink, #141C19);
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
  html[data-theme="ay"][data-theme] .ay-ev-card__org {
    display: flex; align-items: center; gap: 5px;
    min-width: 0;
    font-size: 11.5px;
    color: var(--lb-ink2, #5C6A63);
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__org i {
    flex: none;
    display: flex; align-items: center; justify-content: center;
    width: 17px; height: 17px;
    border-radius: 50%;
    background: #E1F0E5;
    color: #2E8B46;
    font-size: 9px;
    font-weight: 800;
    font-style: normal;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__join { flex: none; font-size: 12px; font-weight: 700; color: #E86F3C; }
  html[data-theme="ay"][data-theme] .ay-ev-card__ft { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
  html[data-theme="ay"][data-theme] .ay-ev-card__tag {
    padding: 4px 8px;
    border-radius: 6px;
    background: var(--lb-soft, #F3F5F4);
    color: var(--lb-ink3, #8A938D);
    font-size: 10.5px;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__price { font-size: 13px; font-weight: 800; color: var(--lb-ink, #141C19); }
  html[data-theme="ay"][data-theme] .ay-ev-card__go {
    margin-left: auto;
    padding: 7px 16px;
    border-radius: 8px;
    background: #40C254;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .ay-ev-card__go.is-off { background: #EDEEEC; color: #9AA49E; }

  html[data-theme="ay"][data-theme] .ay-ev__empty { margin: 48px 24px; text-align: center; }
  html[data-theme="ay"][data-theme] .ay-ev__empty b { display: block; font-size: 14px; font-weight: 700; color: #54635E; }
  html[data-theme="ay"][data-theme] .ay-ev__empty span { display: block; margin-top: 8px; font-size: 12px; line-height: 1.7; color: #9AA49E; }
  html[data-theme="ay"][data-theme] .ay-ev__empty a {
    display: inline-block;
    margin-top: 16px;
    padding: 9px 22px;
    border-radius: 10px;
    background: #40C254;
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .ay-ev__pad { height: calc(var(--tb-h, 58px) + 20px); }
}

/* 20261025hp8 · 活动卡/主推无封面时，右上「出发日」白字在浅底上不可读 → 换深色 */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .ay-ev-card__when.is-plain {
    color: var(--lb-ink2, #5C6A63);
    text-shadow: none;
  }
}

/* 20261025hp8 · ay 签到卡：设计稿是一行 7 格（30 天网格在这里太长，把首屏撑爆）。
   只裁显示，不动组件逻辑与接口：签到、连签天数、明细入口全部保留。 */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .ay-me-sign .sg2 {
    padding: 14px;
  }
  html[data-theme="ay"][data-theme] .ay-me-sign .sg2__cal {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 6px !important;
  }
  html[data-theme="ay"][data-theme] .ay-me-sign .sg2__cal .sg2__d:nth-child(n + 8) { display: none !important; }
  html[data-theme="ay"][data-theme] .ay-me-sign .sg2__d {
    aspect-ratio: 1.5;
    border-radius: 8px;
  }
}

/* ==========================================================================
   附录十一 · 20261025hp10 · ay 四个主 tab 页顶栏：标题左对齐（设计稿口径）
   设计稿 v-msg / v-me / v-events / v-map 顶栏都是「页名在左」，
   线上却是「左 logo + 居中页名」。这里只对 .yq-hd--aytab（消息/我的/活动/地图）
   生效，详情页与子页仍走「返回 + 居中标题」。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .yq-hd--aytab .yq-hd__brand { display: none; }
  html[data-theme="ay"][data-theme] .yq-hd--aytab .yq-hd__title {
    position: static;
    left: auto;
    top: auto;
    transform: none;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
    flex: 0 0 auto;
    text-align: left;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .3px;
    color: var(--lb-ink, #141C19);
    margin: 0;
  }
  html[data-theme="ay"][data-theme] .yq-hd--aytab { padding-left: 16px; padding-right: 14px; }
  html[data-theme="ay"][data-theme] .yq-hd__aygear {
    margin-left: auto;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lb-ink, #141C19);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .yq-hd__aygear:active { background: var(--lb-soft, #F3F5F4); }
}

/* ==========================================================================
   附录十二 · 20261025evd1 · ay 活动详情头部（1:1 设计稿 v-evdetail）
   通栏封面 230px + 底部渐变 + 压图标题（17/800）+ 状态/免费/限额标签；
   没有封面时用品牌浅底 + 山形占位（真实数据 5 场活动全部无封面）。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .ay-evd-hd { margin: 0 0 2px; }
  html[data-theme="ay"][data-theme] .ay-evd-hd__im {
    position: relative;
    height: 230px;
    background: #E8EFEA;
    overflow: hidden;
  }
  html[data-theme="ay"][data-theme] .ay-evd-hd__im img { width: 100%; height: 100%; object-fit: cover; display: block; }
  html[data-theme="ay"][data-theme] .ay-evd-hd__ph {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 100%;
    color: #9DB3A6;
    font-size: 11.5px;
  }
  html[data-theme="ay"][data-theme] .ay-evd-hd__mask {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.16) 42%, rgba(0,0,0,.76) 100%);
  }
  html[data-theme="ay"][data-theme] .ay-evd-hd__c {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 14px;
    color: #fff;
  }
  html[data-theme="ay"][data-theme] .ay-evd-hd__tags { display: flex; gap: 6px; margin-bottom: 8px; }
  html[data-theme="ay"][data-theme] .ay-evd-hd__tags i {
    font-style: normal;
    padding: 3px 9px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    background: #1F8A5F;
    color: #fff;
  }
  html[data-theme="ay"][data-theme] .ay-evd-hd__tags i.free { background: #EE7A1F; }
  html[data-theme="ay"][data-theme] .ay-evd-hd__tags i.quota { background: rgba(255,255,255,.92); color: #141C19; }
  html[data-theme="ay"][data-theme] .ay-evd-hd__c b {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    text-shadow: 0 1px 6px rgba(0,0,0,.35);
  }
  html[data-theme="ay"][data-theme] .ay-evd-hd__sub {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    opacity: .9;
    text-shadow: 0 1px 4px rgba(0,0,0,.3);
  }
}

/* 20261025hp12 · ay 详情页顶栏：‹ 返回 + 「详情」+ 首页键（设计稿 v-detail / v-evdetail） */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .yq-hd--aydetail { padding-left: 8px; padding-right: 14px; }
  html[data-theme="ay"][data-theme] .yq-hd--aydetail .yq-hd__brand,
  html[data-theme="ay"][data-theme] .yq-hd--aydetail .yq-hd__title { display: none; }
  html[data-theme="ay"][data-theme] .yq-hd__ayback {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: var(--lb-ink, #141C19);
    text-decoration: none;
  }
  html[data-theme="ay"][data-theme] .yq-hd__ayback:active { background: var(--lb-soft, #F3F5F4); }
  html[data-theme="ay"][data-theme] .yq-hd__ayt {
    margin-left: 4px;
    font-size: 17px;
    font-weight: 800;
    color: var(--lb-ink, #141C19);
  }
  html[data-theme="ay"][data-theme] .yq-hd--aydetail .yq-hd__aygear { margin-left: auto; }
}

/* ==========================================================================
   附录十三 · 20261025hp13 · 两组 P0 + 活动发布页 1:1 设计稿 v-evcreate
   --------------------------------------------------------------------------
   P0-1 颜色令牌：设计稿 --canvas #F6F7F8（中性近白），线上 app.css 的
        --bg-base 是 #f6faf7（薄荷绿，G=250 比 R/B 高 → 整站泛绿）。
        设计稿的填充灰是 #F3F5F4（稿内 .cat/.srch 实测采样值），
        线上 --bg-sunken 是 #eaf3ed（同样泛绿）。两个令牌一起换掉。
        ★ 只在 ay 皮肤下生效（html[data-theme="ay"][data-theme]），其它主题零影响。
   P0-2 底部发布条：.pub-bar 用 bottom: calc(--tb-h + --safe-bot) 定位，
        但 /publish 页面的底栏是隐藏的（.yq-tb display:none）→ 底条上方
        多出 58px 透明缝，页面内容从缝里透出来（用户截图「应该在最底部」）。
        改为 bottom: 0 + 安全区内边距。
   1:1 活动发布：照 v-evcreate 重排 —— 工具行置顶 → 图片/视频 → 标题+正文白卡
        → 时间/地点/人数/费用白卡 → 活动类型三胶囊 → 发布到 2 列勾选格
        → 底条（存草稿 flex1 / 发布活动 flex1.4，全圆角）。
        ★ 全部用 order 重排 + 覆盖样式，DOM 顺序与 #id/data-* 锚点一个不动
          （上传器、话题、板块选择都还挂在原锚点上）。
   ========================================================================== */
@media (max-width: 1023.98px) {

  /* ---------- P0-1 · 令牌 ---------- */
  html[data-theme="ay"][data-theme] {
    --bg-base: #FFFFFF;      /* 稿 --canvas（20261025dt2：纯白，不是 F6F7F8） */
    --bg-sunken: #F3F5F4;    /* 稿 填充灰 */
    --border-1: #EDF0EE;     /* 稿 --line */
  }
  html[data-theme="ay"][data-theme] body,
  html[data-theme="ay"][data-theme] #__nuxt.yq-body { background: #FFFFFF; }

  /* ---------- P0-2 · 底条贴底 ---------- */
  html[data-theme="ay"][data-theme] .pub-bar {
    bottom: 0;
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: #FFFFFF;
    border-top: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
  html[data-theme="ay"][data-theme] .pub-bar__draft {
    flex: 1;
    padding: 10px 0;
    background: #F3F5F4;
    border: 0;
    border-radius: 999px;
    color: #3D4641;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
  }
  html[data-theme="ay"][data-theme] .pub-bar__go {
    flex: 1.4;
    padding: 10px 0;
    background: #40C254;
    border: 0;
    border-radius: 999px;
    color: #FFFFFF;
    font-size: 13.5px;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: none;
  }
  html[data-theme="ay"][data-theme] .pub-bar__go[disabled] { background: #AEB6B0; }
  html[data-theme="ay"][data-theme] .fm-bar-spacer {
    height: calc(72px + 30px + env(safe-area-inset-bottom, 0px));
  }

  /* ---------- 活动发布：容器与顺序 ---------- */
  html[data-theme="ay"][data-theme] .pub--ayev {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-tools { order: 1; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-topic-add { order: 2; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-topics { order: 3; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-media { order: 4; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-title { order: 5; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-body { order: 6; }
  html[data-theme="ay"][data-theme] .pub--ayev #yqEventBox { order: 7; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-type { order: 8; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec { order: 9; }
  html[data-theme="ay"][data-theme] .pub--ayev #yqTicket { order: 10; }
  html[data-theme="ay"][data-theme] .pub--ayev .fm-bar-spacer { order: 11; }

  /* 工具行（稿 .evc-tools：一行白胶囊，11.5px，# 号品牌绿） */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-tools {
    margin: 0;
    padding: 4px 14px 10px;
    gap: 8px;
    border-bottom: 0;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-tools__i {
    margin-left: 0;
    padding: 6px 12px;
    gap: 4px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-radius: 99px;
    color: #3D4641;
    font-size: 11.5px;
    font-weight: 500;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-tools__i i {
    color: #40C254;
    font-size: 11.5px;
    font-weight: 800;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-tools__i svg {
    width: 13px; height: 13px; color: #3D4641;
  }

  /* 话题（已选 / 展开层） */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-topics { margin: 0 14px 8px; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-topic-add {
    margin: 0 14px 8px;
    padding: 8px 10px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-radius: 12px;
  }

  /* 图片 / 视频区 */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-media { margin: 0; padding: 0 14px; }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-add--big {
    height: 150px;
    gap: 5px;
    padding: 16px;
    background: #FFFFFF;
    border: 1.5px dashed #EDF0EE;
    border-radius: 12px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-add--big svg {
    width: 36px; height: 36px;
    padding: 9px;
    box-sizing: border-box;
    background: #F6F7F8;
    border-radius: 50%;
    color: #3D4641;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-add--big span {
    font-size: 11px;
    font-weight: 700;
    color: #8A938D;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-add--big i {
    font-size: 11px;
    font-weight: 400;
    color: #C0C7C1;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe__tip {
    margin: 8px 0 0;
    font-size: 9.5px;
    color: #8A938D;
    line-height: 1.6;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe__vwrap { margin-top: 10px; }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-vadd {
    padding: 12px;
    gap: 8px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-radius: 12px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-vadd svg {
    width: 38px; height: 38px;
    padding: 10px;
    box-sizing: border-box;
    background: #F6F7F8;
    border-radius: 9px;
    color: #3D4641;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-vadd span {
    font-size: 12.5px;
    font-weight: 700;
    color: #141C19;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pe-vadd em {
    font-size: 10px;
    color: #8A938D;
  }

  /* 标题 + 正文：一张白卡两行（稿 .evc-f .r） */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 14px 0;
    padding: 0 14px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-bottom: 1px solid #EDF0EE;
    border-radius: 12px 12px 0 0;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-title::before {
    content: "标题";
    flex: 0 0 74px;
    width: 74px;
    font-size: 12.5px;
    font-weight: 750;
    color: #141C19;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-title input {
    flex: 1;
    min-width: 0;
    padding: 14px 0;
    font-size: 13px;
    font-weight: 400;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-body {
    margin: 0 14px;
    padding: 0 14px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-top: 0;
    border-radius: 0 0 12px 12px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-body::before {
    content: "活动详情";
    display: block;
    padding: 12px 0 0;
    font-size: 12.5px;
    font-weight: 750;
    color: #141C19;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-body textarea {
    min-height: 84px;
    padding: 8px 0 12px;
    font-size: 13px;
    line-height: 1.7;
  }

  /* 时间 / 地点 / 人数 / 费用：第二张白卡（稿 .evc-f） */
  html[data-theme="ay"][data-theme] .pub--ayev #yqEventBox { margin: 10px 14px 0; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-rows {
    margin: 0;
    padding: 0 14px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-radius: 12px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row {
    grid-template-columns: 74px 1fr;
    padding: 14px 0;
    border-bottom: 1px solid #EDF0EE;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row:last-child { border-bottom: 0; }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row__k {
    font-size: 12.5px;
    font-weight: 750;
    color: #141C19;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row input { font-size: 13px; }
  /* 人数上限 / 费用：设计稿只有「费用」一行，站内两个字段都是真实必填 → 竖排成两行 */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row--2col {
    display: block;
    padding: 0;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row--2col > span {
    display: grid;
    grid-template-columns: 74px 1fr;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row--2col > span + span {
    border-top: 1px solid #EDF0EE;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-row--2col .pub-row__k {
    display: block;
    font-size: 12.5px;
    font-weight: 750;
    color: #141C19;
  }

  /* 活动类型（稿 .evc-sec + .evc-tags） */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-type__k {
    padding: 14px 14px 8px;
    font-size: 12px;
    font-weight: 800;
    color: #141C19;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-type__tags {
    display: flex;
    gap: 8px;
    padding: 0 14px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-type__tag {
    flex: 1;
    padding: 9px 0;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-radius: 10px;
    color: #3D4641;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-type__tag.is-on {
    background: #40C254;
    border-color: #40C254;
    color: #FFFFFF;
    font-weight: 700;
  }

  /* 发布到（稿 .evc-cats：2 列勾选格，选中只填小方块，不染整行） */
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec {
    display: block;
    padding: 0;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec__k {
    padding: 14px 14px 8px;
    font-size: 12px;
    font-weight: 800;
    color: #141C19;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec__v {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 0 14px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec__pick .yq-pill {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 9px 11px;
    background: #FFFFFF;
    border: 1px solid #EDF0EE;
    border-radius: 10px;
    color: #3D4641;
    font-size: 11.5px;
    font-weight: 500;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec__pick .yq-pill::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 1.5px solid #E3E7E4;
    border-radius: 4px;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec__pick .yq-pill.is-on {
    background: #FFFFFF;
    border-color: #EDF0EE;
    color: #3D4641;
    font-weight: 600;
  }
  html[data-theme="ay"][data-theme] .pub--ayev .pub-sec__pick .yq-pill.is-on::before {
    background: #40C254;
    border-color: #40C254;
  }

  /* 顶栏（稿 .topbar：‹ 返回 + 居中「发布内容」16/800，没有品牌字与发布键） */
  html[data-theme="ay"][data-theme] .yq-hd--aypub .yq-hd__brand { display: none; }
  html[data-theme="ay"][data-theme] .yq-hd--aypub .yq-hd__act { display: none; }
  html[data-theme="ay"][data-theme] .yq-hd--aypub .yq-hd__title {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0;
    max-width: 60%;
  }
}

/* ==========================================================================
   附录十四 · 20261025hp14 · 两处颜色令牌落地修正
   1) 广场视频卡「进入」：附录六写的 `.hsq__btn{color:#fff}` 被同段的
      `.hsq__meta > span{color:#8a938d}` 盖掉（后者多一个 span 元素选择器），
      结果绿底灰字、几乎看不清。这里用 span.hsq__btn 提权补回白字。
   2) 签到格：组件默认 var(--bg-soft, #f3f7f4)（带绿调）→ 稿里空格是
      中性 #F6F7F8 + #EDF0EE 发丝线。
   ========================================================================== */
@media (max-width: 1023.98px) {
  html[data-theme="ay"][data-theme] .hsq__meta > span.hsq__btn { color: #FFFFFF; }
  html[data-theme="ay"][data-theme] .ay-me-sign .sg2__d {
    background: #F6F7F8;
    border-color: #EDF0EE;
    border-radius: 8px;
  }
  html[data-theme="ay"][data-theme] .ay-me-sign .sg2__d.is-today { border-color: #40C254; }
}


/* ===== 20261025dt3 · 图文详情：图集左上角分类胶囊（稿 .xhs-cover .fl） ===== */
html[data-theme="ay"][data-theme] .aydt-gal { position: relative; }
html[data-theme="ay"][data-theme] .aydt-gal__sec {
  position: absolute; left: 22px; top: 22px; z-index: 3;
  padding: 4px 9px; border-radius: 8px;
  background: rgba(255, 255, 255, .94); color: #141C19;
  font-size: 11px; font-weight: 600; line-height: 1.4;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}

/* ==========================================================================
   20261025evc1 · 活动详情：报名主操作上移到信息卡下方
   --------------------------------------------------------------
   设计稿 .evd-bar 的报名按钮原本是底部固定条；但 ay 的底栏要与图文帖统一成
   「说点什么 + 赞/藏/评/分享」，两个主操作挤一条 52px 会互相吃空间，
   所以把报名做成内容区的大胶囊，底栏只留阅读/互动。
   ★ 20261025evc2：这段**不放进手机媒体查询** —— PC（aypc）详情页一样要这块，
     否则 >=1024 会退化成浏览器默认按钮。
   ========================================================================== */
html[data-theme="ay"][data-theme] .evd-cta {
  margin: 0 0 14px;
}
html[data-theme="ay"][data-theme] .evd-cta__b {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 46px;
  padding: 0 16px;
  border: 0;
  border-radius: 13px;
  background: #40C254;
  color: #FFFFFF;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: .02em;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
html[data-theme="ay"][data-theme] .evd-cta__b:active { background: #35A947; }
html[data-theme="ay"][data-theme] .evd-cta__b.is-done {
  background: #F1F6F2;
  color: #3F7D5C;
  border: 1px solid #DCEAE0;
}
html[data-theme="ay"][data-theme] .evd-cta__b.is-off,
html[data-theme="ay"][data-theme] .evd-cta__b:disabled {
  background: #F3F5F4;
  color: #9AA8A0;
  border: 1px solid #E6ECE8;
  cursor: default;
}
html[data-theme="ay"][data-theme] .evd-cta__tip {
  margin: 8px 0 0;
  text-align: center;
  font-size: 11.5px;
  line-height: 1.5;
  color: #8B9A92;
}

@media (max-width: 1023.98px) {
  /* 底栏贴底：/show 去掉了五槽(--tb-h:0)，但 iOS 的 safe-area 会把整条
     往上顶 34px，看起来"没贴底"。改成 bottom:0 + 内部下内边距吃掉安全区，
     视觉贴底、按钮又不会被 home indicator 压住。 */
  html[data-theme="ay"][data-theme] .yq-app--notb .cm-bar {
    height: auto;
    min-height: 52px;
    padding-bottom: calc(6px + var(--safe-bot));
  }
}
