/* ===== 我的页（1rem = 10px 设计稿值，随视口缩放，同 app.css 体系） ===== */

  body { background:#f5f5f7; padding-bottom:calc(8rem + env(safe-area-inset-bottom, 0px)); }

  /* ---- 顶部个人区 ---- */
  .my-hd { display:flex; align-items:flex-start; padding:calc(max(env(safe-area-inset-top, 0px), 3.6rem) + 1.1rem) 1.7rem 0 1.66rem; }
  .avatar { width:6.6rem; height:6.83rem; border-radius:1rem; display:block; flex-shrink:0; }
  .hd-info { margin-left:1.2rem; padding-top:.6rem; }
  .nick { font-size:2.4rem; font-weight:700; color:#1a1a1a; line-height:1.1; letter-spacing:.2px; }
  .vip { height:2.4rem; width:auto; display:block; margin-top:.5rem; }
  .hd-acts { margin-left:auto; display:flex; align-items:center; gap:2rem; padding-top:1.2rem; }
  .hd-acts .act { height:2rem; width:auto; display:block; cursor:pointer; }
  .msg-wrap { position:relative; }
  .msg-badge {
    position:absolute; top:-.7rem; right:-.9rem; min-width:1.7rem; height:1.7rem;
    background:#ff5148; color:#fff; font-size:1.1rem; font-weight:700;
    border-radius:999px; display:flex; align-items:center; justify-content:center; padding:0 .35rem;
    box-sizing:border-box; border:.15rem solid #f5f5f7;
  }

  /* ---- 卡片通用 ---- */
  .card { background:#fff; border-radius:1rem; margin:1.5rem 1.24rem 0; padding:0; }
  .card-title { font-size:1.7rem; font-weight:700; color:#1a1a1a; margin:0; padding:1.9rem 1.7rem 0; }

  /* ---- 神券 banner ---- */
  .sq-banner {
    margin:1.56rem 1.24rem 0; height:5.9rem; background:#ffecf0; border-radius:1rem;
    display:flex; align-items:center; padding:0 2.2rem 0 1.66rem; box-sizing:border-box;
  }
  .sq-logo { height:2.2rem; width:auto; display:block; }
  .sq-text { font-size:1.5rem; color:#1a1a1a; margin-left:1.2rem; white-space:nowrap; }
  .sq-text b { color:#ff4438; font-size:1.9rem; font-weight:700; }
  .sq-btn {
    margin-left:auto; width:7.4rem; height:3.4rem; border:none; border-radius:999px;
    background:linear-gradient(90deg,#fc6514,#ff3296); color:#fff;
    font-size:1.5rem; font-weight:700; cursor:pointer; flex-shrink:0;
  }

  /* ---- 我的资产 ---- */
  .asset-grid { display:flex; padding:0 1.2rem; margin-top:1.3rem; }
  .asset-grid .it { flex:1; text-align:center; }
  .asset-grid .num { font-size:2.2rem; font-weight:700; color:#1a1a1a; line-height:1; }
  .asset-grid .num i { font-style:normal; font-size:1.4rem; font-weight:600; margin-left:.2rem; }
  .asset-grid .lb { font-size:1.5rem; color:#45474a; margin-top:0.7rem; white-space:nowrap; }
  .asset-grid .lb .dot {
    display:inline-block; width:.7rem; height:.7rem; background:#ff5148;
    border-radius:50%; vertical-align:.2rem; margin-left:.2rem;
  }
  .sq-strip {
    margin-top:1.6rem; background:#fdf0f2; border-radius:0 0 1rem 1rem;
    height:5.4rem; display:flex; align-items:center; padding:0 1.7rem; box-sizing:border-box;
  }
  .sq-strip .gift { height:3.4rem; width:auto; display:block; }
  .strip-text { font-size:1.5rem; color:#1a1a1a; margin-left:1.1rem; }
  .strip-text b { color:#ff2d6a; font-size:1.7rem; font-weight:700; }
  .strip-more {
    margin-left:auto; display:flex; align-items:center; font-size:1.6rem; color:#1a1a1a; white-space:nowrap; cursor:pointer;
  }
  .strip-more svg, .fav-more svg, .wallet-repay svg, .safe-more svg { width:.9rem; height:1.4rem; margin-left:.4rem; }

  /* ---- 我的收藏 ---- */
  .fav-row { position:relative; display:flex; gap:1.1rem; padding:2rem 1.7rem 0; }
  .fav-row img { height:11rem; width:auto; border-radius:.8rem; display:block; }
  .fav-more {
    position:absolute; right:0; top:50%; transform:translateY(-50%);
    display:flex; align-items:center; font-size:1.5rem; color:#3c3c40; white-space:nowrap;
    padding:0 1.2rem 0 2.6rem;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff 38%);
  }

  /* ---- 我的钱包 ---- */
  .wallet-card { padding-bottom:2.5rem; }
  .wallet-head { display:flex; align-items:center; }
  .wallet-head .card-title { padding-bottom:1.9rem; }
  .wallet-repay { margin-left:auto; display:flex; align-items:center; font-size:1.5rem; color:#666; padding-right:1.7rem; cursor:pointer; }
  .wallet-repay i { width:.7rem; height:.7rem; background:#ff5148; border-radius:50%; margin:0 .5rem 0 .8rem; }
  .wallet-grid { display:flex; padding:0 1.7rem; }
  .wallet-grid .it { flex:1; text-align:center; position:relative; }
  .wallet-grid .num { font-size:2.2rem; font-weight:700; color:#1a1a1a; line-height:1; }
  .wallet-grid .num i { font-style:normal; font-size:1.5rem; font-weight:600; margin-left:.2rem; }
  .wallet-grid .num .b1 {
    position:absolute; top:-1rem; margin-left:.4rem; min-width:1.6rem; height:1.6rem;
    background:#ff5148; color:#fff; font-size:1.1rem; font-weight:700; border-radius:999px;
    display:inline-flex; align-items:center; justify-content:center; padding:0 .4rem; box-sizing:border-box;
    font-style:normal;
  }
  .wallet-grid .lb { font-size:1.5rem; color:#1a1a1a; margin-top:0.9rem; }
  .wallet-grid .sub { font-size:1.3rem; color:#9a9a9e; margin-top:0.7rem; }

  /* ---- 食安报告条 ---- */
  .safe-strip {
    margin:1.5rem 1.24rem 0; height:4.5rem; background:#eaf8ef; border-radius:1rem;
    display:flex; align-items:center; padding:0 1.7rem; box-sizing:border-box;
  }
  .safe-text { font-size:1.8rem; font-weight:700; color:#0e8a41; }
  .safe-more { margin-left:auto; display:flex; align-items:center; font-size:1.5rem; color:#666; cursor:pointer; }

  /* ---- 图标宫格卡 ---- */
  .icon-grid { display:flex; flex-wrap:wrap; padding:0.2rem 0 0.6rem; }
  .icon-grid .it {
    width:25%; box-sizing:border-box; display:flex; flex-direction:column; align-items:center;
    padding-top:1.6rem; cursor:pointer; position:relative;
  }
  .icon-grid .it img { height:2.3rem; width:auto; display:block; }
  .icon-grid .it .lb { font-size:1.5rem; color:#26262a; margin-top:0.8rem; white-space:nowrap; }
  .icon-grid .it .badge-img { position:absolute; top:1rem; width:2.6rem; height:auto; }
  .icon-grid .it .badge-img.r { right:.8rem; }
  .icon-grid .it .badge-img.big { width:5.1rem; height:auto; right:-.6rem; top:1.2rem; }

  /* 宫格行间距：功能/服务/推荐均为固定行高节奏 */
  #funcGrid .it, #servGrid .it, #recGrid .it { margin-bottom:1.4rem; }
  #recGrid .it:nth-child(n+9) { margin-bottom:.6rem; }

  .grid-card { padding-bottom:1rem; }

  /* ---- 个人信息设置弹窗（头像/昵称，本地存储） ---- */
  .set-mask {
    position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:100;
    display:none; align-items:flex-end; justify-content:center;
  }
  .set-mask.show { display:flex; }
  .set-sheet {
    width:100%; max-width:53rem; background:#fff;
    border-radius:1.6rem 1.6rem 0 0; padding:2.2rem 1.8rem calc(3.4rem + env(safe-area-inset-bottom, 0px));
    max-height:88vh; overflow-y:auto;
    animation:setUp .22s ease;
  }
  @keyframes setUp { from{transform:translateY(4rem);opacity:.4} to{transform:translateY(0);opacity:1} }
  .set-title {
    text-align:center; font-size:1.7rem; font-weight:700; color:#222;
    margin-bottom:2rem; position:relative;
  }
  .set-close {
    position:absolute; right:0; top:-0.6rem; width:3rem; height:3rem;
    border:none; background:none; font-size:2.4rem; color:#999; cursor:pointer; line-height:1;
  }
  .set-row {
    display:flex; align-items:center; padding:1.3rem 0;
    border-bottom:1px solid #f2f2f2; cursor:pointer;
  }
  .set-row:active { background:#fafafa; }
  .set-row-col { flex-direction:column; align-items:flex-start; cursor:default; }
  .set-row-col:active { background:none; }
  .set-lb { font-size:1.6rem; color:#222; font-weight:600; }
  .set-avatar {
    margin-left:auto; width:5.6rem; height:5.6rem; border-radius:1rem;
    object-fit:cover; background:#f0f0f0; display:block;
  }
  .set-arrow { width:1rem; height:1.6rem; margin-left:0.8rem; flex-shrink:0; }
  .set-nick {
    width:100%; margin-top:1rem; border:1px solid #e5e5e5; border-radius:0.8rem;
    padding:1.1rem 1.2rem; font-size:1.5rem; color:#222; outline:none;
    background:#fafafa; font-family:inherit;
  }
  .set-nick:focus { border-color:#ffe12b; background:#fff; }
  .set-save {
    width:100%; margin-top:2.2rem; padding:1.4rem 0; border:none; border-radius:999px;
    background:linear-gradient(90deg,#ffe12b,#ffd900); font-size:1.6rem; font-weight:700;
    color:#222; cursor:pointer;
  }
  .set-save:active { opacity:.8; }
