:root{
  /* ===== 伍空 Life OS 字体层级 V2.0（2026-10-04 · 开发设计规则 §19.1） ===== */
  --fs-hero:32px; --fs-page:28px; --fs-module:24px; --fs-card:19px;
  --fs-body:17px; --fs-body2:16px; --fs-aux:14px; --fs-micro:13px; --fs-btn:17px;
  --lh-hero:1.25; --lh-page:1.3; --lh-module:1.35; --lh-card:1.4;
  --lh-body:1.7; --lh-aux:1.5; --lh-micro:1.4;

  /* v67：生命纸张感的安全回退（WKTheme 运行后会覆盖为更精确的值） */
  --ink:#22202A; --ink2:#4A4655; --ink3:#86828F;
  --bg:#F7F5F0; --card:#FFFFFF; --line:rgba(0,0,0,.07); --gold:#B99755;
  --primary:#5b3fa8; --primary2:#8a63d2; --tint:#f1ecfa; --shadow:rgba(90,60,160,.25);
}

  * { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
  body {
    font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
    background:var(--bg,#f6f4fa); color:var(--ink,#2d2749); padding-bottom:80px;
  }
  .wrap { max-width:480px; margin:0 auto; }
  /* ---------- Hero ---------- */
  .hero { position:relative; padding:44px 20px 26px; color:#fff; overflow:hidden; }
  .hero .bg { position:absolute; inset:0; z-index:0; }
  .hero .bg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,12,40,.10), rgba(20,12,40,.42)); }
  .hero .inner { position:relative; z-index:1; }
  .avatar { width:76px; height:76px; border-radius:50%; border:3px solid rgba(255,255,255,.75); object-fit:cover; background:#fff; display:block; }
  .avatar-ph { width:76px; height:76px; border-radius:50%; background:rgba(255,255,255,.28); display:flex; align-items:center; justify-content:center; font-size:var(--fs-hero); font-weight:700; }
  .hero h1 { font-size:var(--fs-module); margin-top:12px; letter-spacing:.5px; }
  .hero .slogan { font-size:var(--fs-body2); opacity:.92; margin-top:6px; line-height:1.6; }
  .hero .meta { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
  .hero .meta span { font-size:var(--fs-micro); background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.3); border-radius:20px; padding:3px 10px; }
  /* ---------- 卡片 ---------- */
  /* v68 去卡片化：一级页面统一底色，内容直接铺在页面上（V2.1 §22.2 第 2/3 条） */
  .sec { margin:18px 18px 0; background:none; border-radius:0; padding:0; box-shadow:none; }
  .sec h2 { font-size:var(--fs-module); font-weight:650; line-height:var(--lh-module); display:block; margin-bottom:12px; color:var(--ink); }
  .sec p.body { font-size:var(--fs-body2); line-height:1.9; color:var(--ink2); white-space:pre-wrap; }
  /* v68 通用「去卡片化」内容块：靠留白 + 标题 + 分隔线区分，不用背景色/圆角/阴影 */
  .blk { padding:21px 0; border-bottom:1px solid rgba(0,0,0,.075); }
  .blk:last-child { border-bottom:none; padding-bottom:4px; }
  .bk-t { font-size:var(--fs-card); font-weight:600; line-height:var(--lh-card); color:var(--ink); }
  .bk-d { font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
  .bk-m { margin-top:7px; font-size:var(--fs-aux); color:var(--ink3); }
  .bk-a { display:inline-block; margin-top:13px; font-size:var(--fs-body); color:var(--primary);
    text-decoration:none; background:none; border:none; padding:0; font-family:inherit; cursor:pointer; }
  .bk-a:active { opacity:.6; }
  html[data-theme-dark="1"] .blk { border-bottom-color:rgba(255,255,255,.10); }
  .kv { font-size:var(--fs-body2); line-height:1.9; color:var(--ink2); }
  /* 定位卡 */
  .loc { margin:14px 14px 0; border-radius:16px; padding:20px 16px; color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary2)); box-shadow:0 6px 18px var(--shadow); }
  .loc .t { font-size:var(--fs-micro); opacity:.8; letter-spacing:2px; }
  .loc h3 { font-size:var(--fs-card); margin-top:6px; }
  .loc .m { font-size:var(--fs-aux); opacity:.9; margin-top:10px; line-height:1.8; }
  /* 主按钮 */
  .bigcta { margin:14px 14px 0; display:flex; gap:10px; }
  .bigcta a { flex:1; text-align:center; text-decoration:none; font-size:var(--fs-body2); font-weight:700; border-radius:16px; padding:14px 0; }
  .bigcta .main { color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary2)); box-shadow:0 4px 14px var(--shadow); }
  .bigcta .sub { color:var(--primary); background:#fff; border:1.5px solid var(--primary); }
  /* ---------- 今日流日 ---------- */
  .flow { margin:14px 14px 0; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 2px 12px rgba(80,60,150,.06); cursor:pointer; }
  .flow .top { display:flex; align-items:center; justify-content:space-between; padding:14px 16px 10px; }
  .flow .top .t { font-size:var(--fs-body2); font-weight:700; }
  .flow .top .t small { display:block; font-size:var(--fs-aux); color:#9a93b2; font-weight:400; margin-top:3px; }
  .flow .top .more { font-size:var(--fs-aux); color:var(--primary); }
  .flow .gates { display:flex; gap:10px; padding:4px 16px 12px; }
  .flow .gate { flex:1; border-radius:12px; padding:12px; text-align:center; color:#fff; }
  .flow .gate .num { font-size:var(--fs-page); font-weight:800; }
  .flow .gate .nm { font-size:var(--fs-aux); opacity:.92; margin-top:4px; line-height:1.5; }
  .flow .gate .lab { font-size:var(--fs-micro); opacity:.75; margin-bottom:4px; letter-spacing:1px; }
  .flow .rel { margin:0 16px 16px; background:#faf9fd; border-radius:10px; padding:10px 12px; font-size:var(--fs-aux); line-height:1.8; color:#4d4768; }
  .flow .rel b { color:var(--primary); }
  /* 收获 */
  .gain { display:flex; flex-direction:column; gap:8px; }
  .gain .g { display:flex; gap:10px; align-items:flex-start; background:#f6f3fc; border-radius:10px; padding:10px 12px; font-size:var(--fs-aux); line-height:1.7; color:#3c3560; }
  .gain .g i { font-style:normal; color:var(--primary); font-weight:700; }
  /* 服务前后 */
  .ba { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:stretch; }
  .ba .col { background:#faf9fd; border-radius:12px; padding:12px; font-size:var(--fs-aux); line-height:1.8; color:#4d4768; }
  .ba .col h4 { font-size:var(--fs-aux); margin-bottom:6px; color:#8b84a3; }
  .ba .arrow { align-self:center; font-size:var(--fs-card); color:var(--primary); font-weight:700; }
  .tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
  .tags span { font-size:var(--fs-aux); color:var(--primary); background:var(--tint); border-radius:14px; padding:3px 10px; }
  /* 服务 */
  .svc { border:1px solid #eeeaf6; border-radius:12px; padding:12px 14px; margin-bottom:10px; }
  .svc .r1 { display:flex; justify-content:space-between; align-items:baseline; }
  .svc .nm { font-size:var(--fs-body2); font-weight:600; }
  .svc .pr { color:var(--primary); font-weight:700; font-size:var(--fs-body); }
  .svc .pr small { font-weight:400; font-size:var(--fs-aux); color:#9a93b2; }
  .svc .ds { font-size:var(--fs-aux); color:#7d7694; margin-top:5px; line-height:1.7; }
  /* 咨询卡 */
  .consult { display:flex; justify-content:space-between; align-items:center; background:linear-gradient(120deg, var(--tint), #fff); border:1px solid var(--primary); border-radius:14px; padding:14px 16px; margin-bottom:12px; }
  .consult .l .t1 { font-size:var(--fs-body2); font-weight:700; color:var(--primary); }
  .consult .l .t2 { font-size:var(--fs-aux); color:#8b84a3; margin-top:5px; line-height:1.6; }
  .consult .pr { font-size:var(--fs-module); font-weight:800; color:var(--primary); white-space:nowrap; flex-shrink:0; margin-left:10px; }
  .consult .pr small { font-size:var(--fs-aux); font-weight:400; color:#9a93b2; }
  /* 报告商城 */
  .rpt { display:flex; gap:12px; border:1px solid #eeeaf6; border-radius:14px; padding:12px; margin-bottom:10px; align-items:center; }
  .rpt .cov { flex:0 0 58px; height:76px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:var(--fs-aux); font-weight:700; color:#fff; line-height:1.4; text-align:center; padding:6px; }
  .rpt .bd { flex:1; min-width:0; }
  .rpt .nm { font-size:var(--fs-body2); font-weight:600; line-height:1.5; }
  .rpt .ds { font-size:var(--fs-aux); color:#8b84a3; margin-top:4px; line-height:1.6; }
  .rpt .r3 { display:flex; justify-content:space-between; align-items:center; margin-top:8px; }
  .rpt .pr2 { color:var(--primary); font-weight:800; font-size:var(--fs-body); }
  .rpt .buy { font-size:var(--fs-aux); color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary2)); border-radius:14px; padding:6px 16px; cursor:pointer; border:none; }
  .rpt.base .cov { filter:brightness(1.06); }
  .rpt .own { font-size:var(--fs-aux); color:#2e9e6b; background:#e9f8f0; border-radius:12px; padding:4px 10px; }
  .mallgrp { font-size:var(--fs-aux); color:#9a93b2; margin:16px 2px 8px; display:flex; align-items:center; gap:8px; }
  .mallgrp::after { content:''; flex:1; height:1px; background:#eeeaf6; }
  /* 案例 */
  .case { border-left:3px solid var(--primary); background:#faf9fd; border-radius:0 12px 12px 0; padding:12px 14px; margin-bottom:10px; }
  .case h4 { font-size:var(--fs-body2); margin-bottom:6px; }
  .case .tag { font-size:var(--fs-aux); color:#9a93b2; margin-bottom:6px; }
  .case .ln { font-size:var(--fs-aux); line-height:1.8; color:#4d4768; }
  .case .ln b { color:var(--primary); font-weight:600; }
  /* 点评 */
  .rev { background:#faf9fd; border-radius:12px; padding:12px 14px; margin-bottom:10px; }
  .rev .r1 { display:flex; justify-content:space-between; align-items:center; }
  .rev .nm { font-size:var(--fs-aux); font-weight:600; }
  .rev .stars { font-size:var(--fs-aux); color:#e8a33d; letter-spacing:1px; }
  .rev .tx { font-size:var(--fs-aux); line-height:1.8; color:#4d4768; margin-top:6px; }
  .rev .rp { font-size:var(--fs-aux); color:#8b84a3; margin-top:6px; background:#f1eef9; border-radius:8px; padding:6px 10px; }
  .dims { display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
  .dims span { font-size:var(--fs-micro); color:#8b84a3; background:#fff; border-radius:10px; padding:2px 8px; border:1px solid #eeeaf6; }
  /* 活动 */
  .camp { display:flex; justify-content:space-between; align-items:center; background:linear-gradient(120deg, var(--tint), #fff); border:1px dashed var(--primary); border-radius:12px; padding:12px 14px; margin-bottom:10px; }
  .camp .t { font-size:var(--fs-aux); font-weight:600; color:var(--primary); }
  .camp .d { font-size:var(--fs-aux); color:#8b84a3; margin-top:4px; }
  .camp .btn2 { font-size:var(--fs-aux); color:#fff; background:var(--primary); border-radius:16px; padding:6px 14px; white-space:nowrap; cursor:pointer; }
  /* ---------- 我的 ---------- */
  /* v68 去卡片化：个人头部也压扁成一行身份（V2.1 §22.2） */
  .me-head { display:flex; align-items:center; gap:14px; margin:26px 18px 0; background:none; border-radius:0;
    padding:0 0 18px; box-shadow:none; border-bottom:1px solid rgba(0,0,0,.075); }
  .me-head .avatar { width:56px; height:56px; }
  .me-head .nm { font-size:var(--fs-module); font-weight:650; color:var(--ink); }
  .me-head .ds { font-size:var(--fs-aux); color:var(--ink3); margin-top:5px; }
  /* v322 身份荣誉奖章 */
  .me-badge { display:inline-block; margin-left:7px; padding:2px 8px; border-radius:999px; font-size:10.5px; font-weight:700;
    color:#8a6a2a; background:rgba(176,141,63,.14); vertical-align:2px; white-space:nowrap; }
  html[data-theme-dark="1"] .me-badge { color:#d8b96a; background:rgba(216,185,106,.16); }
  /* v323 金色会员头部 + 四格数据行 */
  .me-gold { margin:0; padding:24px 18px 24px; background:linear-gradient(180deg,#b3923c 0%,#96742a 100%);
    border-radius:0 0 26px 26px; }
  .mg-top { display:flex; align-items:flex-start; gap:14px; }
  .me-gold .avatar { width:62px; height:62px; border:2px solid rgba(255,255,255,.85); }
  .me-gold .avatar-ph { display:flex; align-items:center; justify-content:center; font-size:24px; color:#fff; background:rgba(255,255,255,.22); }
  /* v359 头像旁小笔：点开即编辑名片 */
  .mg-avawrap { position:relative; flex:none; }
  .ava-pen { position:absolute; right:-5px; bottom:-3px; width:23px; height:23px; border-radius:50%;
    background:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; cursor:pointer;
    box-shadow:0 2px 8px rgba(60,45,10,.4); border:1px solid rgba(0,0,0,.06); }
  .ava-pen:active { transform:scale(.92); }
  .mg-who { flex:1; min-width:0; }
  .mg-nm { font-size:20px; font-weight:700; color:#fff; display:flex; align-items:center; gap:8px; flex-wrap:wrap; line-height:1.3; }
  .mg-pill { display:inline-block; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:700;
    background:rgba(255,255,255,.18); color:rgba(255,255,255,.95); white-space:nowrap; }
  .mg-pill-vip { background:linear-gradient(135deg,#ffe9b0,#f3c74e); color:#6b4e12; }
  .mg-id { margin-top:8px; font-size:12.5px; color:rgba(255,255,255,.82); display:flex; align-items:center; gap:7px; }
  .mg-copy { cursor:pointer; opacity:.85; font-size:13px; }
  /* v403（老板 2026-10-19）：右上角三键并排 —— 消息 / 签到 / 设置；
     全部扁平：无底色、无边框、无文字标签，纯图标等距一行，永不重叠 */
  .mg-topr { margin-left:auto; display:flex; align-items:center; gap:15px; flex:none; padding-top:2px; }
  .mg-ico { width:32px; height:32px; flex:none; display:flex; align-items:center; justify-content:center;
    color:#fff; background:none; border:none; border-radius:0; padding:0; cursor:pointer; opacity:.96;
    box-shadow:none; transition:transform .15s, opacity .15s; -webkit-tap-highlight-color:transparent; }
  .mg-ico svg { width:21px; height:21px; display:block; }
  .mg-ico:active { transform:scale(.86); opacity:.7; }
  /* v387：会员卡重做（少文字多图）——渐变大卡 + 权益图标一排 */
  .mg-vip { margin-top:18px; background:#241d10; border-radius:14px; padding:14px 15px; display:flex; align-items:center; gap:10px;
    color:#fff; cursor:pointer; box-shadow:0 8px 20px rgba(60,45,10,.35); }
  .mg-vip b { font-size:15px; }
  .mg-vip small { font-size:11px; color:rgba(255,255,255,.6); margin-top:2px; }
  .mg-vip .mg-go { margin-left:auto; font-size:12.5px; color:rgba(255,255,255,.75); flex:none; }
  .vip-card { display:block; padding:16px 16px 14px; border-radius:18px;
    background:var(--t-card,#fff); border:1px solid rgba(122,92,199,.16);
    box-shadow:none; } /* v393：老板要求去掉权益卡底色 —— 改纸白卡 + 细描边 */
  .vip-card .vip-r1 { display:flex; align-items:center; gap:8px; }
  .vip-card .vip-crown { font-size:19px; flex:none; }
  .vip-card .vip-r1 b { font-size:16.5px; font-weight:800; color:var(--ink,#22202A); letter-spacing:.5px; }
  .vip-card .mg-go { font-size:12.5px; color:#6a49d8; background:rgba(122,92,199,.10); border-radius:999px; padding:5px 12px; font-weight:700; }
  .vip-card .vip-r2 { margin-top:5px; font-size:12px; color:var(--ink3,#86828F); }
  html[data-theme-dark="1"] .vip-card { background:var(--t-card,#231f31); border-color:rgba(255,255,255,.12); }
  html[data-theme-dark="1"] .vip-card .vip-r1 b { color:#efeafc; }
  html[data-theme-dark="1"] .vip-card .mg-go { color:#c9b3f5; background:rgba(167,138,224,.16); }
  html[data-theme-dark="1"] .vip-card .vip-r2 { color:rgba(239,234,252,.66); }
  .vip-card .vip-r3 { margin-top:12px; display:flex; background:rgba(255,255,255,.94); border-radius:14px; padding:10px 4px; }
  .vip-card .vip-r3 span { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; }
  .vip-card .vip-r3 em { font-style:normal; font-size:20px; line-height:1; }
  .vip-card .vip-r3 small { font-size:11px; font-weight:700; color:#4a3f66; }
  .vip-card .vip-r3 span + span { border-left:1px solid rgba(90,70,160,.12); }
  /* v387：统计行只留账户 */
  .me-gstats { display:flex; background:var(--t-card,#fff); border-radius:16px; margin:14px 18px 0; padding:14px 0;
    box-shadow:0 4px 14px rgba(0,0,0,.05); }
  .me-gstats.solo { display:flex; justify-content:flex-end; padding:11px 18px; }
  .me-gstats.solo .gs { flex:none; display:flex; align-items:baseline; gap:8px; }
  .me-gstats.solo .gs b { font-size:17px; }
  .me-gstats.solo .gs small { margin-top:0; }
  .me-gstats .gs { flex:1; text-align:center; cursor:pointer; }
  .me-gstats .gs + .gs { border-left:1px solid rgba(0,0,0,.07); }
  .me-gstats .gs b { display:block; font-size:18px; font-weight:700; color:var(--ink); }
  .me-gstats .gs.gsMoney b { color:#8a6a2a; }
  .me-gstats .gs small { display:block; margin-top:3px; font-size:11.5px; color:var(--ink3); }
  .me-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 14px 0; }
  .me-card { background:#fff; border-radius:14px; padding:14px; box-shadow:0 2px 10px rgba(80,60,150,.05); cursor:pointer; }
  .me-card .ico { font-size:var(--fs-module); }
  .me-card .t { font-size:var(--fs-body2); font-weight:600; margin-top:8px; }
  .me-card .d { font-size:var(--fs-aux); color:#9a93b2; margin-top:4px; line-height:1.6; }
  .me-list { margin:12px 14px 0; background:#fff; border-radius:14px; padding:6px 14px; box-shadow:0 2px 10px rgba(80,60,150,.05); }
  .me-row { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid #f3f1f8; font-size:var(--fs-aux); }
  .me-row:last-child { border-bottom:none; }
  .me-row .st { font-size:var(--fs-aux); }
  .me-row .st.ok { color:#2e9e6b; }
  .me-row .st.no { color:#b3adc6; }
  /* ---------- v84 我的中心（个人中心聚合） ---------- */
  /* v196 权益横幅：浅色纸感卡（用户要求去黑框，不再是深色块） */
  .me-vip { display:flex; align-items:center; gap:12px; margin:16px 18px 0; padding:14px 16px;
    border-radius:16px; background:#fffdf8; border:1px solid #e9e0cd; box-shadow:0 2px 10px rgba(120,95,40,.05); cursor:pointer; }
  .me-vip .vi { width:34px; height:34px; border-radius:10px; background:rgba(176,141,63,.13); display:flex; align-items:center; justify-content:center; font-size:var(--fs-card); flex:none; }
  .me-vip .vt { flex:1; min-width:0; }
  .me-vip .vt b { display:block; font-size:var(--fs-body); font-weight:650; color:#6b5a2e; line-height:1.4; }
  .me-vip .vt small { display:block; font-size:var(--fs-aux); color:#a3966f; margin-top:2px; }
  .me-vip .ar { color:#b08d3f; font-size:var(--fs-card); flex:none; }
  html[data-theme-dark="1"] .me-vip { background:var(--t-card,#231f31); border-color:var(--t-line,rgba(255,255,255,.12)); box-shadow:none; }
  html[data-theme-dark="1"] .me-vip .vi { background:rgba(176,141,63,.2); }
  html[data-theme-dark="1"] .me-vip .vt b { color:#e8d9ae; }
  html[data-theme-dark="1"] .me-vip .vt small { color:rgba(232,217,174,.62); }
  html[data-theme-dark="1"] .me-vip .ar { color:#c9a95c; }
  /* v225 我的工作台：名片下方每日工作入口（老师/合伙人/4980 会员） */
  .mecoach { margin:16px 14px 0; background:var(--t-card,#fff); border:1px solid rgba(122,92,199,.16);
    border-radius:16px; padding:14px 16px 4px; box-shadow:0 2px 12px rgba(46,41,66,.05); }
  .mecoach .mch { display:flex; align-items:center; gap:8px; margin-bottom:2px; }
  .mecoach .mch b { font-size:var(--fs-card); font-weight:700; color:var(--ink); }
  .mecoach .mch .hint { font-size:var(--fs-aux); color:var(--ink3); }
  .mecoach .mch .ar { margin-left:auto; font-size:var(--fs-aux); color:var(--primary); font-weight:600; }
  .mecoach .mrow { display:flex; align-items:center; gap:11px; padding:11px 0; border-top:1px solid rgba(0,0,0,.06); cursor:pointer; }
  .mecoach .mrow .em { width:30px; height:30px; border-radius:9px; background:rgba(122,92,199,.10);
    display:flex; align-items:center; justify-content:center; font-size:16px; flex:none; }
  .mecoach .mrow .em.hot { background:rgba(224,90,78,.12); }
  .mecoach .mrow .tx { flex:1; min-width:0; }
  .mecoach .mrow .tx b { display:block; font-size:var(--fs-body); font-weight:650; color:var(--ink); }
  .mecoach .mrow .tx small { display:block; font-size:var(--fs-aux); color:var(--ink3); margin-top:2px; line-height:1.5; }
  .mecoach .mrow .go { font-size:var(--fs-aux); color:var(--primary); flex:none; font-weight:600; }
  html[data-theme-dark="1"] .mecoach { background:var(--t-card,#231f31); border-color:rgba(255,255,255,.12); box-shadow:none; }
  html[data-theme-dark="1"] .mecoach .mrow { border-top-color:rgba(255,255,255,.08); }
  /* 统计行：无框四列 */
  .me-stats { display:grid; grid-template-columns:repeat(4,1fr); margin:20px 18px 0; padding-bottom:18px; border-bottom:1px solid rgba(0,0,0,.075); }
  .me-stats .st-it { text-align:center; cursor:pointer; }
  .me-stats b { display:block; font-size:var(--fs-module); font-weight:650; color:var(--ink); line-height:1.3; }
  .me-stats span { display:block; font-size:var(--fs-aux); color:var(--ink3); margin-top:4px; }
  /* 分组宫格：图标 + 字，无框（分组靠标题+留白） */
  .me-g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px 8px; margin:6px 18px 0; }
  .me-g4 .g { text-align:center; cursor:pointer; }
  .me-g4 .g .em { display:block; font-size:28px; line-height:1.2; }
  .me-g4 .g .nm { display:block; font-size:var(--fs-aux); color:var(--ink2); margin-top:7px; line-height:1.4; }
  /* 学习中心横条：一行入口（列表化） */
  .me-ln { display:flex; align-items:center; gap:12px; margin:6px 18px 0; padding:14px 0; border-bottom:1px solid rgba(0,0,0,.075); cursor:pointer; }
  .me-ln .em { font-size:24px; flex:none; }
  .me-ln .tx { flex:1; min-width:0; }
  .me-ln .tx b { display:block; font-size:var(--fs-body); font-weight:650; color:var(--ink); }
  .me-ln .tx small { display:block; font-size:var(--fs-aux); color:var(--ink3); margin-top:3px; }
  .me-ln .ar { color:var(--ink3); font-size:var(--fs-card); flex:none; }
  /* v87：版式与图表切换（分段选择） */
  .stseg { display:flex; gap:8px; margin:10px 18px 0; }
  .stseg button { flex:1; height:44px; border-radius:13px; border:1px solid rgba(var(--t-pri-rgb),.18);
    background:rgba(var(--t-pri-rgb),.04); color:var(--ink2); font-size:var(--fs-aux); font-weight:600;
    letter-spacing:.5px; cursor:pointer; }
  .stseg button.on { background:var(--primary,#6c53c9); border-color:var(--primary,#6c53c9); color:#fff; }
  .stseg button:active { opacity:.7; }
  .stnote { margin:10px 18px 0; font-size:var(--fs-micro); color:var(--ink3); line-height:1.6; }
  /* ---------- 底部 Tab ---------- */
  .tabbar { position:fixed; bottom:0; left:0; right:0; z-index:9; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); border-top:1px solid #eeeaf6; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); }
  .tabbar .in { max-width:464px; margin:0 auto; display:flex; }
  .tabbar .tb { flex:1; text-align:center; font-size:var(--fs-aux); color:#9a93b2; padding:5px 0; cursor:pointer; border-radius:12px; }
  .tabbar .tb .i { display:block; margin-bottom:3px; color:#b8b2c4; }
  .tabbar .tb .i svg { width:21px; height:21px; display:block; margin:0 auto; }
  .tabbar .tb.on { color:var(--primary); font-weight:700; }
  .tabbar .tb.on .i { color:var(--primary); filter:none; }
  /* ---------- 流日详情浮层 ---------- */
  .mask { position:fixed; inset:0; z-index:20; background:rgba(30,20,60,.45); display:none; }
  .mask.show { display:block; }
  /* v258：去掉常驻 transform:translateX——部分自定义 WebView 里常驻 transform 会冻结弹层内部滚动
    （v257 在 home.html 已修过同类根因），改用 left/right+margin 居中；弹层内滑动恢复正常 */
  .sheet { position:fixed; z-index:21; left:0; right:0; margin:0 auto; bottom:0; width:100%; max-width:480px; max-height:82vh; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; background:#f6f4fa; border-radius:22px 22px 0 0; padding:18px 16px calc(20px + env(safe-area-inset-bottom)); display:none; }
  .sheet.full { top:0; bottom:0; height:100%; max-height:100vh; border-radius:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding-bottom:calc(84px + env(safe-area-inset-bottom)); } /* v384：底部避开 tabbar */
  /* v384：全屏层「返回」永远够得着——顶部让出刘海安全区，标题栏吸附在顶，× 做大到 38px 点击区 */
  .sheet.full { padding-top:0; }
  .sheet.full > .hd { position:sticky; top:0; z-index:6; margin:0 -16px 12px;
    padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
    background:rgba(246,244,250,.97); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(108,83,201,.08); }
  .sheet.full > .hd .x { width:38px; height:38px; border-radius:50%; padding:0; margin-left:6px;
    display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1;
    color:#6c53c9; background:rgba(108,83,201,.09); }
  html[data-theme-dark="1"] .sheet.full > .hd { background:rgba(28,26,38,.97); border-bottom-color:rgba(255,255,255,.08); }
  html[data-theme-dark="1"] .sheet.full > .hd .x { color:#c9b3f5; background:rgba(167,138,224,.16); }
  html.usheet-lock, html.usheet-lock body { overflow:hidden !important; } /* v153 记录类弹层全屏展开 */
  /* ============ v166 出图记录（缩略图 + 批量删除 + 会员下载） ============ */
  .mc-tip { font-size:var(--fs-micro); color:#9a93b2; margin:2px 0 12px; line-height:1.6; }
  .mc-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .mc-card { position:relative; background:#fff; border:1px solid #f0edf7; border-radius:14px; overflow:hidden; }
  .mc-th { width:100%; aspect-ratio:400/693; max-height:230px; background:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .mc-th svg { width:100%; height:100%; display:block; }
  .mc-th .mc-wait { font-size:var(--fs-micro); color:#cfc9dd; }
  .mc-meta { padding:8px 10px 10px; }
  .mc-meta b { display:block; font-size:var(--fs-aux); font-weight:600; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mc-meta small { display:block; font-size:var(--fs-micro); color:#b3adc6; margin-top:3px; }
  .mc-dl { margin-top:8px; display:block; width:100%; appearance:none; border:1px solid var(--primary); background:transparent; color:var(--primary); font-size:var(--fs-micro); font-weight:600; padding:7px 0; border-radius:999px; }
  .mc-dl.on { background:var(--primary); color:#fff; border-color:var(--primary); }
  .mc-chk { display:none; position:absolute; top:8px; left:8px; width:22px; height:22px; border-radius:999px; border:2px solid rgba(0,0,0,.22); background:rgba(255,255,255,.92); z-index:2; }
  .mc-mng .mc-chk { display:block; }
  .mc-sel { outline:2px solid var(--primary); outline-offset:-2px; }
  .mc-sel .mc-chk { background:var(--primary); border-color:var(--primary); }
  .mc-sel .mc-chk::after { content:''; position:absolute; left:6px; top:2px; width:6px; height:11px; border:2px solid #fff; border-top:0; border-left:0; transform:rotate(42deg); }
  .mc-bar { position:sticky; bottom:0; margin:14px -14px -6px; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-top:1px solid #f0edf7; display:none; align-items:center; justify-content:space-between; z-index:3; }
  .mc-mng .mc-bar { display:flex; }
  .mc-bar .cnt { font-size:var(--fs-aux); color:var(--ink2); }
  .mc-bar .del { appearance:none; border:0; background:#c0392b; color:#fff; font-size:var(--fs-aux); font-weight:600; padding:10px 22px; border-radius:999px; }
  .mc-bar .del[disabled] { background:#e3dfee; color:#a49dbd; }
  /* v258：批量删除操作栏改到屏幕顶部固定——底部栏在小屏 WebView 划不到 */
  .mc-topbar { position:fixed; top:0; left:0; right:0; z-index:40; max-width:480px; margin:0 auto; display:flex; align-items:center; gap:10px; background:#fff; padding:calc(10px + env(safe-area-inset-top)) 16px 10px; box-shadow:0 2px 14px rgba(30,20,60,.10); }
  .mc-topbar .cnt { flex:1; font-size:var(--fs-aux); color:var(--ink2); }
  .mc-topbar .done { color:#2e9e6b; font-size:var(--fs-aux); font-weight:600; cursor:pointer; }
  .mc-topbar .x { width:auto; }
  .mc-topbar .del { appearance:none; border:0; background:#c0392b; color:#fff; font-size:var(--fs-aux); font-weight:600; padding:9px 18px; border-radius:999px; cursor:pointer; }
  .mc-topbar .del[disabled] { background:#e3dfee; color:#a49dbd; }
  .sheet.mc-mng { padding-top:calc(64px + env(safe-area-inset-top)); }
  .mc-view { position:fixed; inset:0; z-index:9998; background:rgba(18,14,28,.9); display:none; align-items:center; justify-content:center; padding:16px; }
  .mc-view.show { display:flex; }
  .mc-view .vbox { width:100%; max-width:430px; background:#fff; border-radius:16px; padding:12px; max-height:92vh; overflow:auto; }
  .mc-view .vth { background:#fff; }
  .mc-view .vth svg { width:100%; height:auto; display:block; }
  .mc-view .vrow { display:flex; gap:10px; margin-top:12px; }
  .mc-view .vrow button { flex:1; appearance:none; border-radius:999px; font-size:var(--fs-aux); font-weight:600; padding:11px 0; }
  .mc-view .vrow .go { border:0; background:var(--primary); color:#fff; }
  .mc-view .vrow .no { border:1px solid #e3dfee; background:#fff; color:var(--ink2); }
  .mc-view .vtag { font-size:var(--fs-micro); color:#9a93b2; text-align:center; margin-top:10px; line-height:1.6; }
  /* v175 出图记录 · 列表式（不铺图表） */
  .mc-tabs { display:flex; gap:8px; margin:0 0 12px; }
  .mc-tabs .tbtn { flex:1; text-align:center; font-size:var(--fs-aux); font-weight:600; padding:9px 0; border-radius:999px; background:#fff; color:var(--ink2); border:1px solid #eceaf4; }
  .mc-tabs .tbtn.on { background:var(--primary); color:#fff; border-color:var(--primary); }
  .mcl-row { display:flex; align-items:center; gap:10px; padding:13px 2px; border-bottom:1px solid #f2eff8; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:rgba(143,108,224,.10); user-select:none; -webkit-user-select:none; }
  .mcl-row:last-child { border-bottom:0; }
  .mcl-main { flex:1; min-width:0; }
  .mcl-main b { display:block; font-size:var(--fs-body2); font-weight:600; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mcl-main small { display:block; font-size:var(--fs-micro); color:#b3adc6; margin-top:3px; }
  .mcl-acts { flex-shrink:0; display:flex; gap:4px; }
  .mcl-acts button { appearance:none; border:0; background:none; font-size:17px; padding:6px; color:#b3adc6; }
  .mcl-acts button:active { opacity:.55; }
  .mcl-chk { display:none; width:22px; height:22px; border-radius:999px; border:2px solid rgba(0,0,0,.22); background:#fff; flex-shrink:0; position:relative; }
  .mc-mng .mcl-chk { display:block; }
  .mcl-sel { outline:none; }
  .mcl-sel .mcl-chk { background:var(--primary); border-color:var(--primary); }
  .mcl-sel .mcl-chk::after { content:''; position:absolute; left:6px; top:2px; width:6px; height:11px; border:2px solid #fff; border-top:0; border-left:0; transform:rotate(42deg); }
  .fam-card { background:#fff; border:1px solid #f0edf7; border-radius:14px; padding:13px 14px; margin-bottom:10px; }
  .fam-card .fn { font-size:var(--fs-body2); font-weight:700; color:var(--ink); }
  .fam-card .fm { margin-top:8px; display:flex; flex-direction:column; gap:2px; }
  .fam-card .fm .mi { font-size:var(--fs-aux); color:#4d4768; padding:6px 0; border-bottom:1px dashed #f2eff8; }
  .fam-card .fm .mi:last-child { border-bottom:0; }
  /* v395：管理模式下成员行横排并显示选择圈 */
  .mc-mng .fam-card .fm .mi { display:flex; align-items:center; gap:8px; }
  .mc-mng .fam-card .fm .mi .mcl-chk { display:block; }
  .fam-card .fm .mi .mcl-chk { display:none; flex-shrink:0; }
  .fam-card .fm .mi b { font-weight:600; color:var(--ink); }
  .sheet.show { display:block; }
  .sheet .hd { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
  .sheet .hd h3 { font-size:var(--fs-body); }
  .sheet .hd .x { font-size:var(--fs-module); color:#9a93b2; cursor:pointer; padding:0 6px; }
  .fdy { background:#fff; border-radius:14px; padding:14px; margin-bottom:10px; }
  .fdy.today { border:1.5px solid var(--primary); }
  .fdy .r1 { display:flex; justify-content:space-between; align-items:baseline; }
  .fdy .dt { font-size:var(--fs-body2); font-weight:700; }
  .fdy .dt em { font-style:normal; font-size:var(--fs-aux); color:#fff; background:var(--primary); border-radius:10px; padding:2px 8px; margin-left:6px; }
  .fdy .gts { font-size:var(--fs-aux); color:#4d4768; margin-top:6px; line-height:1.7; }
  .fdy .gts b { color:var(--primary); }
  .fdy .rel { font-size:var(--fs-aux); color:#6f6a85; background:#faf9fd; border-radius:10px; padding:8px 10px; margin-top:8px; line-height:1.7; }
  /* 弹窗表单 */
  .modal input, .modal textarea { width:100%; border:1px solid #e2dfec; border-radius:10px; padding:10px 12px; font-size:var(--fs-body2); margin-bottom:10px; font-family:inherit; }
  .modal .ok { width:100%; border:none; color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary2)); border-radius:12px; padding:12px; font-size:var(--fs-body2); font-weight:700; cursor:pointer; }
  .foot { text-align:center; font-size:var(--fs-aux); color:#b3adc6; padding:20px 24px 8px; line-height:1.7; }
  .empty { text-align:center; color:#b3adc6; font-size:var(--fs-aux); padding:16px 0; }
  .page { display:none; }
  .page.on { display:block; }
  /* ---------- 收藏提示 ---------- */
  .favbar { position:fixed; top:0; left:0; right:0; z-index:15; background:rgba(30,20,60,.93); color:#fff; font-size:var(--fs-aux); padding:10px 14px; display:none; align-items:flex-start; gap:8px; line-height:1.6; } /* v384：z 30→15，原来盖住弹层顶栏的 ×（分享卡片无法返回的根因） */
  .favbar.show { display:flex; }
  .favbar .x { margin-left:auto; opacity:.7; padding:0 4px; cursor:pointer; flex-shrink:0; }
  /* ---------- 福利 ---------- */
  .welf { margin:14px 14px 0; border-radius:16px; padding:16px; background:#fff; box-shadow:0 2px 12px rgba(80,60,150,.06); cursor:pointer; border:1px dashed var(--primary); }
  .welf .t { font-size:var(--fs-body2); font-weight:700; color:var(--primary); }
  .welf .d { font-size:var(--fs-aux); color:#8b84a3; margin-top:6px; line-height:1.7; }
  .welf .items { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
  .welf .items span { font-size:var(--fs-aux); color:var(--primary); background:var(--tint); border-radius:14px; padding:3px 10px; }
  .wdts { display:flex; gap:5px; flex-wrap:wrap; margin:10px 0 2px; }
  .wdts i { width:20px; height:20px; border-radius:50%; background:#eeeaf6; font-style:normal; font-size:var(--fs-aux); display:flex; align-items:center; justify-content:center; color:#b3adc6; }
  .wdts i.on { background:var(--primary); color:#fff; font-weight:700; }
  .wcard { background:#faf9fd; border-radius:12px; padding:12px 14px; margin-bottom:10px; font-size:var(--fs-aux); line-height:1.9; color:#4d4768; }
  .wcard b { color:var(--primary); }
  .wbtn { display:block; width:100%; border:none; color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary2)); border-radius:12px; padding:11px; font-size:var(--fs-body2); font-weight:700; cursor:pointer; margin-top:8px; }
  .wbtn.gray { background:#e6e2f0; color:#9a93b2; }
  .wlock { text-align:center; font-size:var(--fs-aux); color:#9a93b2; padding:14px 0; line-height:1.8; }
  /* ---------- 成品报告展示 ---------- */
  .plain-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 14px; }
  @media (max-width:340px) { .plain-grid { grid-template-columns:1fr; } }
  .pcover { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(80,60,150,.07); cursor:pointer; }
  .pcover .cov { height:150px; color:#fff; padding:14px 14px 12px; display:flex; flex-direction:column; position:relative; }
  .pcover .cov .t1 { font-size:var(--fs-body2); font-weight:800; line-height:1.45; }
  .pcover .cov .t2 { font-size:var(--fs-aux); opacity:.85; margin-top:5px; line-height:1.5; }
  .pcover .cov .foot-row { display:flex; justify-content:space-between; align-items:flex-end; gap:6px; margin-top:auto; padding-top:8px; font-size:var(--fs-aux); opacity:.8; }
  .pcover .cov .foot-row .brand { letter-spacing:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pcover .cov .foot-row .pg { flex-shrink:0; opacity:.85; }
  .pcover .bd { padding:10px 12px 12px; }
  .pcover .toc { font-size:var(--fs-aux); color:#8b84a3; line-height:1.7; }
  .pcover .r3 { display:flex; justify-content:space-between; align-items:center; margin-top:8px; }
  .pcover .pr2 { color:var(--primary); font-weight:800; font-size:var(--fs-body); }
  .pcover .flip { font-size:var(--fs-aux); color:var(--primary); font-weight:700; }
  /* 样张翻阅（仿真纸张） */
  .paper { background:#fff; border-radius:12px; padding:20px 18px; margin-bottom:12px; box-shadow:0 1px 8px rgba(60,40,120,.08); }
  .paper .ph { background:linear-gradient(135deg, var(--primary), var(--primary2)); color:#fff; border-radius:10px; padding:18px 16px 14px; }
  .paper .ph .k { font-size:var(--fs-aux); letter-spacing:2px; opacity:.8; }
  .paper .ph h3 { font-size:var(--fs-card); margin-top:6px; line-height:1.5; }
  .paper .ph .s { font-size:var(--fs-aux); opacity:.85; margin-top:6px; }
  .paper .ph .who { font-size:var(--fs-aux); opacity:.75; margin-top:10px; border-top:1px solid rgba(255,255,255,.3); padding-top:8px; }
  .paper .toc-l { margin:14px 0 4px; }
  .paper .toc-l .li { display:flex; gap:8px; font-size:var(--fs-aux); color:#4d4768; padding:7px 0; border-bottom:1px dashed #eeeaf6; }
  .paper .toc-l .li i { font-style:normal; color:var(--primary); font-weight:700; }
  .paper .chap { margin-top:14px; }
  .paper .chap h4 { font-size:var(--fs-body2); color:var(--primary); margin-bottom:6px; }
  .paper .chap p { font-size:var(--fs-aux); line-height:2; color:#4d4768; }
  .paper .chap .more-dots { text-align:center; color:#b3adc6; letter-spacing:6px; font-size:var(--fs-body2); margin-top:8px; }
  .paper .note { font-size:var(--fs-aux); color:#b3adc6; text-align:center; margin-top:14px; line-height:1.8; }
  /* ================= v7 首页重构 · 去AI化视觉 ================= */
  body { background:#f7f5f1; color:#302b45; }
  .hero h1 { font-family:"Songti SC","Noto Serif SC",Georgia,serif; letter-spacing:1.5px; }
  /* v68 去卡片化：.sec 一律无框（V2.1 §22.2），只保留衬线标题的编辑感 */
  .sec { border:none; box-shadow:none; border-radius:0; }
  .sec h2 { font-family:"Songti SC","Noto Serif SC",Georgia,serif; letter-spacing:.5px; }
  .flow { box-shadow:none; border:1px solid #efe9dd; }
  .welf { box-shadow:none; border:1px dashed #d8c9a6; }
  .eyebrow { font-size:var(--fs-aux); letter-spacing:5px; color:#b08d3f; font-weight:600; }
  .gt { font-family:"Songti SC","Noto Serif SC",Georgia,serif; font-size:var(--fs-card); font-weight:700; letter-spacing:.5px; color:#2b2740; line-height:1.55; margin-top:8px; }

  /* 愿力 */
  .vow { margin:16px 16px 0; padding:26px 22px 22px; border-radius:14px; background:#fff; border:1px solid #efe9dd; position:relative; overflow:hidden; }
  .vow::before { content:'\201C'; position:absolute; right:16px; top:2px; font-family:Georgia,serif; font-size:var(--fs-hero); color:#f1e8d4; line-height:1; }
  .vow .vowtx { font-family:"Songti SC","Noto Serif SC",Georgia,serif; font-size:var(--fs-body); line-height:2; color:#3a3450; position:relative; margin-top:12px; }
  .vow .vowsig { margin-top:14px; font-size:var(--fs-aux); color:#9a8f7a; text-align:right; }

  /* 天赋 */
  .giftwrap, .rulewrap, .repwrap, .dlwrap { margin:16px 16px 0; padding:22px 20px; border-radius:14px; background:#fff; border:1px solid #efe9dd; }
  .gifts { display:flex; flex-direction:column; gap:13px; margin-top:14px; }
  .gift { display:flex; gap:12px; align-items:flex-start; }
  .gift i { font-style:normal; font-family:Georgia,serif; font-size:var(--fs-aux); color:#b08d3f; border:1px solid #e6d9bb; border-radius:50%; width:26px; height:26px; flex:0 0 26px; display:flex; align-items:center; justify-content:center; }
  .gift b { display:block; font-size:var(--fs-body2); color:#2b2740; }
  .gift span { font-size:var(--fs-aux); color:#8b8398; line-height:1.7; margin-top:3px; display:block; }
  /* v68：普通 CTA 不再默认做渐变大按钮，改成安静的一根描边（V2.1 §22.2 第 6 条） */
  .giftcta { display:block; text-align:center; margin-top:18px; padding:15px; border-radius:13px;
    background:none; border:1px solid rgba(0,0,0,.17); color:var(--ink); font-size:var(--fs-body);
    font-weight:600; text-decoration:none; letter-spacing:.2px; }
  .giftcta:active { opacity:.65; }
  html[data-theme-dark="1"] .giftcta { border-color:rgba(255,255,255,.22); color:var(--t-ink); }

  /* 规则 */
  .rulegrid { display:flex; flex-direction:column; gap:18px; margin-top:14px; }
  .rulecol h3 { font-size:var(--fs-aux); color:#b08d3f; letter-spacing:1.5px; font-weight:700; margin-bottom:8px; }
  .ri { display:flex; gap:10px; padding:8px 0; border-bottom:1px dashed #f0ebe1; font-size:var(--fs-aux); line-height:1.7; color:#4a4460; }
  .ri:last-child { border-bottom:none; }
  .ri i { font-style:normal; color:#b08d3f; font-weight:700; font-family:Georgia,serif; }
  .ruleline { margin-top:16px; padding-top:12px; border-top:1px solid #f0ebe1; font-size:var(--fs-aux); color:#a49a86; line-height:1.9; }

  /* 双 CTA */
  .bigcta2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 16px 0; }
  .bigcta2 a { text-decoration:none; border-radius:13px; padding:15px 12px; text-align:center; display:block; }
  .bigcta2 a b { display:block; font-size:var(--fs-body2); letter-spacing:.5px; }
  .bigcta2 a span { display:block; font-size:var(--fs-aux); margin-top:5px; opacity:.82; }
  .bigcta2 .c1 { background:linear-gradient(135deg,var(--primary),var(--primary2)); color:#fff; }
  .bigcta2 .c2 { background:#fff; border:1.5px solid var(--primary); color:var(--primary); }

  /* 报告 */
  .repcta { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:14px; padding:14px 16px; border-radius:12px; background:#2f2a4d; color:#fff; text-decoration:none; }
  .repcta b { font-size:var(--fs-body2); display:block; letter-spacing:.5px; }
  .repcta em { font-style:normal; font-size:var(--fs-aux); opacity:.72; }
  .repcta .ar { font-size:var(--fs-card); line-height:1; opacity:.8; }
  .replist { margin-top:14px; }
  .reprow { display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid #f2eee6; font-size:var(--fs-aux); }
  .reprow:last-child { border-bottom:none; }
  .reprow .nm { color:#3a3450; }
  .reprow .pr { color:#b08d3f; font-weight:700; }
  .morelink { display:block; text-align:center; margin-top:12px; font-size:var(--fs-aux); color:#8b8398; text-decoration:none; }

  /* 报告下载 */
  .dlrow { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:14px; }
  .dlrow b { font-size:var(--fs-body2); display:block; color:#2b2740; }
  .dlrow em { font-style:normal; font-size:var(--fs-aux); color:#9a93a8; display:block; margin-top:3px; }
  .dlbtn { flex-shrink:0; font-size:var(--fs-aux); color:#fff; background:var(--primary); border-radius:20px; padding:9px 16px; text-decoration:none; white-space:nowrap; }
  .dl-empty { font-size:var(--fs-aux); color:#a49a86; line-height:1.9; }

  /* 小屏适配 */
  @media (max-width:360px) {
    .hero h1 { font-size:var(--fs-card); } .hero .meta span { font-size:var(--fs-micro); padding:2px 8px; }
    .flow .gate .num { font-size:var(--fs-module); }
    .bigcta a { font-size:var(--fs-body2); }
  }
  @media (min-width:481px) { /* 平板/桌面预览时保持手机宽度 */ }

  /* ---------- 主题配色选择器 ---------- */
  .themebox { margin:14px 14px 0; background:#fff; border-radius:16px; padding:16px; box-shadow:0 2px 12px rgba(80,60,150,.06); }
  .themebox .th-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }
  .themebox .th-hd .t { font-size:var(--fs-body); font-weight:700; display:flex; align-items:center; gap:8px; }
  .themebox .th-hd .t::before { content:''; width:4px; height:16px; border-radius:2px; background:var(--primary); }
  .themebox .th-cur { font-size:var(--fs-aux); color:#8b86a3; }
  .themebox .th-sub { font-size:var(--fs-aux); color:#8b86a3; line-height:1.7; margin:6px 0 12px; }
  .th-cat { font-size:var(--fs-aux); color:var(--primary); font-weight:700; margin:12px 0 8px; letter-spacing:.5px; }
  .th-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
  .th-card { border:1.5px solid #ece9f5; border-radius:13px; padding:9px 8px 8px; cursor:pointer; background:#fff; text-align:left; transition:all .16s; }
  .th-card.on { border-color:var(--primary); box-shadow:0 3px 12px rgba(90,60,160,.16); }
  .th-swatch { display:flex; height:26px; border-radius:8px; overflow:hidden; margin-bottom:7px; }
  .th-swatch i { flex:1; }
  .th-swatch i.k { flex:1.35; }
  .th-nm { font-size:var(--fs-aux); font-weight:700; color:#2d2749; line-height:1.25; }
  .th-role { font-size:var(--fs-aux); color:#9a94b8; margin-top:2px; }
  .th-card.on .th-nm::after { content:' ✓'; color:var(--primary); }
  .th-lock { background:linear-gradient(135deg, rgba(90,60,160,.05), rgba(90,60,160,.02)); }

  /* ---------- v23 深色主题适配（星空/中国风深色系选中时生效） ---------- */
  html[data-theme-dark="1"] body { background:var(--t-bg); color:var(--t-ink); }
  html[data-theme-dark="1"] .flow,
  html[data-theme-dark="1"] .me-card, html[data-theme-dark="1"] .me-list, html[data-theme-dark="1"] .fdy,
  html[data-theme-dark="1"] .welf, html[data-theme-dark="1"] .themebox, html[data-theme-dark="1"] .pcover,
  html[data-theme-dark="1"] .paper, html[data-theme-dark="1"] .vow, html[data-theme-dark="1"] .giftwrap,
  html[data-theme-dark="1"] .rulewrap, html[data-theme-dark="1"] .repwrap, html[data-theme-dark="1"] .dlwrap,
  html[data-theme-dark="1"] .th-card, html[data-theme-dark="1"] .sheet, html[data-theme-dark="1"] .bigcta .sub,
  html[data-theme-dark="1"] .bigcta2 .c2, html[data-theme-dark="1"] .dims span {
    background:var(--t-card); border-color:var(--t-line); box-shadow:none; color:var(--t-ink);
  }
  html[data-theme-dark="1"] .flow .rel, html[data-theme-dark="1"] .gain .g, html[data-theme-dark="1"] .ba .col,
  html[data-theme-dark="1"] .case, html[data-theme-dark="1"] .rev, html[data-theme-dark="1"] .rev .rp,
  html[data-theme-dark="1"] .fdy .rel, html[data-theme-dark="1"] .wcard, html[data-theme-dark="1"] .svc,
  html[data-theme-dark="1"] .wdts i {
    background:var(--t-soft); color:var(--t-ink2);
  }
  html[data-theme-dark="1"] .sec p.body, html[data-theme-dark="1"] .kv, html[data-theme-dark="1"] .gain .g,
  html[data-theme-dark="1"] .ba .col, html[data-theme-dark="1"] .svc .ds, html[data-theme-dark="1"] .consult .l .t2,
  html[data-theme-dark="1"] .th-sub, html[data-theme-dark="1"] .th-cur, html[data-theme-dark="1"] .vow .vowtx,
  html[data-theme-dark="1"] .gift span, html[data-theme-dark="1"] .ri, html[data-theme-dark="1"] .reprow .nm,
  html[data-theme-dark="1"] .wcard, html[data-theme-dark="1"] .gt, html[data-theme-dark="1"] .ba .col h4,
  html[data-theme-dark="1"] .rev .rp, html[data-theme-dark="1"] .svc .pr small {
    color:var(--t-ink2);
  }
  html[data-theme-dark="1"] .flow .top .t, html[data-theme-dark="1"] .th-nm, html[data-theme-dark="1"] .gift b,
  html[data-theme-dark="1"] .dlrow b, html[data-theme-dark="1"] .svc .nm { color:var(--t-ink); }
  html[data-theme-dark="1"] .flow .top .t small, html[data-theme-dark="1"] .th-role,
  html[data-theme-dark="1"] .dlrow em, html[data-theme-dark="1"] .dl-empty, html[data-theme-dark="1"] .vow .vowsig {
    color:var(--t-ink3);
  }
  html[data-theme-dark="1"] .reprow { border-bottom-color:var(--t-line); }
  html[data-theme-dark="1"] .mallgrp::after { background:var(--t-line); }
  html[data-theme-dark="1"] .vow::before { color:var(--t-soft); }
  html[data-theme-dark="1"] .welf { border-color:var(--t-line); }
  html[data-theme-dark="1"] .consult { background:linear-gradient(120deg, var(--tint), var(--t-card)); }
  html[data-theme-dark="1"] .eyebrow, html[data-theme-dark="1"] .rulecol h3,
  html[data-theme-dark="1"] .reprow .pr, html[data-theme-dark="1"] .sec h2::before { color:var(--t-gold); }
  html[data-theme-dark="1"] .sec h2::before { background:var(--t-gold); }
  html[data-theme-dark="1"] .tabbar { background:rgba(8,8,20,.86); border-top-color:var(--t-line); }
  html[data-theme-dark="1"] .tabbar .tb, html[data-theme-dark="1"] .tabbar .tb .i { color:var(--t-ink3); }

  /* ============ v29：口碑案例 / 课程 / 里程 / 邀请 ============ */
  /* 未登录注册条 */
  .joinbar {
    display:flex; align-items:center; gap:12px; margin:12px 14px 0; padding:14px 16px; border-radius:17px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 15%,transparent),color-mix(in srgb,var(--primary2) 9%,transparent));
    border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);
  }
  .joinbar .jb-tx { flex:1; min-width:0; }
  .joinbar .jb-tx b { display:block; font-size:var(--fs-body2); color:var(--ink); margin-bottom:3px; }
  .joinbar .jb-tx span { font-size:var(--fs-aux); color:var(--ink2); line-height:1.5; display:block; }
  .joinbar .jb-btn {
    flex:0 0 auto; padding:10px 18px; border-radius:12px; text-decoration:none; font-size:var(--fs-aux); font-weight:700; color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--primary2)); box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 30%,transparent);
  }
  .joinbar .jb-btn:active { transform:scale(.97); }
  /* 分类筛选：v68 去胶囊，改成杂志式的下划线导航（V2.1 §22.2 第 8 条） */
  .cfilter { display:flex; gap:22px; overflow-x:auto; padding:0 18px 14px; scrollbar-width:none; }
  .cfilter::-webkit-scrollbar { display:none; }
  .cchip {
    flex:0 0 auto; padding:0 0 5px; border-radius:0; font-size:var(--fs-body); white-space:nowrap; cursor:pointer;
    background:none; color:var(--ink3); border:none; border-bottom:2px solid transparent; transition:color .16s;
  }
  .cchip em { font-style:normal; opacity:.55; font-size:var(--fs-aux); margin-left:3px; }
  .cchip.on { background:none; color:var(--ink); border-bottom-color:var(--primary); font-weight:600; }
  .cchip.on em { opacity:.8; }
  /* 案例卡片 */
  .cgrid { padding:0 14px; display:flex; flex-direction:column; gap:12px; }
  .casecard {
    background:var(--t-card,#fff); border-radius:18px; padding:15px 16px 13px;
    box-shadow:0 3px 14px rgba(60,45,110,.08); border:1px solid var(--line); cursor:pointer; transition:.18s;
  }
  .casecard:active { transform:scale(.985); }
  .casecard .ct { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; }
  .casecard .cattag {
    font-size:var(--fs-aux); padding:3px 9px; border-radius:8px; font-weight:600;
    background:color-mix(in srgb, var(--primary) 12%, transparent); color:var(--primary);
  }
  .casecard .dt { font-size:var(--fs-aux); color:var(--ink3); }
  .casecard h4 { margin:0 0 8px; font-size:var(--fs-body2); line-height:1.5; color:var(--ink); font-weight:600; }
  .casecard .ccov { height:132px; border-radius:13px; background-size:cover; background-position:center; margin-bottom:10px; }
  .casecard .exc {
    margin:0; font-size:var(--fs-aux); line-height:1.72; color:var(--ink2);
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  }
  .casecard .cf { display:flex; align-items:center; justify-content:space-between; margin-top:11px; font-size:var(--fs-aux); color:var(--ink3); }
  .casecard .who { color:var(--primary); font-weight:600; }
  .casebody { font-size:var(--fs-body2); line-height:1.95; color:var(--ink2); word-break:break-word; }
  /* 课程 */
  .courselist { display:flex; flex-direction:column; gap:10px; margin-top:6px; }
  .courseitem {
    display:flex; align-items:center; gap:11px; padding:10px; border-radius:15px; text-decoration:none;
    background:color-mix(in srgb, var(--primary) 4%, var(--t-card,#fff)); border:1px solid var(--line); transition:.16s;
  }
  .courseitem:active { transform:scale(.985); }
  .cthumb { width:74px; height:56px; flex:0 0 74px; border-radius:11px; background-size:cover; background-position:center; }
  .cthumb.cph { display:flex; align-items:center; justify-content:center; font-size:var(--fs-card); font-weight:700;
    background:linear-gradient(135deg,var(--primary),var(--primary2)); color:#fff; }
  .cinfo { flex:1; min-width:0; }
  .cinfo .cnm { font-size:var(--fs-aux); font-weight:600; color:var(--ink); line-height:1.45;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .cinfo .cds { font-size:var(--fs-aux); color:var(--ink3); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cinfo .cpr { font-size:var(--fs-aux); font-weight:700; color:var(--primary); margin-top:4px; }
  .cinfo .cpr em { font-style:normal; font-size:var(--fs-aux); color:#3E8E7E; }
  .carr { font-size:var(--fs-card); color:var(--ink3); line-height:1; flex:0 0 auto; }
  /* 里程 */
  .odobox { display:flex; gap:9px; margin:4px 0 12px; }
  .odov {
    flex:1; text-align:center; padding:13px 6px; border-radius:15px;
    background:linear-gradient(150deg,color-mix(in srgb,var(--primary) 11%,transparent),color-mix(in srgb,var(--primary) 3%,transparent));
    border:1px solid var(--line);
  }
  .odov b { display:block; font-size:var(--fs-module); font-weight:800; color:var(--primary); line-height:1.2; letter-spacing:-.5px; }
  .odov span { font-size:var(--fs-aux); color:var(--ink3); }
  .miles { display:flex; flex-direction:column; }
  .milerow { display:flex; align-items:center; gap:10px; padding:10px 2px; border-bottom:1px solid var(--line); }
  .milerow:last-child { border-bottom:none; }
  .mdot { width:8px; height:8px; border-radius:50%; flex:0 0 8px; }
  .milerow .mi { flex:1; min-width:0; }
  .milerow .mn { font-size:var(--fs-aux); font-weight:600; color:var(--ink); }
  .milerow .md { font-size:var(--fs-aux); color:var(--ink3); margin-top:1px; }
  .milerow .mv { font-size:var(--fs-body); font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
  /* 邀请 */
  .icbox {
    margin-top:10px; padding:17px 16px; border-radius:18px; text-align:center;
    background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 14%,transparent),color-mix(in srgb,var(--primary2) 8%,transparent));
    border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);
  }
  .icbox .iclab { font-size:var(--fs-aux); color:var(--ink3); letter-spacing:.16em; }
  .icbox .iccode { font-size:var(--fs-page); font-weight:800; color:var(--primary); letter-spacing:.24em; margin:6px 0 8px; }
  .icbox .iccnt { font-size:var(--fs-aux); color:var(--ink2); }
  .icbox .iccnt b { color:var(--primary); font-size:var(--fs-body); }
  .icrow { display:flex; gap:9px; margin-top:13px; }
  .icbtn {
    flex:1; height:42px; border-radius:13px; border:none; font-family:inherit; font-size:var(--fs-aux); font-weight:600; cursor:pointer;
    background:linear-gradient(135deg,var(--primary),var(--primary2)); color:#fff;
    box-shadow:0 5px 15px color-mix(in srgb,var(--primary) 28%,transparent);
  }
  .icbtn.ghost { background:color-mix(in srgb,var(--primary) 9%,transparent); color:var(--primary); box-shadow:none;
    border:1px solid color-mix(in srgb,var(--primary) 26%,transparent); }
  .icbtn:active { transform:scale(.97); }
  /* 深色适配 */
  html[data-theme-dark="1"] .casecard, html[data-theme-dark="1"] .courseitem, html[data-theme-dark="1"] .odov {
    background:var(--t-card); border-color:var(--t-line); box-shadow:none;
  }
  html[data-theme-dark="1"] .cchip { color:var(--t-ink3); }
  html[data-theme-dark="1"] .cchip.on { color:var(--t-ink); border-bottom-color:var(--primary); }
  html[data-theme-dark="1"] .casecard h4, html[data-theme-dark="1"] .cinfo .cnm,
  html[data-theme-dark="1"] .milerow .mn, html[data-theme-dark="1"] .milerow .mv { color:var(--t-ink); }
  html[data-theme-dark="1"] .casecard .exc, html[data-theme-dark="1"] .casebody { color:var(--t-ink2); }
  html[data-theme-dark="1"] .milerow { border-bottom-color:var(--t-line); }

  /* ============ v57：换肤全置换 + 字号提升 + 首页三结构 ============ */
  /* hero / 主按钮跟随换肤，文字色自适应（白字对比不足自动切深墨） */
  .hero .bg { background:linear-gradient(135deg, var(--primary), var(--primary2)); }
  .hero .bg::after { background:linear-gradient(180deg, rgba(20,12,40,.04), rgba(20,12,40,.18)); }
  .hero { color:var(--t-onpri,#fff); }
  .hero h1, .hero .slogan, .hero .meta span { color:inherit; }
  .giftcta, .wbtn, .rpt .buy, .camp .btn2, .modal .ok, .dlbtn, .jb-btn, .loc, .paper .ph, .me-btn { color:var(--t-onpri,#fff); }
  .me-btn { color:#2b2740; }
  .loc { color:var(--t-onpri,#fff); }
  /* 流日闸门卡：主题渐变 */
  .flow .gate.gm { background:linear-gradient(135deg, var(--primary), var(--primary2)); }
  .flow .gate.gs { background:var(--tint); color:var(--primary); }
  /* —— 字号整体提升 —— */
  body { font-size:var(--fs-body2); }
  .hero h1 { font-size:var(--fs-page); }
  .hero .slogan { font-size:var(--fs-body2); }
  .hero .meta span { font-size:var(--fs-micro); }
  .sec h2 { font-size:var(--fs-card); }
  .sec p.body { font-size:var(--fs-body2); }
  .kv { font-size:var(--fs-body2); }
  .loc h3 { font-size:var(--fs-module); }
  .loc .m { font-size:var(--fs-body2); }
  .vow .vowtx { font-size:var(--fs-card); }
  .gt { font-size:var(--fs-module); }
  .eyebrow { font-size:var(--fs-aux); }
  .gift b { font-size:var(--fs-body); }
  .gift span { font-size:var(--fs-body2); }
  .giftcta { font-size:var(--fs-body); }
  .ri { font-size:var(--fs-body2); }
  .ruleline { font-size:var(--fs-aux); }
  .flow .top .t { font-size:var(--fs-body); }
  .flow .top .t small { font-size:var(--fs-aux); }
  .flow .gate .num { font-size:var(--fs-hero); }
  .flow .gate .nm { font-size:var(--fs-aux); }
  .flow .rel { font-size:var(--fs-body2); }
  .svc .nm { font-size:var(--fs-body); }
  .svc .ds { font-size:var(--fs-aux); }
  .rpt .nm { font-size:var(--fs-body2); }
  .rpt .ds { font-size:var(--fs-aux); }
  .me-row { font-size:var(--fs-body2); }
  .me-row .st { font-size:var(--fs-aux); }
  .welf .t { font-size:var(--fs-body); }
  .welf .d { font-size:var(--fs-aux); }
  .tabbar .tb { font-size:var(--fs-aux); }
  .foot { font-size:var(--fs-aux); }
  .empty { font-size:var(--fs-body2); }
  .me-head .nm { font-size:var(--fs-module); }
  .me-head .ds { font-size:var(--fs-aux); }
  /* —— 灵魂名片（首页三结构 ①） —— */
  .hero.hero-min { padding:40px 20px 50px; }
  .cardwrap { margin:-36px 14px 0; position:relative; z-index:2; }
  .vcard { background:rgba(255,255,255,.96); border:1px solid #efe9dd; border-radius:22px; padding:18px 17px 16px;
    box-shadow:0 10px 30px rgba(60,42,130,.14); position:relative; }
  .vc-top { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
  .vc-id { min-width:0; flex:1; }
  .vc-name { font-size:var(--fs-module); font-weight:700; color:#2b2740; }
  .vc-tag { display:inline-block; margin-top:7px; font-size:var(--fs-aux); color:var(--primary); background:var(--tint); border:1px solid var(--primary); border-radius:20px; padding:2px 12px; }
  .vc-ava { width:62px; height:62px; border-radius:50%; object-fit:cover; background:#eee; flex:none; box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--tint); }
  .vc-ava-ph { width:62px; height:62px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; font-size:var(--fs-page); font-weight:700; color:var(--t-onpri,#fff); background:linear-gradient(135deg,var(--primary),var(--primary2)); box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--tint); }
  .vc-soul { margin-top:14px; border-top:1px dashed #e6ddc8; padding-top:12px; display:grid; gap:10px; }
  .soulrow { display:flex; gap:10px; font-size:var(--fs-body2); line-height:1.6; align-items:flex-start; }
  .soulrow .ic { flex:none; width:23px; height:23px; border-radius:8px; margin-top:2px; }
  .ic-vow { background:linear-gradient(135deg,#e8c98a,#d9a95f); }
  .ic-gift { background:linear-gradient(135deg,var(--primary),var(--primary2)); }
  .ic-idea { background:linear-gradient(135deg,#6fbee8,#4a94c9); }
  .soulrow .lb { flex:none; color:#9a93b2; font-size:var(--fs-aux); width:34px; padding-top:3px; }
  .soulrow .tx { color:#4d4768; flex:1; min-width:0; }
  .vc-dot { position:absolute; right:12px; bottom:12px; font-size:var(--fs-aux); color:var(--primary); background:var(--tint); border:none; border-radius:14px; padding:5px 13px; font-family:inherit; cursor:pointer; }
  /* —— 四大测评（首页三结构 ②） —— */
  .homewrap { margin:16px 16px 0; padding:22px 20px; border-radius:14px; background:#fff; border:1px solid #efe9dd; }
  .trio { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
  .tk { background:#fff; border:1px solid #efe9dd; border-radius:16px; padding:13px 6px 12px; text-align:center; font-family:inherit; cursor:pointer; }
  .tk:active { transform:scale(.95); }
  .tk .em { width:38px; height:38px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:var(--fs-body); font-weight:800; color:var(--t-onpri,#fff); margin:0 auto 8px; }
  .tk .nm { font-size:var(--fs-aux); font-weight:700; line-height:1.35; color:#2b2740; }
  .e1 .em{ background:linear-gradient(135deg,#a78ae0,#7d5cc7); } .e2 .em{ background:linear-gradient(135deg,#e08fa4,#c9627f); }
  .e3 .em{ background:linear-gradient(135deg,#e0b566,#c9912f); } .e4 .em{ background:linear-gradient(135deg,#6fb3e0,#4187c0); }
  /* —— 我的：一级文字列表（v68 去框、去彩色图标块 · V2.1 §22.2） —— */
  .me-btns { margin:0; background:none; border:none; border-radius:0; overflow:visible; }
  .me-btn { display:flex; align-items:baseline; gap:0; width:100%; text-align:left; padding:18px 0; background:none;
    border:none; border-bottom:1px solid rgba(0,0,0,.075);
    font-size:var(--fs-card); font-weight:600; color:var(--ink); font-family:inherit; cursor:pointer; line-height:var(--lh-card); }
  .me-btn:last-child { border-bottom:none; }
  .me-btn .ic { display:none; }
  .me-btn .ar { margin-left:auto; color:var(--ink3); font-size:var(--fs-card); flex:none; padding-left:12px; }
  .me-btn .sub { margin-left:auto; color:var(--ink3); font-size:var(--fs-aux); text-align:right; padding-left:12px; }
  .me-btn .sub + .ar { margin-left:8px; }
  html[data-theme-dark="1"] .me-btn, html[data-theme-dark="1"] .me-head { border-color:rgba(255,255,255,.10); }

  /* ===== v67 · Life OS V2.0（口碑人物化 / 服务三级台阶 / 我的分身份 / 生命纸张感） ===== */
  .loc2 { padding:26px 18px 4px; }
  .loc2 .lt { font-size:var(--fs-page); font-weight:700; line-height:var(--lh-page); color:var(--ink); }
  .loc2 .ls { margin-top:11px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }

  /* v68 去卡片化：口碑改成「人物杂志」——名字 / 金句 / 叙述 / 大图 / 文字链，用分隔线分段（V2.1 §22.4） */
  .vflow { padding:4px 18px 0; display:block; }
  .pcase { padding:26px 0; border-bottom:1px solid rgba(0,0,0,.075); }
  .pcase:first-child { padding-top:14px; }
  .pcase:last-child { border-bottom:none; }
  .pcase:active { opacity:.62; }
  .pcase .pc-nm { font-size:var(--fs-page); font-weight:700; line-height:var(--lh-page); color:var(--ink); letter-spacing:.3px; }
  .pcase .pc-q { margin-top:10px; font-size:var(--fs-card); line-height:var(--lh-card); color:var(--ink); letter-spacing:.2px; }
  .pcase .pc-x { margin-top:13px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
  /* v70：照片前置放大 —— 一个人就是一个视觉章节（V2.3 §24.5） */
  .pcase .pc-img { margin-top:15px; width:100%; padding-top:68%; border-radius:6px;
    background-size:cover; background-position:center top; background-color:var(--tint); }
  .pcase .pc-go { margin-top:15px; font-size:var(--fs-body); color:var(--primary); }
  html[data-theme-dark="1"] .pcase { border-bottom-color:rgba(255,255,255,.10); }

  .svh { padding:26px 18px 0; }
  .svh .sh-lead { font-size:var(--fs-page); font-weight:700; line-height:var(--lh-page); color:var(--ink); }
  .sh-t { display:flex; align-items:center; gap:13px; margin-top:22px; }
  .sh-ava { width:58px; height:58px; border-radius:50%; overflow:hidden; flex:none; background:var(--tint);
    display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:var(--fs-module); font-weight:700; }
  .sh-ava img { width:100%; height:100%; object-fit:cover; display:block; }
  .sh-nm { font-size:var(--fs-card); font-weight:600; color:var(--ink); }
  .sh-tag { margin-top:5px; font-size:var(--fs-aux); color:var(--ink2); }
  .sh-q { margin-top:18px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink); }
  /* v68：CTA 降级为文字链（V2.1 §22.2 第 6 条） */
  .sh-cta { margin-top:16px; display:inline-block; padding:0; border-radius:0; text-decoration:none;
    background:none; color:var(--primary); font-size:var(--fs-body); font-weight:500; }

  /* ================= v70 · 服务页 = 精品服务商店（V2.3 §24：信息扁平化，视觉不贫乏） =================
     阅读像纸，商品像店。商品卡在此处有真实功能：比较与选择 —— 允许卡片，但克制。 */
  .shero { padding:26px 18px 6px; }
  .shero .sh-name { font-size:var(--fs-page); font-weight:700; color:var(--ink); letter-spacing:.5px; }
  .shero .sh-tt { margin-top:7px; font-size:var(--fs-aux); color:var(--ink2); letter-spacing:.5px; }
  .shero .sh-card { margin-left:auto; font-size:var(--fs-aux); color:var(--ink3); text-decoration:none;
    border:1px solid rgba(0,0,0,.14); border-radius:999px; padding:5px 12px; }
  .shero .sh-big { margin-top:24px; font-size:var(--fs-hero); font-weight:700; line-height:1.42; color:var(--ink); letter-spacing:.5px; }
  .shero .sh-sub { margin-top:14px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
  .shero .sh-go { margin-top:16px; display:inline-block; font-size:var(--fs-body); color:var(--primary); text-decoration:none; }

  /* ===== v74 服务空间 2.0：第一屏 = 陪伴大图「我会陪你，一起前行」（§设计说明） =====
     v75：图缩小到 44vh（用户反馈太大），老师身份行上移到图上方（对齐用户 mockup）。 */
  .ph-wrap { padding-top:6px; }
  .ph-idrow { display:flex; align-items:center; gap:11px; padding:14px 20px 12px; }
  .ph-idrow .pi-ava { width:40px; height:40px; border-radius:50%; overflow:hidden; flex:none; background:var(--tint);
    display:flex; align-items:center; justify-content:center; font-size:var(--fs-body); font-weight:700; color:var(--ink3); }
  .ph-idrow .pi-ava img { width:100%; height:100%; object-fit:cover; display:block; }
  .ph-idrow .pi-nm { font-size:var(--fs-body); font-weight:700; color:var(--ink); }
  .ph-idrow .pi-tt { margin-top:2px; font-size:var(--fs-aux); color:var(--ink3); }
  .ph-idrow .pi-card { margin-left:auto; font-size:var(--fs-aux); color:var(--ink3); text-decoration:none;
    border:1px solid rgba(0,0,0,.14); border-radius:999px; padding:5px 12px; }
  .phero { position:relative; min-height:330px; height:44vh; background-size:cover; background-position:center 38%;
    background-color:var(--tint); color:#fff; }
  .phero .ph-scrim { position:absolute; inset:0;
    background:linear-gradient(180deg,rgba(18,15,24,.10) 26%,rgba(18,15,24,.52) 70%,rgba(18,15,24,.72)); }
  .phero .ph-bd { position:absolute; left:0; right:0; bottom:0; padding:0 20px 20px; }
  .phero .ph-t { font-size:var(--fs-page); font-weight:700; line-height:1.35; letter-spacing:.5px; }
  .phero .ph-s { margin-top:10px; font-size:var(--fs-body); line-height:1.72; color:rgba(255,255,255,.88); }
  .phero .ph-go { margin-top:14px; display:inline-block; padding:9px 18px; border:1px solid rgba(255,255,255,.6);
    border-radius:999px; color:#fff; font-size:var(--fs-aux); text-decoration:none; letter-spacing:.5px; }
  .phero .ph-go:active { opacity:.85; }

  /* 三层陪伴的子块标题（组内 A/B/C） */
  .sh3 { padding:0 18px; margin-top:26px; font-size:var(--fs-card); font-weight:700; color:var(--ink); }
  .sh3s { padding:6px 18px 0; font-size:var(--fs-aux); line-height:1.6; color:var(--ink3); }

  /* 我的报告权益（并入「自己先走一走」） */
  .mine-ln { margin:15px 18px 0; font-size:var(--fs-aux); color:var(--ink2); }
  .mine-ln a { color:var(--primary); text-decoration:none; }

  /* ===== v74 课程独立板块「学会看懂生命」 ===== */
  .crs { padding:4px 18px 0; }
  .crs .cr { display:block; padding:16px 0 15px; border-bottom:1px solid rgba(0,0,0,.075); text-decoration:none; color:inherit; }
  .crs .cr:last-child { border-bottom:none; }
  .crs .cr-t { font-size:var(--fs-body); font-weight:650; color:var(--ink); }
  .crs .cr-t i { font-style:normal; color:var(--gold,#B99755); font-weight:700; margin-right:9px; }
  .crs .cr-d { margin-top:5px; font-size:var(--fs-aux); line-height:1.6; color:var(--ink2); }
  .goall { margin:16px 18px 0; display:block; text-align:center; padding:13px 0; border:1px solid var(--ink);
    border-radius:999px; color:var(--ink); font-size:var(--fs-body); text-decoration:none; letter-spacing:1px; }
  .goall:active { opacity:.8; }
  html[data-theme-dark="1"] .phero { color:#fff; }
  html[data-theme-dark="1"] .crs .cr { border-bottom-color:rgba(255,255,255,.09); }

  /* 四入口（中性线图标，不用彩色块） */
  .sqgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:20px 10px 2px; }
  .sq { text-align:center; text-decoration:none; color:inherit; padding:8px 2px; border-radius:10px; }
  .sq:active { opacity:.6; }
  .sq .si { display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0 auto;
    border:1px solid rgba(0,0,0,.13); border-radius:14px; color:var(--ink); }
  .sq .si svg { width:21px; height:21px; display:block; }
  .sq .sn { margin-top:8px; font-size:var(--fs-aux); font-weight:600; color:var(--ink); }
  .sq .ss { margin-top:3px; font-size:var(--fs-aux); color:var(--ink3); transform:scale(.92); }

  .sh2 { padding:30px 18px 0; font-size:var(--fs-module); font-weight:700; line-height:var(--lh-module); color:var(--ink); }
  .sh2s { padding:8px 18px 0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }

  /* 主推服务：大图 + 名 + 文案 + meta + 价（商品允许卡片） */
  .svcmain { display:block; margin:18px 14px 0; text-decoration:none; color:inherit;
    background:var(--card); border:1px solid rgba(0,0,0,.05); border-radius:16px; overflow:hidden; }
  .svcmain .sm-img { width:100%; padding-top:56%; background-size:cover; background-position:center; background-color:var(--tint); }
  .svcmain .sm-bd { padding:17px 17px 16px; }
  .svcmain .sm-nm { font-size:var(--fs-module); font-weight:700; color:var(--ink); }
  .svcmain .sm-d { margin-top:9px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
  .svcmain .sm-r { margin-top:13px; display:flex; align-items:baseline; gap:12px; }
  .svcmain .sm-meta { font-size:var(--fs-aux); color:var(--ink3); }
  .svcmain .sm-pr { font-size:var(--fs-card); font-weight:700; color:var(--gold,#B99755); }
  .svcmain .sm-go { margin-left:auto; font-size:var(--fs-body); color:var(--primary); }

  /* 我现在需要什么：先卖问题，再给服务（2 列问题卡） */
  .needgrid { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:16px 14px 0; }
  .need { display:block; text-decoration:none; color:inherit;
    background:var(--card); border:1px solid rgba(0,0,0,.05); border-radius:14px; overflow:hidden; }
  .need:active { transform:scale(.985); }
  .need .nd-img { width:100%; padding-top:52%; background-size:cover; background-position:center; background-color:var(--tint); }
  .need .nd-bd { padding:13px 13px 14px; }
  .need .nd-t { font-size:var(--fs-card); font-weight:700; line-height:1.45; color:var(--ink); }
  .need .nd-d { margin-top:7px; font-size:var(--fs-aux); line-height:1.6; color:var(--ink2);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .need .nd-pr { margin-top:9px; font-size:var(--fs-aux); color:var(--gold,#B99755); font-weight:600; }

  /* 自己先看看：横滑小商品 */
  .hscroll { display:flex; gap:12px; overflow-x:auto; padding:16px 14px 4px; scrollbar-width:none; }
  .hscroll::-webkit-scrollbar { display:none; }
  .hcard { flex:0 0 152px; text-decoration:none; color:inherit;
    background:var(--card); border:1px solid rgba(0,0,0,.05); border-radius:14px; overflow:hidden; }
  .hcard .hc-img { width:100%; padding-top:44%; background-size:cover; background-position:center; background-color:var(--tint); }
  .hcard .hc-bd { padding:11px 12px 12px; }
  .hcard .hc-t { font-size:var(--fs-aux); font-weight:700; color:var(--ink); }
  .hcard .hc-d { margin-top:5px; font-size:var(--fs-aux); color:var(--ink3); line-height:1.55; }
  .hcard .hc-pr { margin-top:8px; font-size:var(--fs-aux); color:var(--gold,#B99755); font-weight:600; }

  /* 有人帮我看看：真人咨询大卡 */
  .tutor { display:block; margin:18px 14px 0; text-decoration:none; color:inherit;
    background:var(--card); border:1px solid rgba(0,0,0,.05); border-radius:16px; padding:16px;
    display:flex; gap:14px; align-items:flex-start; }
  .tutor .tu-ava { width:64px; height:64px; border-radius:50%; overflow:hidden; flex:none; background:var(--tint);
    display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:var(--fs-module); font-weight:700; }
  .tutor .tu-ava img { width:100%; height:100%; object-fit:cover; display:block; }
  .tutor .tu-nm { font-size:var(--fs-card); font-weight:700; color:var(--ink); }
  .tutor .tu-cat { margin-top:4px; font-size:var(--fs-aux); color:var(--ink3); }
  .tutor .tu-d { margin-top:9px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
  .tutor .tu-r { margin-top:10px; display:flex; align-items:baseline; gap:12px; }
  .tutor .tu-meta { font-size:var(--fs-aux); color:var(--ink3); }
  .tutor .tu-pr { font-size:var(--fs-card); font-weight:700; color:var(--gold,#B99755); }
  .tutor .tu-go { margin-left:auto; font-size:var(--fs-body); color:var(--primary); }

  /* 陪我走一段：深度陪伴大图卡 */
  .deep { display:block; margin:18px 14px 0; text-decoration:none; color:inherit; position:relative;
    border-radius:16px; overflow:hidden; background:var(--tint); }
  .deep .dp-img { position:absolute; inset:0; background-size:cover; background-position:center; }
  .deep .dp-scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,16,26,.18),rgba(20,16,26,.62)); }
  .deep .dp-bd { position:relative; padding:26px 18px 20px; color:#fff; }
  .deep .dp-nm { font-size:var(--fs-module); font-weight:700; }
  .deep .dp-d { margin-top:9px; font-size:var(--fs-body); line-height:var(--lh-body); opacity:.94; }
  .deep .dp-go { margin-top:15px; display:inline-block; background:rgba(255,255,255,.94); color:#18171D;
    border-radius:999px; padding:9px 17px; font-size:var(--fs-aux); font-weight:600; text-decoration:none; }

  /* 真实的改变：2 列引用卡（有人） */
  .vqgrid { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:16px 14px 0; }
  .vq { display:block; text-decoration:none; color:inherit;
    background:var(--card); border:1px solid rgba(0,0,0,.05); border-radius:14px; padding:15px 14px; }
  .vq .vq-q { font-size:var(--fs-aux); font-weight:600; line-height:1.65; color:var(--ink);
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .vq .vq-w { margin-top:12px; display:flex; align-items:center; gap:9px; }
  .vq .vq-ava { width:34px; height:34px; border-radius:50%; flex:none; background:var(--tint);
    display:flex; align-items:center; justify-content:center; color:var(--primary); font-weight:700; font-size:var(--fs-aux); }
  .vq .vq-ava img { width:100%; height:100%; object-fit:cover; display:block; }
  .vq .vq-nm { font-size:var(--fs-aux); font-weight:600; color:var(--ink); }
  .vq .vq-go { margin-top:11px; font-size:var(--fs-aux); color:var(--primary); }
  .vq .vq-tag { margin-top:2px; font-size:var(--fs-aux); color:var(--ink3); transform:scale(.94); transform-origin:left; }

  /* 还不确定从哪里开始：收尾 CTA（全页唯一强按钮） */
  .startcta { margin:26px 14px 0; background:var(--card); border:1px solid rgba(0,0,0,.05);
    border-radius:16px; padding:20px 18px 18px; display:flex; gap:15px; align-items:center; }
  .startcta .sc-ava { width:52px; height:52px; border-radius:50%; overflow:hidden; flex:none; background:var(--tint);
    display:flex; align-items:center; justify-content:center; color:var(--primary); font-weight:700; font-size:var(--fs-body); }
  .startcta .sc-ava img { width:100%; height:100%; object-fit:cover; display:block; }
  .startcta .sc-t { font-size:var(--fs-body); font-weight:700; color:var(--ink); }
  .startcta .sc-d { margin-top:6px; font-size:var(--fs-aux); line-height:1.6; color:var(--ink2); }
  .startcta .sc-btn { flex:none; background:#18171D; color:#fff; border:none; border-radius:999px;
    padding:11px 18px; font-size:var(--fs-aux); font-weight:600; font-family:inherit; cursor:pointer; }
  .startcta .sc-btn:active { opacity:.85; }
  html[data-theme-dark="1"] .svcmain, html[data-theme-dark="1"] .need, html[data-theme-dark="1"] .hcard,
  html[data-theme-dark="1"] .tutor, html[data-theme-dark="1"] .vq, html[data-theme-dark="1"] .startcta {
    background:var(--t-card); border-color:rgba(255,255,255,.08); }
  html[data-theme-dark="1"] .sq .si { border-color:rgba(255,255,255,.16); }
  html[data-theme-dark="1"] .shero .sh-name, html[data-theme-dark="1"] .shero .sh-big { color:var(--t-ink); }
  html[data-theme-dark="1"] .startcta .sc-btn { background:#F2F0F5; color:#18171D; }

  /* v68 去卡片化：三级台阶不用三个白盒，用留白 + 标题 + 分隔线（V2.1 §22.2） */
  .steps { padding:6px 18px 0; display:block; }
  .step { padding:26px 0; border-bottom:1px solid rgba(0,0,0,.075); }
  .step:last-child { border-bottom:none; }
  .step .st-n { font-size:var(--fs-module); font-weight:650; line-height:var(--lh-module); color:var(--ink); }
  .step .st-d { margin-top:11px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
  .step .st-l { margin-top:14px; display:flex; flex-wrap:wrap; gap:12px 24px; }
  .step .st-l a { font-size:var(--fs-body); color:var(--primary); text-decoration:none; background:none; border-radius:0; padding:0; }

  .me-grp { margin:24px 0 0; }
  .me-grp .mg-t { font-size:var(--fs-module); font-weight:650; line-height:var(--lh-module); color:var(--ink); padding:0 18px 8px; }
  .me-grp .mg-t small { font-size:var(--fs-aux); font-weight:400; color:var(--ink3); margin-left:8px; }
  .me-grp .me-btns { margin:0 18px; }
  .me-btn .ic.gold { background:linear-gradient(135deg,#dcc084,#B99755); color:#fff; }
  .usub { font-size:var(--fs-aux); color:var(--ink3); padding:0 0 12px; }
  html[data-theme-dark="1"] .step { border-bottom-color:rgba(255,255,255,.10); }
  html[data-theme-dark="1"] .svh .sh-lead, html[data-theme-dark="1"] .loc2 .lt, html[data-theme-dark="1"] .step .st-n { color:var(--t-ink); }

  /* ===== v265 · 我的页 · 抖动编辑模式（iOS 桌面式：编辑 → 抖动 → 拖动排序 / − 隐藏 / 点模块名改名 → 完成） ===== */
  .wkme-pill { position:fixed; top:calc(10px + env(safe-area-inset-top)); right:14px; z-index:960; display:none;
    font-family:inherit; font-size:var(--fs-aux,12px); font-weight:600; color:var(--ink,#2b2740);
    background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.15); border-radius:50%; width:34px; height:34px; padding:0; text-align:center; line-height:32px; font-size:16px;
    cursor:pointer; box-shadow:0 2px 10px rgba(40,30,70,.12); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
  .wkme-pill.on { color:#fff; background:var(--primary,#7A5CC7); border-color:transparent; }
  html[data-theme-dark="1"] .wkme-pill { background:rgba(32,29,44,.88); color:#e8e5f2; border-color:rgba(255,255,255,.18); }
  html[data-theme-dark="1"] .wkme-pill.on { background:var(--pri,#9b7fe8); color:#fff; }
  .wkme-hint { display:none; position:fixed; top:calc(12px + env(safe-area-inset-top)); left:14px; z-index:959;
    font-size:var(--fs-aux,11px); color:#fff; background:rgba(34,32,42,.78); border-radius:999px; padding:6px 13px; pointer-events:none; max-width:52vw; }
  body.wkme-editing .wkme-hint { display:block; }
  @keyframes wkmeJig { 0%,100% { transform:rotate(-1deg); } 50% { transform:rotate(1deg); } }
  body.wkme-editing .me-grp { border:1px dashed rgba(122,92,199,.35); border-radius:16px; padding:12px 6px 8px; margin:18px 8px 0; }
  body.wkme-editing .mg-t { touch-action:none; cursor:grab; position:relative; }
  body.wkme-editing .wkme-unit { animation:wkmeJig .34s ease-in-out infinite; transform-origin:50% 62%; position:relative; touch-action:none; }
  .wkme-b { position:absolute; top:-8px; left:-8px; width:22px; height:22px; border-radius:50%; z-index:6;
    background:#8a8794; color:#fff; font-size:16px; line-height:20px; text-align:center; font-weight:700;
    box-shadow:0 1px 5px rgba(0,0,0,.28); cursor:pointer; user-select:none; -webkit-user-select:none; animation:none !important; }
  .wkme-b:active { transform:scale(.9); }
  .wkme-b.plus { background:var(--primary,#7A5CC7); }
  .wkme-drag { animation:none !important; transform:scale(1.08); opacity:.92; z-index:60; pointer-events:none;
    background:var(--tint,#f1ecfa); border-radius:14px; box-shadow:0 8px 24px rgba(40,30,70,.28); }
  .wkme-grpdrag { border-color:var(--primary,#7A5CC7) !important; background:rgba(122,92,199,.05); pointer-events:none; }
  .wkme-tray { display:none; margin:24px 18px 0; border:1px dashed rgba(122,92,199,.4); border-radius:16px; padding:13px 15px 15px; }
  body.wkme-editing .wkme-tray { display:block; }
  .wkme-tray .t { font-size:var(--fs-aux,12px); font-weight:700; color:var(--ink); }
  .wkme-tray .t small { color:var(--ink3); font-weight:400; margin-left:8px; }
  .wkme-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
  .wkme-chip { display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-aux,11px); color:var(--ink2);
    border:1px solid rgba(0,0,0,.13); border-radius:999px; padding:5px 11px; background:var(--t-card,#fff); cursor:pointer; font-family:inherit; }
  .wkme-chip b { color:var(--primary,#7A5CC7); font-weight:700; font-size:13px; }
  html[data-theme-dark="1"] .wkme-chip { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); }
  body.wkme-editing .me-ln { border-bottom-color:transparent; }

/* ===== v409 出生日期/时间滚轮（出图页 v72 同款） ===== */
.wmask{ position:fixed; inset:0; background:rgba(31,34,51,.45); z-index:130; display:none; align-items:flex-end; }
.wmask.on{ display:flex; }
.wsheet{ width:100%; background:var(--card,#fff); border-radius:18px 18px 0 0; padding:18px 0 calc(16px + env(safe-area-inset-bottom)); }
.wsheet .wh{ display:flex; align-items:center; padding:0 20px 12px; }
.wsheet .wh .wt{ font-size:var(--fs-body,15px); font-weight:650; color:var(--ink,#22202a); }
.wsheet .wh .wx{ margin-left:auto; font-size:var(--fs-aux,12px); color:var(--ink3,#9a94ab); padding:6px 0 6px 20px; }
.wwrap{ position:relative; display:flex; height:230px; overflow:hidden; justify-content:center; }
.wband{ position:absolute; top:50%; height:46px; transform:translateY(-50%);
  border-top:1px solid var(--line,#e8e4f0); border-bottom:1px solid var(--line,#e8e4f0); pointer-events:none; }
.wshade{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,var(--card,#fff) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 68%,var(--card,#fff) 100%); }
.wcol{ flex:0 0 104px; width:104px; height:100%; overflow-y:auto; scroll-snap-type:y proximity; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; scrollbar-width:none; }
.wcol::-webkit-scrollbar{ display:none; }
.wq{ padding:0 14px 10px; }
.wq:empty{ display:none; }
.wqrow{ display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.wqrow .wqlb{ flex:0 0 34px; font-size:12px; color:var(--ink3,#9a94ab); letter-spacing:.06em; }
.wqrow .wqsc{ flex:1; display:flex; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:2px 0; }
.wqrow .wqsc::-webkit-scrollbar{ display:none; }
.wqc{ flex:0 0 auto; padding:6px 12px; border-radius:999px; background:#f3f1f6; color:var(--ink2,#5f5a72); font-size:13px; font-weight:600; white-space:nowrap; transition:.15s; }
.wqc.on{ background:var(--primary,#5b3fa8); color:#fff; }
html[data-theme-dark="1"] .wqc{ background:#2a2733; color:#cfcadd; }
html[data-theme-dark="1"] .wqc.on{ background:var(--primary,#8f6ce0); color:#fff; }
.witem{ height:46px; line-height:46px; text-align:center; font-size:19px; font-weight:600; color:var(--ink2,#5f5a72); scroll-snap-align:center; }
.wsheet .wfoot{ display:flex; gap:12px; padding:16px 20px 0; }
.wsheet .wfoot .wx{ flex:1; text-align:center; padding:13px 0; border-radius:14px; background:#f2f0f4; color:var(--ink2,#5f5a72); font-size:17px; font-weight:600; cursor:pointer; }
.wsheet .wfoot .wok{ flex:1; text-align:center; padding:13px 0; border-radius:14px; background:var(--ink,#22202a); color:#fff; font-size:17px; font-weight:650; cursor:pointer; }
body.wheel-on .tabbar{ display:none; }

/* ===== v410（老板 2026-10-19）：编辑钮从右上悬浮铅笔改为头部图标（签到右侧）；
   扁平化：无底色无文字，编辑态仅加淡圆底 + 图标变 ✓；提示条移到底部，不再压头像 ===== */
.mg-ico#mgEditIco.on { background:rgba(255,255,255,.20); border-radius:50%; }
.wkme-hint { top:auto; bottom:calc(86px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%);
  max-width:76vw; text-align:center; font-size:12px; padding:7px 14px; }

/* v417: recoverable failures stay on the page, away from the main reading area. */
.space-status{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1000;width:calc(100% - 32px);max-width:448px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card,#fff);color:var(--ink);box-shadow:0 8px 32px rgba(0,0,0,.12);font-size:14px;line-height:1.5}
.space-status span{flex:1}.space-status button,.space-error button{font:inherit;cursor:pointer;border:0;color:var(--primary);background:transparent;padding:10px 4px;flex:none}
.space-error{padding:72px 24px 32px;line-height:1.7}.space-error h1{font-size:22px;margin-bottom:12px}.space-error p{color:var(--ink2);margin-bottom:20px}.space-error button{margin-right:20px;min-height:44px}

/* Keep birth-picker decisions visible above app navigation, including enlarged text. */
.wmask.ce-picker{z-index:12000;padding:12px;box-sizing:border-box}
.ce-picker .wsheet{max-width:560px;margin:0 auto;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.ce-picker .wh{display:grid;grid-template-columns:auto minmax(0,1fr) auto;flex:none;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(100,85,130,.12)}
.ce-picker .wh .wx,.ce-picker .wh .wok{margin:0;border:0;font:inherit;font-size:15px;min-height:44px;flex:none;padding:8px 10px;background:transparent;cursor:pointer;border-radius:8px}
.ce-picker .wh .wok{background:#7155a1;color:white;font-weight:600}.ce-picker .wh .wt{overflow-wrap:anywhere;font-size:16px;min-width:0;text-align:center}
.ce-picker .ce-selected{flex:none;text-align:center;padding:8px 10px;font-size:14px;color:var(--ink2)}
.ce-picker .wwrap{flex:0 1 230px;min-height:138px}.ce-picker .wcol{flex:1 1 0;min-width:0;width:auto}.ce-picker .witem{height:46px;line-height:46px;font-size:19px}
.ce-picker .wq,.ce-picker .wfoot{display:none}

/* v563 电脑网页版：桌面打开不再是手机屏宽，后台统一网页版 */
@media (min-width:900px) {
  html body.wk-core { --wk-content-width:1080px; }
  html .wk-core > .wrap { max-width:1080px; }
  .wrap { max-width:1080px; }
  .xk-panel { max-width:1080px; }
  .tabbar .in { max-width:1080px; }
  .mc-topbar { max-width:1080px; }
  .sheet { max-width:640px; }
  .mc-view .vbox { max-width:760px; }
  .me-grid { grid-template-columns:repeat(4,1fr); }
  .plain-grid { grid-template-columns:repeat(4,1fr); }
  .mc-grid { grid-template-columns:repeat(3,1fr); }
}
