  /* ========== 基础 ========== */
  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html{scroll-behavior:smooth}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
    background:#e7e9ee;color:#1a1d21;font-size:17px;line-height:1.55;
  }

  /* ========== 手机容器（桌面打开时居中显示手机效果） ========== */
  .app{
    max-width:480px;margin:0 auto;min-height:100vh;
    background:#f4f5f7;
    box-shadow:0 0 50px rgba(15,23,42,.12);
    position:relative;
  }
  /* 页面底部预留底部导航高度 */
  #page-home,#page-wish{padding-bottom:92px}

  /* ========== 顶部导航栏：← 附近门店活动 🔄 ⚙ ========== */
  .topbar{
    position:sticky;top:0;z-index:50;
    background:linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;display:flex;align-items:center;
    padding:12px 10px;gap:4px;
  }
  .icon-btn{
    background:none;border:none;color:#fff;cursor:pointer;
    width:44px;height:44px;font-size:24px;line-height:1;
    display:flex;align-items:center;justify-content:center;border-radius:12px;transition:.15s;
  }
  .icon-btn:active{background:rgba(255,255,255,.18)}
  .topbar .title{
    flex:1;text-align:center;font-size:19px;font-weight:800;
    letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .top-actions{display:flex;gap:2px}

  /* ========== 定位 + 搜索 ========== */
  .search-area{background:#fff;padding:12px 14px 2px;border-bottom:1px solid #eceef2}
  .loc-row{display:flex;align-items:center;gap:10px}
  .loc{font-size:17px;font-weight:800;white-space:nowrap;cursor:pointer;padding:6px 8px;border-radius:10px;display:inline-flex;align-items:center;gap:2px}
  .loc:active{background:#f1f3f5}
  .caret{font-size:13px;color:#2563eb}
  .search-box{
    flex:1;display:flex;align-items:center;gap:6px;
    background:#f1f3f5;border-radius:12px;padding:10px 12px;
  }
  .s-ic{font-size:16px}
  .search-box input{
    flex:1;border:none;outline:none;background:none;
    font-size:16px;color:#1a1d21;
  }
  .search-box input::placeholder{color:#9aa0a6}

  /* ========== 筛选标签 ========== */
  .chips{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{
    flex-shrink:0;border:none;cursor:pointer;
    font-size:16px;font-weight:700;padding:8px 16px;border-radius:999px;
    background:#f1f3f5;color:#4b5563;transition:.15s;
  }
  .chip.active{background:#2563eb;color:#fff}

  /* ========== 地图 / 列表 切换 ========== */
  .mode-switch{display:flex;gap:8px;padding:10px 14px;background:#fff;border-bottom:1px solid #eceef2}
  .mode-btn{
    flex:1;padding:10px 0;border-radius:12px;border:none;cursor:pointer;
    font-size:17px;font-weight:800;background:#f1f3f5;color:#6b7280;transition:.2s;
  }
  .mode-btn.active{background:#0f172a;color:#fff}

  /* ========== 地图组件（占屏幕 35%） ========== */
  .map-wrap{
    height:35vh;min-height:210px;background:#dbe7f5;
    position:relative;overflow:hidden;
  }
  .map-wrap svg{position:absolute;inset:0;width:100%;height:100%}
  .map-zoom{position:absolute;right:12px;bottom:44px;display:flex;flex-direction:column;gap:6px}
  .zoom-btn{
    width:40px;height:40px;border-radius:12px;border:none;cursor:pointer;
    background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.15);
    font-size:20px;font-weight:800;color:#1a1d21;transition:.15s;
  }
  .zoom-btn:active{background:#f1f3f5}
  .map-note{
    position:absolute;left:10px;bottom:8px;
    font-size:12px;color:#5b6b8a;background:rgba(255,255,255,.78);
    padding:3px 10px;border-radius:999px;
  }

  /* ========== 上滑提示 ========== */
  .hint{
    background:linear-gradient(135deg,#4f8df7,#2563eb);
    color:#fff;text-align:center;padding:18px 16px 22px;
  }
  .hint .arrow{font-size:28px;display:inline-block;animation:bob 1.2s ease-in-out infinite}
  .hint .txt{font-size:19px;font-weight:800;letter-spacing:1px;margin-top:2px}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

  /* ========== 区域标题 ========== */
  .section-title{
    display:flex;align-items:baseline;justify-content:space-between;
    padding:22px 16px 10px;font-size:20px;font-weight:800;
  }
  .section-title .count{font-size:14px;color:#6b7280;font-weight:600}

  /* ========== 门店卡片 ========== */
  .store-card{
    margin:0 14px 16px;background:#fff;border-radius:18px;
    padding:16px 16px 14px;
    box-shadow:0 2px 12px rgba(15,23,42,.06);
    border-left:6px solid #9aa0a6;
    cursor:pointer;transition:transform .12s;
  }
  .store-card:active{transform:scale(.985)}
  .store-card.svc{border-left-color:#2563eb}
  .store-card.new{border-left-color:#0ea5e9}

  .row1{display:flex;align-items:center}
  .badge{
    font-size:14px;font-weight:800;padding:3px 10px;border-radius:999px;
    margin-right:8px;flex-shrink:0;
  }
  .badge.red{background:#e8efff;color:#2563eb}
  .badge.orange{background:#e0f2fe;color:#0ea5e9}
  .badge.gray{background:#f1f2f4;color:#6b7280}
  .name{font-size:22px;font-weight:800;line-height:1.3}

  .meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:#6b7280;font-size:16px;margin-top:8px}
  .meta span{display:inline-flex;align-items:center;gap:4px}

  .worktime{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:10px}
  .wt{font-size:15px;font-weight:800;padding:5px 14px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
  .wt-in{background:#e6f7ee;color:#0c9d58}
  .wt-out{background:#e8efff;color:#2563eb}

  .notice{font-size:18px;font-weight:700;margin-top:10px;color:#1a1d21}
  .notice.muted{color:#9aa0a6;font-weight:600}

  .period{
    display:inline-block;margin-top:10px;
    background:#eef2ff;color:#2743d6;
    font-size:15px;font-weight:700;padding:3px 12px;border-radius:999px;
  }

  .btns{display:flex;gap:12px;margin-top:16px}
  .btn{
    flex:1;text-align:center;padding:13px 0;border-radius:14px;
    font-size:18px;font-weight:800;border:none;cursor:pointer;transition:.15s;
  }
  .btn:active{opacity:.75}
  .btn.call{background:#eef2ff;color:#2743d6}
  .btn.nav{background:#e6f7ee;color:#0c9d58}

  /* ========== 空状态 ========== */
  .empty{text-align:center;color:#9aa0a6;font-size:17px;font-weight:700;padding:44px 20px}

  /* ========== 底部导航:已迁移到 app-kit 的 .app-tabbar(见文件末尾适配区) ========== */

  /* ========== 提示气泡 ========== */
  .toast{
    position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(16px);
    background:rgba(17,24,39,.93);color:#fff;font-size:16px;font-weight:600;
    padding:12px 22px;border-radius:999px;max-width:82%;text-align:center;
    opacity:0;transition:.3s;z-index:99;pointer-events:none;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

  /* ========== 城市切换面板 ========== */
  .mask{
    position:fixed;inset:0;background:rgba(15,23,42,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;z-index:90;
  }
  .mask.show{opacity:1;pointer-events:auto}

  .city-sheet{
    position:fixed;left:50%;bottom:0;z-index:95;
    transform:translateX(-50%) translateY(105%);
    width:100%;max-width:480px;background:#fff;
    border-radius:20px 20px 0 0;transition:transform .28s;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    max-height:76vh;overflow-y:auto;
  }
  .city-sheet.show{transform:translateX(-50%) translateY(0)}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
  .sheet-head .t{font-size:20px;font-weight:800}
  .sheet-close{
    background:#f1f3f5;border:none;width:34px;height:34px;border-radius:50%;
    font-size:17px;font-weight:800;cursor:pointer;color:#4b5563;transition:.15s;
  }
  .sheet-close:active{background:#e2e5ea}
  .sheet-label{font-size:15px;font-weight:700;color:#6b7280;margin:14px 0 10px}
  .city-chips{display:flex;flex-wrap:wrap;gap:10px}
  .city-chip{
    border:none;cursor:pointer;padding:10px 18px;border-radius:999px;
    background:#f1f3f5;color:#1a1d21;font-size:16px;font-weight:700;transition:.15s;
  }
  .city-chip:active{opacity:.75}
  .city-chip.cur{background:#2563eb;color:#fff}
  .city-chip.mini{font-size:14px;padding:8px 13px;font-weight:700}
  .dist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .dist-btn{
    padding:12px 0;border-radius:12px;border:none;cursor:pointer;
    background:#f1f3f5;color:#1a1d21;font-size:16px;font-weight:700;transition:.15s;
  }
  .dist-btn:active{opacity:.75}
  .dist-btn.cur{background:#dbeafe;color:#2563eb;border:2px solid #2563eb;padding:10px 0}
  .sheet-confirm{
    width:100%;margin-top:16px;padding:14px 0;border:none;border-radius:14px;
    background:linear-gradient(135deg,#4f8df7,#2563eb);color:#fff;
    font-size:18px;font-weight:800;cursor:pointer;transition:.15s;
  }
  .sheet-confirm:active{opacity:.8}

  /* ========== 全部城市（省份分组） ========== */
  .city-search{margin-top:6px}
  .prov{margin-bottom:6px}
  .prov-head{
    display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;
    font-size:16px;font-weight:800;color:#1a1d21;
    padding:10px 6px;border-radius:10px;transition:.15s;
  }
  .prov-head:active{background:#f1f3f5}
  .p-arrow{font-size:11px;color:#2563eb;display:inline-block;transition:transform .2s}
  .prov.open .p-arrow{transform:rotate(90deg)}
  .prov-body{display:none;flex-wrap:wrap;gap:8px;padding:2px 6px 10px}
  .prov.open .prov-body{display:flex}
  .dist-tip{
    grid-column:1/-1;text-align:center;color:#9aa0a6;font-size:15px;font-weight:600;
    padding:14px 0;background:#f7f8fa;border-radius:12px;
  }

  /* ========== 【新增】定位当前位置按钮 ========== */
  .locate-btn{
    flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;
    background:#eef2ff;color:#2743d6;font-size:20px;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:.15s;
  }
  .locate-btn:active{background:#dfe5ff;transform:scale(.92)}
  .locate-btn.locating{animation:locateSpin 1s linear infinite}
  @keyframes locateSpin{0%,100%{transform:rotate(0)}50%{transform:rotate(180deg)}}

  /* ========== 【新增】地图导航目标标记 ========== */
  .nav-target-info{
    position:absolute;left:50%;top:8px;transform:translateX(-50%);
    background:rgba(15,23,42,.82);color:#fff;
    font-size:13px;font-weight:700;padding:5px 14px;border-radius:999px;
    max-width:92%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    z-index:5;pointer-events:auto;
  }
  /* 导航路线：流动虚线动画 */
  .route-flow{animation:routeFlow 1.2s linear infinite}
  @keyframes routeFlow{to{stroke-dashoffset:-18}}
  /* 「开始导航」按钮（真实调起导航） */
  .nav-start{
    margin-left:8px;padding:3px 12px;border:none;border-radius:999px;
    background:#2563eb;color:#fff;font-size:12px;font-weight:800;
    cursor:pointer;vertical-align:middle;
  }
  .nav-start:active{opacity:.8}

  /* ========== 【新增】联系客服面板 ========== */
  .contact-mask{
    position:fixed;inset:0;background:rgba(15,23,42,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;z-index:90;
  }
  .contact-mask.show{opacity:1;pointer-events:auto}
  .contact-sheet{
    position:fixed;left:50%;bottom:0;z-index:95;
    transform:translateX(-50%) translateY(105%);
    width:100%;max-width:480px;background:#fff;
    border-radius:20px 20px 0 0;transition:transform .28s;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    text-align:center;
  }
  .contact-sheet.show{transform:translateX(-50%) translateY(0)}
  .contact-store{font-size:19px;font-weight:800;color:#1a1d21;margin:6px 0 2px}
  .contact-phone{font-size:28px;font-weight:800;color:#2743d6;letter-spacing:1px;margin:10px 0 18px}
  .contact-call{
    display:block;width:100%;padding:14px 0;border-radius:14px;
    background:linear-gradient(135deg,#4f8df7,#2563eb);color:#fff;
    font-size:18px;font-weight:800;text-decoration:none;transition:.15s;
  }
  .contact-call:active{opacity:.8}
  .contact-copy{
    width:100%;margin-top:10px;padding:13px 0;border:none;border-radius:14px;
    background:#f1f3f5;color:#4b5563;font-size:16px;font-weight:700;cursor:pointer;transition:.15s;
  }
  .contact-copy:active{background:#e2e5ea}

  /* ========== 【新增】导航地图选择面板（高德/腾讯/百度） ========== */
  .nav-mask{
    position:fixed;inset:0;background:rgba(15,23,42,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;z-index:90;
  }
  .nav-mask.show{opacity:1;pointer-events:auto}
  .nav-sheet{
    position:fixed;left:50%;bottom:0;z-index:95;
    transform:translateX(-50%) translateY(105%);
    width:100%;max-width:480px;background:#fff;
    border-radius:20px 20px 0 0;transition:transform .28s;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .nav-sheet.show{transform:translateX(-50%) translateY(0)}
  .nav-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .nav-sheet-head .t{font-size:20px;font-weight:800}
  .nav-sheet-head .sub{font-size:14px;color:#6b7280;font-weight:600}
  .nav-map-list{display:flex;flex-direction:column;gap:12px}
  .nav-map-btn{
    display:flex;align-items:center;gap:14px;width:100%;
    padding:14px 16px;border-radius:16px;border:2px solid #eceef2;
    background:#f8f9fb;cursor:pointer;transition:.15s;text-align:left;
  }
  .nav-map-btn:active{opacity:.75;transform:scale(.985)}
  .nav-map-btn.on{border-color:#2563eb;background:#eef2ff}
  .nav-map-btn .m-ic{
    width:46px;height:46px;border-radius:12px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-size:24px;
  }
  .nav-map-btn.gaode .m-ic{background:#e8efff}
  .nav-map-btn.tencent .m-ic{background:#e0f2fe}
  .nav-map-btn.baidu .m-ic{background:#e8efff}
  .nav-map-btn .m-name{font-size:17px;font-weight:800;color:#1a1d21}
  .nav-map-btn .m-desc{font-size:13px;color:#6b7280;font-weight:600;margin-top:2px}
  .nav-map-btn .m-tag{
    margin-left:auto;font-size:12px;font-weight:800;color:#2563eb;
    background:#e8efff;padding:4px 10px;border-radius:999px;flex-shrink:0;
  }

  /* ========== 【新增】门店详情面板 ========== */
  .detail-mask{
    position:fixed;inset:0;background:rgba(15,23,42,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;z-index:90;
  }
  .detail-mask.show{opacity:1;pointer-events:auto}
  .detail-sheet{
    position:fixed;left:50%;bottom:0;z-index:95;
    transform:translateX(-50%) translateY(105%);
    width:100%;max-width:480px;background:#fff;
    border-radius:20px 20px 0 0;transition:transform .28s;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    max-height:82vh;overflow-y:auto;
  }
  .detail-sheet.show{transform:translateX(-50%) translateY(0)}
  .detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
  .detail-head .t{font-size:20px;font-weight:800}
  .detail-top{display:flex;align-items:center;gap:10px;margin:8px 0 4px}
  .detail-badge{
    font-size:14px;font-weight:800;padding:3px 10px;border-radius:999px;flex-shrink:0;
  }
  .detail-badge.red{background:#e8efff;color:#2563eb}
  .detail-badge.orange{background:#e0f2fe;color:#0ea5e9}
  .detail-badge.gray{background:#f1f2f4;color:#6b7280}
  .detail-name{font-size:24px;font-weight:800;line-height:1.3}
  .detail-rows{margin-top:12px;display:flex;flex-direction:column;gap:10px}
  .detail-row{
    display:flex;align-items:flex-start;gap:10px;
    font-size:16px;color:#1a1d21;line-height:1.5;
  }
  .detail-row .k{flex-shrink:0;width:26px;text-align:center}
  .detail-row .v{flex:1;font-weight:600;color:#4b5563}
  .detail-row .v b{color:#1a1d21;font-weight:800}
  .detail-notice{
    margin-top:12px;padding:12px 14px;border-radius:14px;
    background:#f1f5ff;border:1px solid #e0e9ff;color:#2743d6;
    font-size:16px;font-weight:700;line-height:1.55;
  }
  .detail-period{
    display:inline-block;margin-top:10px;
    background:#eef2ff;color:#2743d6;
    font-size:15px;font-weight:700;padding:3px 12px;border-radius:999px;
  }
  .detail-actions{display:flex;gap:12px;margin-top:18px}
  .detail-btn{
    flex:1;text-align:center;padding:13px 0;border-radius:14px;
    font-size:18px;font-weight:800;border:none;cursor:pointer;transition:.15s;
  }
  .detail-btn:active{opacity:.75}
  .detail-btn.call{background:#eef2ff;color:#2743d6}
  .detail-btn.nav{background:linear-gradient(135deg,#4f8df7,#2563eb);color:#fff}

  /* ========== 【新增】自定义范围选择面板 ========== */
  .range-mask{
    position:fixed;inset:0;background:rgba(15,23,42,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;z-index:90;
  }
  .range-mask.show{opacity:1;pointer-events:auto}
  .range-sheet{
    position:fixed;left:50%;bottom:0;z-index:95;
    transform:translateX(-50%) translateY(105%);
    width:100%;max-width:480px;background:#fff;
    border-radius:20px 20px 0 0;transition:transform .28s;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .range-sheet.show{transform:translateX(-50%) translateY(0)}
  .range-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
  .range-head .t{font-size:20px;font-weight:800}
  .range-desc{font-size:14px;color:#6b7280;font-weight:600;margin:8px 0 14px}
  .range-opts{display:flex;flex-wrap:wrap;gap:10px}
  .range-opt{
    border:none;cursor:pointer;padding:10px 18px;border-radius:999px;
    background:#f1f3f5;color:#1a1d21;font-size:16px;font-weight:700;transition:.15s;
  }
  .range-opt:active{opacity:.75}
  .range-opt.cur{background:#2563eb;color:#fff}
  .range-custom{display:flex;gap:10px;margin-top:14px;align-items:center}
  .range-custom input{
    flex:1;border:2px solid #e2e5ea;border-radius:12px;outline:none;
    font-size:17px;font-weight:800;padding:11px 14px;color:#1a1d21;background:#f8f9fb;
  }
  .range-custom input:focus{border-color:#2563eb;background:#fff}
  .range-go{
    padding:12px 22px;border:none;border-radius:12px;flex-shrink:0;
    background:#2563eb;color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:.15s;
  }
  .range-go:active{opacity:.8}
  .range-confirm{
    width:100%;margin-top:16px;padding:14px 0;border:none;border-radius:14px;
    background:linear-gradient(135deg,#4f8df7,#2563eb);color:#fff;
    font-size:18px;font-weight:800;cursor:pointer;transition:.15s;
  }
  .range-confirm:active{opacity:.8}
  .range-result{
    margin-top:14px;padding:12px 14px;border-radius:14px;
    background:#eef2ff;border:1px solid #dbe4ff;color:#2743d6;
    font-size:16px;font-weight:800;text-align:center;line-height:1.5;
    transition:.2s;
  }
  .range-result .n{font-size:22px;font-weight:800;color:#2563eb}

  /* ============================================================

  /* ============================================================
  /* ============================================================

  /* ============================================================
  /* ============================================================

  /* ============================================================
  /* ============================================================

  /* ============================================================
     愿望站（接入 number2.html，画面与交互原样保留）
  ============================================================ */
  /* 愿望站主题变量（来自 number2.html） */
:root{
  --brand:#1b5eff;
  --brand-2:#4096ff;
  --brand-3:#7ec4ff;
  --brand-4:#0a7aff;
  --deep:#0d1b3e;
  --deep-2:#12358c;
  --ink:#12244d;
  --ink-2:#7a8bb0;
  --bg:#eef3ff;
  --card:rgba(255,255,255,.88);
  --line:rgba(27,94,255,.10);
  --grad-main:linear-gradient(135deg,#1677ff 0%,#3b8bff 55%,#00a3ff 120%);
  --grad-deep:linear-gradient(150deg,#0d1b3e 0%,#12358c 55%,#1b5eff 130%);
  --grad-soft:linear-gradient(160deg,#eef3ff,#f8fbff);
  --shadow-card:0 10px 30px rgba(18,36,77,.07),0 2px 8px rgba(18,36,77,.04);
  --shadow-glow:0 12px 30px rgba(27,94,255,.35);
}
  #page-wish{background:var(--bg);min-height:100vh;overflow-x:clip}

/* ============================================================
   设计变量：华为科技蓝
============================================================ */






/* ===== 手机外壳 ===== */



/* ===== 顶部渐变头（状态栏 + 顶栏 + 导航一体） ===== */
#page-wish .head{
  position:relative;
  background:var(--grad-deep);
  border-radius:0 0 34px 34px;
  padding-bottom:14px;
  overflow:hidden;
  z-index:20;
}
#page-wish .head::before{
  content:'';position:absolute;top:-70px;right:-40px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(126,196,255,.45),transparent 70%);
  pointer-events:none;
}
#page-wish .head::after{
  content:'';position:absolute;top:26px;left:-60px;width:180px;height:180px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.14);
  pointer-events:none;
}
#page-wish .head .ring{
  position:absolute;top:-30px;left:38%;width:130px;height:130px;border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  pointer-events:none;
}
#page-wish .head .ring2{
  position:absolute;top:-12px;left:42%;width:90px;height:90px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}

/* 状态栏 */
#page-wish .status-bar{
  position:relative;z-index:1;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 24px 4px;
  color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;
}
#page-wish .status-bar .icons{display:flex;gap:8px;align-items:center;letter-spacing:1px}
#page-wish .status-bar .battery{
  width:24px;height:12px;border:1.5px solid rgba(255,255,255,.85);border-radius:3px;position:relative;display:inline-block;
}
#page-wish .status-bar .battery::after{content:'';position:absolute;right:-4px;top:3px;width:3px;height:5px;background:rgba(255,255,255,.85);border-radius:0 2px 2px 0}
#page-wish .status-bar .battery::before{content:'';position:absolute;inset:2px;background:linear-gradient(90deg,#7ec4ff,#fff);border-radius:1px}

/* 顶栏 */
#page-wish .app-bar{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:10px;
  padding:8px 18px 16px;
  color:#fff;
}
#page-wish .app-bar .back-btn{
  width:44px;height:44px;border:none;border-radius:14px;
  background:rgba(255,255,255,.14);color:#fff;
  font-size:26px;line-height:1;cursor:pointer;flex-shrink:0;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  transition:background .2s,transform .15s;
}
#page-wish .app-bar .back-btn:active{background:rgba(255,255,255,.3);transform:scale(.94)}
#page-wish .app-bar h1{
  flex:1;text-align:center;
  font-size:20px;font-weight:800;letter-spacing:2px;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
#page-wish .app-bar .logo{
  width:44px;height:44px;border-radius:14px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:19px;font-weight:800;color:#0a7aff;
  background:linear-gradient(150deg,#ffffff,#cfe4ff);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 6px 16px rgba(0,0,0,.28);
}

/* ===== 分段导航（玻璃胶囊，页签切换） ===== */
#page-wish .seg-nav{
  position:sticky;top:0;z-index:40;
  display:flex;gap:8px;padding:4px 14px 2px;
  margin:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  position:relative;
}
#page-wish .seg-nav.is-fixed{background:rgba(255,255,255,.92);border-color:rgba(27,94,255,.14);box-shadow:0 8px 24px rgba(18,36,77,.14)}
#page-wish .seg{
  flex:1;padding:12px 6px;border:none;border-radius:999px;cursor:pointer;
  font-size:16px;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,.9);
  background:transparent;transition:all .3s cubic-bezier(.4,0,.2,1);
}
#page-wish .seg-nav.is-fixed .seg{color:#7a8bb0}
#page-wish .seg.active{
  background:#fff;color:#0a7aff;
  box-shadow:0 4px 14px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.8);
}
#page-wish .seg-nav.is-fixed .seg.active{color:#fff;background:var(--grad-main);box-shadow:0 6px 16px rgba(27,94,255,.4)}
#page-wish .seg:active{transform:scale(.96)}

#page-wish main{padding:18px 16px 40px;position:relative}

/* ===== 区块通用 ===== */
#page-wish .section{scroll-margin-top:70px}

/* ===== 英雄卡基础 ===== */
#page-wish .hero{
  border-radius:28px;padding:28px 24px 26px;
  position:relative;overflow:hidden;
}

/* ===== 投票区 · 渐变英雄卡 ===== */
#page-wish .vote-hero{
  background:linear-gradient(135deg,#1b5eff 0%,#3b8bff 52%,#00a3ff 130%);
  color:#fff;
  box-shadow:0 18px 40px rgba(27,94,255,.38);
}
#page-wish .vote-hero .orb{position:absolute;border-radius:50%;pointer-events:none;animation:floaty 7s ease-in-out infinite}
#page-wish .vote-hero .orb-1{width:170px;height:170px;top:-60px;right:-50px;background:radial-gradient(circle,rgba(255,255,255,.30),transparent 70%)}
#page-wish .vote-hero .orb-2{width:110px;height:110px;bottom:-40px;left:-30px;background:radial-gradient(circle,rgba(0,163,255,.45),transparent 70%);animation-delay:-3.5s}
#page-wish .vote-hero .orb-3{width:60px;height:60px;top:24px;right:34px;border:1.5px solid rgba(255,255,255,.35);animation-delay:-1.5s}
#page-wish .vote-hero .big-emoji{
  position:absolute;right:18px;bottom:6px;font-size:86px;opacity:.25;pointer-events:none;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.2));
  transform:rotate(-8deg);
}
#page-wish .vote-hero .badge{
  position:relative;display:inline-block;
  background:rgba(255,255,255,.2);color:#fff;
  font-size:13.5px;font-weight:700;letter-spacing:1px;
  padding:7px 18px;border-radius:999px;margin-bottom:18px;
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(6px);
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
#page-wish .vote-hero h1{
  position:relative;font-size:31px;line-height:1.3;font-weight:900;letter-spacing:.5px;
  margin-bottom:12px;text-shadow:0 3px 18px rgba(0,0,0,.18);
}
#page-wish .vote-hero .sub{
  position:relative;font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.88);
  max-width:88%;
}

/* ===== 投票进度 ===== */
#page-wish .progress-wrap{
  background:var(--card);border-radius:24px;padding:20px 22px;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(255,255,255,.65);
  margin-top:16px;
  backdrop-filter:blur(12px);
}
#page-wish .progress-wrap .label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
#page-wish .progress-wrap .label .left{font-size:15px;font-weight:600;color:var(--ink-2)}
#page-wish .progress-wrap .label .count{
  font-size:26px;font-weight:900;
  background:var(--grad-main);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
#page-wish .progress-bar{
  height:14px;background:linear-gradient(180deg,#e3ebff,#eef3ff);
  border-radius:7px;overflow:visible;position:relative;
  box-shadow:inset 0 1px 3px rgba(18,36,77,.08);
}
#page-wish .progress-bar .fill{
  height:100%;width:0;border-radius:7px;position:relative;
  background:linear-gradient(90deg,#1677ff,#3b8bff,#00a3ff);
  transition:width .6s cubic-bezier(.4,0,.2,1);
}
#page-wish .progress-bar .fill::after{
  content:'';position:absolute;right:-4px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 4px rgba(64,150,255,.25),0 0 16px rgba(64,150,255,.9);
}
#page-wish .progress-bar .fill::before{
  content:'';position:absolute;inset:0;border-radius:7px;
  background:linear-gradient(180deg,rgba(255,255,255,.4),transparent 60%);
}

/* ===== 活动卡片 ===== */
#page-wish .section-title{
  font-size:21px;font-weight:800;padding:24px 6px 14px;display:flex;align-items:center;gap:8px;
}
#page-wish .section-title::after{content:'';flex:0 0 34px;height:4px;border-radius:2px;background:var(--grad-main)}
#page-wish .cards{padding:0 2px}
#page-wish .card{
  background:var(--card);border-radius:22px;margin-bottom:14px;overflow:hidden;
  box-shadow:var(--shadow-card);
  border:1.5px solid rgba(255,255,255,.7);
  backdrop-filter:blur(12px);
  transition:transform .25s,box-shadow .25s,border-color .3s;
  animation:cardIn .5s cubic-bezier(.34,1.4,.5,1) both;
}
@media(hover:hover){#page-wish .card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(18,36,77,.1)}}
#page-wish .card.voted{border-color:var(--brand);box-shadow:0 0 0 1px rgba(27,94,255,.35),0 14px 30px rgba(27,94,255,.16)}
#page-wish .card .top{display:flex;align-items:center;gap:16px;padding:18px 18px 14px}
#page-wish .card .icon{
  width:62px;height:62px;border-radius:19px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:31px;
  box-shadow:inset 0 -10px 18px rgba(18,36,77,.07),0 6px 14px rgba(18,36,77,.07);
  border:1px solid rgba(255,255,255,.8);
}
#page-wish .card .info{flex:1;min-width:0}
#page-wish .card .info h3{font-size:19px;font-weight:800;margin-bottom:4px;line-height:1.3;letter-spacing:.3px}
#page-wish .card .info p{font-size:14px;color:var(--ink-2);line-height:1.45}
#page-wish .card .bottom{display:flex;align-items:center;justify-content:space-between;padding:2px 18px 18px}
#page-wish .card .votes{display:flex;align-items:baseline;gap:4px;padding:4px 12px;border-radius:12px;background:#f4f8ff}
#page-wish .card .votes .num{font-size:25px;font-weight:900;transition:transform .3s}
#page-wish .card .votes .num.bump{transform:scale(1.45);color:var(--brand)}
#page-wish .card .votes .unit{font-size:14px;color:var(--ink-2);font-weight:500}
#page-wish .card .vote-btn{
  height:46px;min-width:118px;border-radius:23px;border:none;cursor:pointer;
  font-size:16.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;
  transition:all .3s;position:relative;overflow:hidden;
}
#page-wish .card .vote-btn.off{
  background:linear-gradient(180deg,#f2f5ff,#e9efff);color:#5a6b8c;
  border:1px solid #dbe5ff;
}
#page-wish .card .vote-btn.off:active{transform:scale(.94)}
#page-wish .card .vote-btn.on{
  background:var(--grad-main);color:#fff;
  box-shadow:0 6px 16px rgba(27,94,255,.4);
}
#page-wish .card .vote-btn.on:active{transform:scale(.94)}
#page-wish .card .vote-btn.on::after{
  content:'';position:absolute;top:0;left:12%;right:12%;height:46%;
  border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);
  pointer-events:none;
}

/* ===== 底部弹层（活动简介 / 生活馆导航） ===== */
#page-wish .mask{position:fixed;inset:0;background:rgba(15,23,42,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:90}
#page-wish .mask.show{opacity:1;pointer-events:auto}
#page-wish .sheet{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(105%);
  width:100%;max-width:440px;max-height:84dvh;
  background:#f6f8fd;border-radius:26px 26px 0 0;
  display:flex;flex-direction:column;
  transition:transform .32s cubic-bezier(.32,.72,.24,1);
  z-index:95;box-shadow:0 -12px 40px rgba(0,0,0,.25);
}
#page-wish .sheet.show{transform:translateX(-50%) translateY(0)}
#page-wish .sheet-head{display:flex;align-items:center;gap:8px;padding:16px 16px 12px;background:#fff;border-radius:26px 26px 0 0;flex-shrink:0}
#page-wish .sheet-head .back-btn-sm{
  width:38px;height:38px;border:none;border-radius:50%;background:#f1f3f5;font-size:20px;font-weight:800;color:#4b5563;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
#page-wish .sheet-head .back-btn-sm:active{background:#e2e5ea}
#page-wish .sheet-head .back-btn-sm[hidden]{visibility:hidden}
#page-wish .sheet-head .t{flex:1;text-align:center;font-size:19px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-wish .sheet-close{
  width:38px;height:38px;border:none;border-radius:50%;background:#f1f3f5;font-size:17px;color:#4b5563;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
#page-wish .sheet-close:active{background:#e2e5ea}
#page-wish .sheet-body{flex:1;overflow-y:auto;padding:12px 16px calc(18px + env(safe-area-inset-bottom))}

/* —— 活动简介 —— */
#page-wish .act-hero{margin:4px 2px 0;border-radius:22px;padding:26px 22px;color:#fff;position:relative;overflow:hidden;background:var(--grad-main);box-shadow:0 14px 30px rgba(27,94,255,.3)}
#page-wish .act-hero .orb{position:absolute;border-radius:50%;pointer-events:none}
#page-wish .act-hero .orb-1{width:130px;height:130px;top:-50px;right:-40px;background:radial-gradient(circle,rgba(255,255,255,.3),transparent 70%)}
#page-wish .act-hero .orb-2{width:90px;height:90px;bottom:-40px;left:-30px;background:radial-gradient(circle,rgba(0,163,255,.45),transparent 70%)}
#page-wish .act-hero .big{font-size:52px;position:relative}
#page-wish .act-hero h2{font-size:24px;font-weight:900;margin-top:8px;position:relative;letter-spacing:.5px}
#page-wish .act-hero .vt{font-size:14px;font-weight:700;margin-top:10px;display:inline-block;background:rgba(255,255,255,.2);padding:5px 14px;border-radius:999px;position:relative;border:1px solid rgba(255,255,255,.35)}
#page-wish .act-body{padding:14px 2px 4px}
#page-wish .act-sec{font-size:16px;font-weight:800;color:var(--ink);margin:16px 2px 10px;display:flex;align-items:center;gap:8px}
#page-wish .act-sec::before{content:'';width:4px;height:16px;border-radius:2px;background:var(--grad-main)}
#page-wish .act-intro{font-size:16px;line-height:1.85;color:#3f4f73;background:#f5f8ff;border-radius:16px;padding:16px 18px;border:1px solid rgba(27,94,255,.1)}
#page-wish .act-points{list-style:none}
#page-wish .act-points li{display:flex;gap:10px;font-size:15.5px;color:#3f4f73;line-height:1.7;padding:9px 0;border-bottom:1px dashed #e5ecfa}
#page-wish .act-points li:last-child{border-bottom:none}
#page-wish .act-points li::before{content:'✦';color:var(--brand);flex-shrink:0;font-weight:800}
#page-wish .act-vote-row{display:flex;gap:12px;margin:20px 2px 0;padding-top:16px;border-top:1px solid #eef2ff}
#page-wish .act-vote-btn{flex:1;height:50px;border:none;border-radius:25px;font-size:17px;font-weight:800;cursor:pointer;transition:.15s;position:relative;overflow:hidden}
#page-wish .act-vote-btn.off{background:linear-gradient(180deg,#f2f5ff,#e9efff);color:#5a6b8c;border:1px solid #dbe5ff}
#page-wish .act-vote-btn.on{background:var(--grad-main);color:#fff;box-shadow:0 8px 18px rgba(27,94,255,.35)}
#page-wish .act-vote-btn.on::after{content:'';position:absolute;top:0;left:12%;right:12%;height:44%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent)}
#page-wish .act-vote-btn:active{transform:scale(.96)}
#page-wish .act-nav-btn{
  flex:1;height:50px;border:none;border-radius:25px;font-size:17px;font-weight:800;cursor:pointer;transition:.15s;
  background:linear-gradient(150deg,#0d1b3e,#12358c);color:#fff;box-shadow:0 8px 18px rgba(13,27,62,.3);
  display:flex;align-items:center;justify-content:center;gap:6px;
}
#page-wish .act-nav-btn:active{transform:scale(.96)}

/* —— 生活馆导航 —— */
#page-wish .hwn-tip{font-size:13.5px;color:#8ba0c8;text-align:center;padding:2px 0 12px;font-weight:600}
#page-wish .hwn-hot, #page-wish .hwn-prov{font-size:14px;font-weight:800;color:var(--ink-2);margin:6px 2px 10px;display:flex;align-items:center;gap:6px}
#page-wish .hwn-hot::before, #page-wish .hwn-prov::before{content:'';width:3px;height:12px;border-radius:2px;background:var(--brand)}
#page-wish .hwn-city-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px}
#page-wish .hwn-city{height:44px;border:none;border-radius:13px;background:#fff;color:var(--ink);font-size:15.5px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(18,36,77,.06);transition:.15s;border:1.5px solid transparent}
#page-wish .hwn-city:active{transform:scale(.95)}
#page-wish .hwn-city.cur{border-color:var(--brand);color:var(--brand);background:#eef2ff}
#page-wish .hwn-search{display:flex;align-items:center;gap:6px;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:14px;border:1.5px solid transparent}
#page-wish .hwn-search input{flex:1;border:none;outline:none;background:none;font-size:15px;font-family:inherit;color:var(--ink)}
#page-wish .hwn-search input::placeholder{color:#a8b6d4}
#page-wish .hwn-empty{text-align:center;color:#9aa0a6;font-size:15px;font-weight:700;padding:40px 10px;line-height:1.8}
#page-wish .hwn-store{
  background:#fff;border-radius:16px;padding:14px;margin-bottom:12px;
  box-shadow:0 2px 10px rgba(18,36,77,.06);cursor:pointer;transition:.15s;
  border:1.5px solid transparent;
}
#page-wish .hwn-store:active{transform:scale(.98)}
#page-wish .hwn-store.sel{border-color:var(--brand);box-shadow:0 4px 16px rgba(27,94,255,.14)}
#page-wish .hwn-store .s-top{display:flex;align-items:center;gap:12px}
#page-wish .hwn-store .s-ic{width:46px;height:46px;border-radius:14px;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
#page-wish .hwn-store .s-name{font-size:16.5px;font-weight:800;color:var(--ink);line-height:1.35}
#page-wish .hwn-store .s-addr{font-size:13px;color:#7a8bb0;margin-top:4px;line-height:1.5;display:flex;gap:4px;align-items:flex-start}
#page-wish .hwn-store .s-tel, #page-wish .hwn-store .s-hours{font-size:12.5px;color:#8fa0c0;margin-top:3px;line-height:1.45;display:flex;gap:4px;align-items:flex-start}
#page-wish .hwn-store .s-city{font-size:12px;font-weight:700;color:var(--brand);background:#eef2ff;padding:3px 10px;border-radius:999px;flex-shrink:0;align-self:flex-start}
#page-wish .hwn-store .s-nav{width:100%;border:none;border-radius:13px;background:linear-gradient(135deg,#4f8df7,#2563eb);color:#fff;font-size:15.5px;font-weight:800;padding:12px 0;cursor:pointer;transition:.15s;margin-top:12px}
#page-wish .hwn-store .s-nav:active{opacity:.85;transform:scale(.97)}
#page-wish .hwn-steps{display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;border-radius:14px;padding:11px 12px;margin-bottom:12px;box-shadow:0 2px 8px rgba(18,36,77,.05)}
#page-wish .hwn-step{display:flex;align-items:center;gap:5px}
#page-wish .hwn-step-n{width:22px;height:22px;border-radius:50%;background:#e8edf7;color:#93a1bd;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:.2s}
#page-wish .hwn-step-t{font-size:12.5px;font-weight:700;color:#93a1bd;transition:.2s;white-space:nowrap}
#page-wish .hwn-step.act .hwn-step-n{background:var(--brand);color:#fff;box-shadow:0 3px 8px rgba(27,94,255,.35)}
#page-wish .hwn-step.act .hwn-step-t{color:var(--ink);font-weight:800}
#page-wish .hwn-step.done .hwn-step-n{background:#16a34a;color:#fff}
#page-wish .hwn-step.done .hwn-step-t{color:#16a34a}
#page-wish .hwn-step-line{width:18px;height:2px;background:#e8edf7;border-radius:2px}
#page-wish .hwn-step-line.done{background:#16a34a}
#page-wish .hwn-banner{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#eef3ff,#e4ecff);border:1px solid #d5e2ff;border-radius:14px;padding:11px 14px;margin-bottom:14px}
#page-wish .hwn-banner b{font-size:15.5px;color:var(--brand);white-space:nowrap}
#page-wish .hwn-banner span{font-size:13px;color:#5a6b8c;line-height:1.5}
#page-wish .hwn-switch-city{text-align:center;font-size:14px;font-weight:700;color:var(--brand);padding:2px 0 12px;cursor:pointer}
#page-wish .hwn-footer{display:flex;align-items:center;gap:12px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:0 0 26px 26px;box-shadow:0 -4px 14px rgba(18,36,77,.06);flex-shrink:0}
#page-wish .hwn-footer-info{flex:1;font-size:13.5px;color:#7a8bb0;font-weight:600;line-height:1.5;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-wish .hwn-footer-go{height:48px;padding:0 26px;border:none;border-radius:24px;background:var(--grad-main);color:#fff;font-size:16px;font-weight:800;cursor:pointer;flex-shrink:0;box-shadow:0 8px 18px rgba(27,94,255,.35)}
#page-wish .hwn-footer-go:active{transform:scale(.96)}
#page-wish .hwn-footer-go.disabled{background:#dfe6f4;color:#9aa8c4;box-shadow:none}

/* ===== 衔接卡：投票 → 心愿屋 ===== */
#page-wish .next-card{
  background:var(--grad-deep);border-radius:26px;padding:28px 24px;color:#fff;text-align:center;
  box-shadow:0 18px 40px rgba(13,27,62,.4);
  margin:22px 2px 8px;position:relative;overflow:hidden;
}
#page-wish .next-card::before{
  content:'';position:absolute;top:-50px;right:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(126,196,255,.35),transparent 70%);
  pointer-events:none;
}
#page-wish .next-card::after{
  content:'';position:absolute;top:0;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  pointer-events:none;
}
#page-wish .next-card .big{font-size:25px;font-weight:900;margin-bottom:8px;letter-spacing:1px;position:relative}
#page-wish .next-card .small{font-size:14.5px;opacity:.85;margin-bottom:20px;line-height:1.6;position:relative}
#page-wish .next-card .next-btn{
  width:100%;border:none;border-radius:18px;cursor:pointer;position:relative;
  padding:17px;font-size:20px;font-weight:800;color:var(--brand);
  background:linear-gradient(160deg,#ffffff,#dbe9ff);
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  transition:transform .15s,box-shadow .15s;
}
#page-wish .next-card .next-btn:active{transform:scale(.97)}
#page-wish .next-card .next-btn.disabled{background:#dfe6f4;color:#9aa8c4;cursor:not-allowed;box-shadow:none}

/* ===== 心愿屋 · 深蓝引导卡 ===== */
#page-wish .wish-hero{
  background:linear-gradient(150deg,#0d1b3e 0%,#12358c 60%,#1b5eff 130%);
  color:#fff;box-shadow:0 20px 44px rgba(13,27,62,.45);
  margin-top:6px;
}
#page-wish .wish-hero .orb{position:absolute;border-radius:50%;pointer-events:none;animation:floaty 8s ease-in-out infinite}
#page-wish .wish-hero .orb-1{width:200px;height:200px;top:-70px;right:-60px;background:radial-gradient(circle,rgba(126,196,255,.35),transparent 70%)}
#page-wish .wish-hero .orb-2{width:120px;height:120px;bottom:-50px;left:-40px;background:radial-gradient(circle,rgba(27,94,255,.5),transparent 70%);animation-delay:-4s}
#page-wish .wish-hero .big-emoji{
  position:absolute;right:14px;bottom:2px;font-size:92px;opacity:.28;pointer-events:none;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.3));transform:rotate(6deg);
}
#page-wish .wish-hero .tag{
  position:relative;display:inline-block;font-size:13.5px;font-weight:700;
  background:rgba(255,255,255,.16);padding:6px 16px;border-radius:999px;margin-bottom:16px;
  border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);
}
#page-wish .wish-hero h2{position:relative;font-size:30px;line-height:1.32;margin-bottom:11px;font-weight:900;letter-spacing:.5px}
#page-wish .wish-hero p{position:relative;font-size:15.5px;line-height:1.7;opacity:.9;max-width:85%}
#page-wish .wish-hero .steps{position:relative;display:flex;gap:10px;margin-top:20px}
#page-wish .wish-hero .steps span{
  flex:1;text-align:center;font-size:14px;font-weight:700;
  background:rgba(255,255,255,.14);padding:11px 2px;border-radius:14px;
  border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(6px);
  transition:transform .2s;
}
#page-wish .wish-hero .steps span:active{transform:scale(.95)}

/* ===== 区块标题 ===== */
#page-wish .sec-title{
  font-size:22px;font-weight:800;margin:32px 4px 16px;
  display:flex;align-items:center;gap:10px;letter-spacing:.3px;
}
#page-wish .sec-title .num{
  width:32px;height:32px;border-radius:11px;flex-shrink:0;
  background:var(--grad-main);color:#fff;font-size:16px;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 5px 12px rgba(27,94,255,.35);
}

/* ===== 心愿表单 ===== */
#page-wish .card-form{
  background:var(--card);border-radius:24px;padding:24px 22px;
  box-shadow:var(--shadow-card);border:1px solid rgba(255,255,255,.7);
  margin-bottom:18px;backdrop-filter:blur(12px);
}
#page-wish .label{font-size:18px;font-weight:800;margin-bottom:13px;display:block}
#page-wish .label small{font-size:13.5px;font-weight:500;color:var(--ink-2);margin-left:8px}
#page-wish .chips{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#page-wish .chip{
  border:1.5px solid #dbe5ff;background:linear-gradient(180deg,#f8faff,#f2f6ff);color:var(--ink);
  font-size:16.5px;font-weight:700;padding:15px 8px;border-radius:17px;
  cursor:pointer;transition:all .18s;position:relative;overflow:hidden;
}
#page-wish .chip:active{transform:scale(.96)}
#page-wish .chip.active{
  border-color:var(--brand);color:#fff;
  background:var(--grad-main);
  box-shadow:0 8px 18px rgba(27,94,255,.38);
}
#page-wish .chip.active::after{
  content:'';position:absolute;top:0;left:12%;right:12%;height:42%;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.38),transparent);pointer-events:none;
}
#page-wish .chip.full{grid-column:1/-1}
#page-wish .field{margin-bottom:19px}
#page-wish textarea, #page-wish input[type="text"]{
  width:100%;border:1.5px solid #dbe5ff;border-radius:17px;
  font-size:16.5px;font-family:inherit;color:var(--ink);
  padding:15px 17px;background:linear-gradient(180deg,#fafcff,#f4f8ff);
  outline:none;transition:border-color .2s,box-shadow .2s,background .2s;
}
#page-wish textarea{min-height:140px;resize:vertical;line-height:1.65}
#page-wish input:focus, #page-wish textarea:focus{
  border-color:var(--brand);background:#fff;
  box-shadow:0 0 0 4px rgba(27,94,255,.12),0 6px 18px rgba(27,94,255,.10);
}
#page-wish input::placeholder, #page-wish textarea::placeholder{color:#a8b6d4}
#page-wish .counter{text-align:right;font-size:13px;color:#a8b6d4;margin-top:7px;font-weight:500}
#page-wish .submit-wrap{position:relative;margin-top:8px}
#page-wish .submit-btn{
  width:100%;border:none;border-radius:21px;cursor:pointer;position:relative;overflow:hidden;
  padding:20px;font-size:22px;font-weight:900;letter-spacing:5px;color:#fff;
  background:var(--grad-main);
  box-shadow:0 12px 26px rgba(27,94,255,.42);
  transition:transform .15s,box-shadow .15s;
}
#page-wish .submit-btn::after{
  content:'';position:absolute;top:0;left:14%;right:14%;height:48%;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.42),transparent);pointer-events:none;
}
#page-wish .submit-btn:active{transform:scale(.97);box-shadow:0 6px 14px rgba(27,94,255,.35)}
#page-wish .privacy{text-align:center;font-size:13.5px;color:var(--ink-2);margin-top:14px;letter-spacing:.5px}

/* ===== 心愿墙 ===== */
#page-wish .wish-card{
  background:var(--card);border-radius:22px;padding:20px 20px 18px;
  box-shadow:var(--shadow-card);border:1px solid rgba(255,255,255,.7);
  margin-bottom:14px;position:relative;overflow:hidden;
  animation:rise .45s cubic-bezier(.2,1.2,.4,1) both;
}
#page-wish .wish-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:7px;
  background:linear-gradient(180deg,#1b5eff,#00a3ff);
}
#page-wish .wish-card .w-type{
  display:inline-block;font-size:13.5px;font-weight:800;color:#fff;
  background:var(--grad-main);padding:5px 14px;border-radius:999px;margin-bottom:11px;
  box-shadow:0 4px 10px rgba(27,94,255,.3);letter-spacing:.5px;
}
#page-wish .wish-card .w-content{font-size:19px;font-weight:700;line-height:1.6;margin-bottom:12px;letter-spacing:.3px}
#page-wish .wish-card .w-meta{font-size:14px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px 14px;line-height:1.8}
#page-wish .wish-card .w-meta b{color:#5a6b8c;font-weight:600}
#page-wish .wish-card.new::before{background:linear-gradient(180deg,#ff9f1a,#ffc46b)}
#page-wish .wish-card.new .w-type{background:linear-gradient(135deg,#ff9f1a,#ffbe5c);box-shadow:0 4px 10px rgba(255,159,26,.35)}
#page-wish .empty-wall{text-align:center;font-size:16.5px;color:var(--ink-2);padding:40px 0;line-height:1.9}

/* ===== 发布成功浮层 ===== */
#page-wish .overlay{
  position:fixed;top:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:440px;height:100dvh;
  background:rgba(13,27,62,.55);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:24px;z-index:60;
}
#page-wish .overlay.hidden{display:none}
#page-wish .success-box{
  background:linear-gradient(180deg,#ffffff,#f4f8ff);
  border-radius:30px;padding:36px 24px 26px;
  width:100%;text-align:center;
  box-shadow:0 30px 70px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.8);
  animation:pop .4s cubic-bezier(.2,1.4,.4,1) both;position:relative;overflow:hidden;
}
#page-wish .success-box::before{
  content:'';position:absolute;top:-60px;right:-50px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(126,196,255,.35),transparent 70%);pointer-events:none;
}
#page-wish .success-box .check{
  position:relative;width:94px;height:94px;border-radius:50%;margin:0 auto 20px;
  background:var(--grad-main);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:52px;font-weight:900;
  box-shadow:0 0 0 8px rgba(27,94,255,.12),0 14px 30px rgba(27,94,255,.42);
  animation:pop .5s .1s cubic-bezier(.2,1.4,.4,1) both,pulseGlow 2.4s ease-in-out .7s infinite;
}
#page-wish .success-box h3{position:relative;font-size:28px;font-weight:900;margin-bottom:10px;letter-spacing:.5px}
#page-wish .success-box .tip{position:relative;font-size:15px;color:var(--ink-2);margin-bottom:20px;line-height:1.65}
#page-wish .success-box .w-preview{
  position:relative;background:linear-gradient(180deg,#eef3ff,#f6f9ff);
  border-radius:17px;padding:15px 17px;
  font-size:16.5px;font-weight:600;text-align:left;line-height:1.6;
  margin-bottom:24px;max-height:110px;overflow:auto;
  border:1px solid rgba(27,94,255,.12);
}
#page-wish .success-box .actions{position:relative;display:flex;flex-direction:column;gap:12px}
#page-wish .btn-primary{
  border:none;border-radius:19px;cursor:pointer;position:relative;overflow:hidden;
  padding:17px;font-size:19px;font-weight:800;color:#fff;
  background:var(--grad-main);
  box-shadow:0 10px 22px rgba(27,94,255,.4);
  transition:transform .15s;
}
#page-wish .btn-primary::after{
  content:'';position:absolute;top:0;left:14%;right:14%;height:48%;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);pointer-events:none;
}
#page-wish .btn-primary:active{transform:scale(.97)}
#page-wish .btn-ghost{
  border:1.5px solid #dbe5ff;border-radius:19px;cursor:pointer;
  padding:15px;font-size:17px;font-weight:700;color:var(--brand);background:#fff;
  transition:background .2s,transform .15s;
}
#page-wish .btn-ghost:active{background:#eef3ff;transform:scale(.97)}

/* —— 门店输入框 + 选店按钮 —— */
#page-wish .store-pick-row{display:flex;gap:10px;align-items:center}
#page-wish .store-pick-row input{flex:1;min-width:0}
#page-wish .store-pick-btn{
  height:54px;padding:0 18px;border:none;border-radius:17px;flex-shrink:0;cursor:pointer;
  font-size:15px;font-weight:800;color:#fff;background:var(--grad-main);
  box-shadow:0 6px 14px rgba(27,94,255,.32);transition:transform .15s;
  display:flex;align-items:center;justify-content:center;gap:5px;
}
#page-wish .store-pick-btn:active{transform:scale(.95)}

/* ===== Toast ===== */
#page-wish .toast{
  position:fixed;bottom:36px;left:50%;transform:translateX(-50%);
  max-width:400px;width:max-content;color:#fff;
  font-size:16px;font-weight:600;padding:15px 24px;border-radius:16px;
  z-index:80;opacity:0;pointer-events:none;transition:opacity .3s,bottom .3s;
  background:linear-gradient(150deg,#0d1b3e,#12358c);
  border:1px solid rgba(126,196,255,.35);
  box-shadow:0 12px 32px rgba(0,0,0,.35);text-align:center;
}
#page-wish .toast.show{opacity:1;bottom:48px}

/* ===== 动效 ===== */
@keyframes cardIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pop{from{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(126,196,255,.45)}50%{box-shadow:0 0 0 14px rgba(126,196,255,0)}}

  /* ============================================================
     愿望站 心愿屋：编辑/删除/收货地址/活动规则 弹层（与「我的」页心愿池风格一致，独立作用域）
  ============================================================ */
  #page-wish .ws-overlay{
    position:fixed; inset:0;
    background:rgba(0,0,0,.45);
    z-index:100;
    display:none;
    align-items:flex-end; justify-content:center;
  }
  #page-wish .ws-overlay.show{ display:flex; }
  #page-wish .ws-overlay.center{ align-items:center; }

  #page-wish .ws-sheet{
    width:100%; max-width:430px;
    background:#fff;
    border-radius:18px 18px 0 0;
    padding:8px 20px calc(20px + env(safe-area-inset-bottom));
    animation:wsSheetUp .28s cubic-bezier(.32,.72,.24,1);
  }
  @keyframes wsSheetUp{ from{ transform:translateY(100%); } to{ transform:none; } }
  #page-wish .ws-sheet .ws-grab{
    width:36px; height:4px; border-radius:2px;
    background:#e5e6eb; margin:0 auto 18px;
  }
  #page-wish .ws-sheet-title{
    font-size:17px; font-weight:700;
    text-align:center; margin-bottom:18px;
    color:#1a1a2e;
  }

  #page-wish .ws-field{ margin-bottom:16px; }
  #page-wish .ws-field label{
    display:block; font-size:14px; color:#666;
    margin-bottom:8px; font-weight:600;
  }
  #page-wish .ws-field input{
    width:100%; height:46px;
    border:1px solid #e5e6eb; border-radius:10px;
    padding:0 14px; font-size:16px; color:#1a1a2e;
    outline:none; background:#fafbfc;
    font-family:inherit;
    transition:border-color .2s, background .2s;
  }
  #page-wish .ws-field input:focus{ border-color:#1677ff; background:#fff; }
  #page-wish .ws-field textarea{
    width:100%; min-height:84px;
    border:1px solid #e5e6eb; border-radius:10px;
    padding:12px 14px; font-size:16px; line-height:1.6;
    color:#1a1a2e; outline:none; background:#fafbfc;
    font-family:inherit; resize:none;
    transition:border-color .2s, background .2s;
  }
  #page-wish .ws-field textarea:focus{ border-color:#1677ff; background:#fff; }
  #page-wish .ws-field .ws-err{
    font-size:12px; color:#fa5151;
    margin-top:6px; display:none;
  }
  #page-wish .ws-field.has-err .ws-err{ display:block; }
  #page-wish .ws-field.has-err input,
  #page-wish .ws-field.has-err textarea{ border-color:#fa5151; }

  #page-wish .ws-sheet-actions{ display:flex; gap:12px; margin-top:8px; }
  #page-wish .ws-sheet-actions .ws-btn{
    flex:1; height:46px; border-radius:23px;
    font-size:16px; font-weight:600;
    border:none; cursor:pointer; font-family:inherit;
  }
  #page-wish .ws-btn-cancel{ background:#f0f2f5; color:#666; }
  #page-wish .ws-btn-primary{
    background:var(--grad-main); color:#fff;
    box-shadow:0 4px 12px rgba(22,119,255,.35);
  }
  #page-wish .ws-btn-danger{ background:#fa5151; color:#fff; }

  /* 居中弹层（删除确认、规则） */
  #page-wish .ws-dialog{
    width:calc(100% - 80px); max-width:300px;
    background:#fff; border-radius:16px;
    padding:24px 20px 18px; text-align:center;
    animation:wsPopIn .25s cubic-bezier(.34,1.3,.5,1);
  }
  @keyframes wsPopIn{ from{ opacity:0; transform:scale(.9); } to{ opacity:1; transform:none; } }
  #page-wish .ws-dialog .ws-d-icon{ font-size:40px; margin-bottom:10px; }
  #page-wish .ws-dialog .ws-d-title{ font-size:17px; font-weight:700; color:#1a1a2e; }
  #page-wish .ws-dialog .ws-d-text{ font-size:14px; color:#666; margin-top:8px; line-height:1.7; }
  #page-wish .ws-dialog .ws-d-actions{ display:flex; gap:12px; margin-top:20px; }
  #page-wish .ws-dialog .ws-d-actions .ws-btn{
    flex:1; height:42px; border-radius:21px;
    font-size:15px; font-weight:600;
    border:none; cursor:pointer; font-family:inherit;
  }

  #page-wish .ws-rules-list{
    text-align:left; max-height:46vh; overflow-y:auto;
  }
  #page-wish .ws-rules-list li{
    display:flex; gap:8px;
    font-size:14px; color:#666;
    line-height:1.7; margin-bottom:12px;
    list-style:none;
  }
  #page-wish .ws-rules-list li::before{
    content:""; flex-shrink:0;
    width:5px; height:5px; border-radius:50%;
    background:#1677ff; margin-top:8px;
  }
  #page-wish .ws-rules-list b{ color:#1a1a2e; }

  /* 编辑弹层内的辅助操作（删除 / 填地址） */
  #page-wish .ws-extra-actions{
    display:flex; gap:18px; justify-content:center;
    margin:0 0 14px;
  }
  #page-wish .ws-extra-actions .ws-link{
    background:none; border:none; cursor:pointer;
    font-size:13px; font-family:inherit;
    padding:4px 6px; font-weight:600;
  }
  #page-wish .ws-extra-actions .ws-link.alt{ color:#1677ff; }
  #page-wish .ws-extra-actions .ws-link.danger{ color:#fa5151; }

  /* 心愿墙卡片可点击 */
  #page-wish .wish-card{ cursor:pointer; transition:transform .15s; }
  #page-wish .wish-card:active{ transform:scale(.98); }

  /* 活动规则触发按钮（心愿墙下方胶囊） */
  #page-wish .ws-rules-trigger{
    display:flex; align-items:center; justify-content:center; gap:6px;
    margin:14px auto 0; width:max-content;
    background:rgba(255,255,255,.82);
    border:1px solid #dbe5ff;
    color:#1677ff;
    font-size:14px; font-weight:700;
    font-family:inherit;
    padding:10px 20px; border-radius:999px;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(22,119,255,.12);
    transition:transform .15s;
  }
  #page-wish .ws-rules-trigger:active{ transform:scale(.97); }

  /* ============================================================
     我的页（接入 geren.html，画面与交互原样保留）
  ============================================================ */
  /* ===== 我的页主题色变量（来自 geren.html，改名避免覆盖愿望站变量） ===== */
  :root{
    --mine-primary:#1677ff;
    --mine-primary-light:#1e90ff;
    --mine-primary-dark:#0b5fe0;
    --mine-primary-shadow:rgba(22,119,255,0.35);
    --mine-bg:#eaf1fb;
    --mine-bg-soft:#e8f1ff;
  }
  #page-mine{flex-direction:column;min-height:100vh;background:var(--mine-bg);overflow-x:clip}

  

  /* 主题色变量（默认科技蓝，可在「显示设置」里自定义） */
  

  

  /* 手机外壳 */
  

  /* 顶部状态栏 */
  #page-mine .status-bar{
    height: 44px;
    background: var(--mine-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    flex-shrink: 0;
  }

  /* 标题区 */
  #page-mine .header{
    background: linear-gradient(135deg, var(--mine-primary-light) 0%, var(--mine-primary-dark) 100%);
    padding: 12px 20px 40px;
    color: #fff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #page-mine .header h1{
    font-size: 28px;
    font-weight: 700;
  }
  /* 右上角设置键 */
  #page-mine .gear-btn{
    background: rgba(255,255,255,0.22);
    border: none;
    color: #fff;
    font-size: 24px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    flex-shrink: 0;
  }
  #page-mine .gear-btn:active{ background: rgba(255,255,255,0.42); }

  /* 个人信息卡（不用登录） */
  #page-mine .profile-card{
    background: #fff;
    border-radius: 16px;
    margin: -24px 16px 0;
    padding: 24px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    position: relative;
    z-index: 1;
  }
  #page-mine .avatar{
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--mine-bg-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    flex-shrink: 0;
  }
  #page-mine .profile-info .name{
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
  }
  #page-mine .profile-info .desc{
    font-size: 15px;
    color: #999;
  }

  /* 内容区 */
  #page-mine .content{
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    -webkit-overflow-scrolling: touch;
  }

  /* 收藏统计大卡 */
  #page-mine .stat-card{
    background: linear-gradient(135deg, var(--mine-primary-light) 0%, var(--mine-primary-dark) 100%);
    border-radius: 16px;
    padding: 22px 20px;
    color: #fff;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #page-mine .stat-num{
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
  }
  #page-mine .stat-label{
    font-size: 17px;
    font-weight: 600;
    margin-top: 6px;
    opacity: 0.95;
  }
  #page-mine .stat-emoji{
    font-size: 44px;
  }

  /* 分组标题 */
  #page-mine .section-title{
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 20px 4px 10px;
  }

  /* 菜单列表 */
  #page-mine .menu-list{
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  #page-mine .menu-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    font-size: 18px;
    color: #1a1a2e;
    font-weight: 600;
    border-bottom: 1px solid #f2f2f7;
    cursor: pointer;
  }
  #page-mine .menu-item:last-child{ border-bottom: none; }
  #page-mine .menu-item:active{ background: var(--mine-bg-soft); }
  #page-mine .menu-left{
    display: flex;
    align-items: center;
    gap: 12px;
  }
  #page-mine .menu-icon{ font-size: 24px; }
  #page-mine .menu-arrow{ color: var(--mine-primary); font-size: 20px; font-weight: 700; }
  #page-mine .menu-badge{
    background: var(--mine-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    margin-right: 8px;
  }

  /* 我的收藏里的活动列表 */
  #page-mine .saved-item{
    background: #fff;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }
  #page-mine .saved-item .s-title{
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
  }
  #page-mine .saved-item .s-tag{
    font-size: 14px;
    color: var(--mine-primary);
    font-weight: 600;
  }

  /* 空状态 */
  #page-mine .empty-box{
    background: #fff;
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  #page-mine .empty-box .emoji{
    font-size: 48px;
    display: block;
    margin-bottom: 10px;
  }
  #page-mine .empty-box p{
    font-size: 17px;
    color: #999;
    margin-bottom: 16px;
  }

  /* 主按钮 */
  #page-mine .main-btn{
    width: 100%;
    background: linear-gradient(135deg, var(--mine-primary-light) 0%, var(--mine-primary-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 28px;
    padding: 17px;
    font-size: 19px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 16px var(--mine-primary-shadow);
    transition: transform 0.15s;
  }
  #page-mine .main-btn:active{ transform: scale(0.97); }

  /* 底部连接说明 */
  #page-mine .connect-note{
    font-size: 14px;
    color: #bbb;
    text-align: center;
    padding: 24px 0 40px;
  }

  /* ====== 二级页面（提醒设置 / 关于我们）====== */
  #page-mine .page{
    display: none;
    flex-direction: column;
    flex: 1;
  }
  #page-mine .page.show{ display: flex; }

  #page-mine .page-header{
    background: linear-gradient(135deg, var(--mine-primary-light) 0%, var(--mine-primary-dark) 100%);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    flex-shrink: 0;
  }
  #page-mine .back-btn{
    background: none;
    border: none;
    color: #fff;
    font-size: 26px;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
  }
  #page-mine .back-btn:active{ opacity: 0.7; }
  #page-mine .page-title{
    font-size: 22px;
    font-weight: 700;
  }

  #page-mine .page-body{
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    -webkit-overflow-scrolling: touch;
  }

  /* 设置卡片 */
  #page-mine .setting-card{
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  #page-mine .setting-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #f2f2f7;
  }
  #page-mine .setting-row:last-child{ border-bottom: none; }
  #page-mine .setting-label{
    font-size: 18px;
    font-weight: 600;
    color: #1a1a2e;
  }
  #page-mine .setting-sub{
    font-size: 14px;
    color: #999;
    margin-top: 3px;
  }

  /* 开关 */
  #page-mine .switch{
    width: 56px;
    height: 32px;
    border-radius: 16px;
    background: #ddd;
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
  }
  #page-mine .switch.on{ background: var(--mine-primary); }
  #page-mine .switch .knob{
    position: absolute;
    top: 3px;
    left: 3px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    transition: left 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  }
  #page-mine .switch.on .knob{ left: 27px; }

  /* 单选行 */
  #page-mine .radio-row{
    padding: 16px 20px;
    border-bottom: 1px solid #f2f2f7;
    cursor: pointer;
  }
  #page-mine .radio-row:last-child{ border-bottom: none; }
  #page-mine .radio-row:active{ background: var(--mine-bg-soft); }
  #page-mine .radio-label{
    font-size: 18px;
    font-weight: 600;
    color: #1a1a2e;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #page-mine .radio-dot{
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 3px solid #ccc;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #page-mine .radio-dot.checked{
    border-color: var(--mine-primary);
    background: var(--mine-primary);
  }
  #page-mine .radio-dot.checked::after{
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
  }

  /* 关于页 */
  #page-mine .about-logo{
    width: 96px;
    height: 96px;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--mine-primary-light) 0%, var(--mine-primary-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 52px;
    margin: 20px auto 14px;
    box-shadow: 0 6px 20px var(--mine-primary-shadow);
  }
  #page-mine .about-name{
    text-align: center;
    font-size: 24px;
    font-weight: 800;
    color: #1a1a2e;
  }
  #page-mine .about-version{
    text-align: center;
    font-size: 15px;
    color: #999;
    margin: 4px 0 20px;
  }
  #page-mine .about-desc{
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  #page-mine .about-desc p{
    font-size: 16px;
    color: #666;
    line-height: 1.8;
  }
  #page-mine .about-privacy{
    background: var(--mine-bg-soft);
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 15px;
    color: var(--mine-primary);
    line-height: 1.7;
    margin-bottom: 16px;
  }

  /* ====== 意见反馈 ====== */
  #page-mine .fb-type-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
  }
  #page-mine .fb-type{
    background: #fff;
    border: 3px solid transparent;
    border-radius: 14px;
    padding: 14px 10px;
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: all 0.15s;
  }
  #page-mine .fb-type:active{ transform: scale(0.96); }
  #page-mine .fb-type.checked{
    border-color: var(--mine-primary);
    color: var(--mine-primary);
    background: var(--mine-bg-soft);
  }
  #page-mine .fb-type .fb-emoji{
    display: block;
    font-size: 26px;
    margin-bottom: 4px;
  }

  #page-mine .fb-input-card{
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  #page-mine .fb-label{
    font-size: 16px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 10px;
  }
  #page-mine .fb-label .req{
    color: #ff3b30;
  }
  #page-mine textarea.fb-input, #page-mine input.fb-input{
    width: 100%;
    border: 2px solid #e0e6f0;
    border-radius: 12px;
    font-size: 17px;
    font-family: inherit;
    padding: 12px 14px;
    color: #1a1a2e;
    outline: none;
    resize: none;
    box-sizing: border-box;
  }
  #page-mine textarea.fb-input:focus, #page-mine input.fb-input:focus{
    border-color: var(--mine-primary);
  }
  #page-mine textarea.fb-input{
    height: 140px;
    line-height: 1.6;
  }
  #page-mine .fb-hint{
    font-size: 13px;
    color: #bbb;
    margin-top: 6px;
  }
  #page-mine .fb-thanks{
    background: var(--mine-bg-soft);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    margin-bottom: 16px;
  }
  #page-mine .fb-thanks .emoji{
    font-size: 52px;
    display: block;
    margin-bottom: 10px;
  }
  #page-mine .fb-thanks p{
    font-size: 18px;
    font-weight: 700;
    color: var(--mine-primary);
    margin-bottom: 6px;
  }
  #page-mine .fb-thanks span{
    font-size: 15px;
    color: #666;
  }

  /* ====== 打分评星 ====== */
  #page-mine .fb-input-card .star-row{
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 4px 0 2px;
  }
  #page-mine .star{
    font-size: 46px;
    line-height: 1;
    color: #d5dbe6;
    cursor: pointer;
    transition: transform 0.15s, color 0.15s;
    user-select: none;
  }
  #page-mine .star:active{ transform: scale(0.85); }
  #page-mine .star.on{ color: #ffb800; }
  #page-mine .star-text{
    text-align: center;
    font-size: 16px;
    color: #999;
    margin-top: 6px;
  }
  #page-mine .star-text.on{ color: var(--mine-primary); font-weight: 600; }

  /* ====== 显示设置：字体大小档位 ====== */
  /* 档位1：小 */
  body.fs-small #page-mine .menu-item, body.fs-small #page-mine .setting-label, body.fs-small #page-mine .radio-label, body.fs-small #page-mine .saved-item .s-title, body.fs-small #page-mine .section-title, body.fs-small #page-mine .fb-thanks p{ font-size: 16px; }
  body.fs-small #page-mine .about-desc p, body.fs-small #page-mine .fb-label, body.fs-small #page-mine .fb-input, body.fs-small #page-mine .empty-box p, body.fs-small #page-mine .fb-type, body.fs-small #page-mine .star-text{ font-size: 15px; }
  body.fs-small #page-mine .setting-sub, body.fs-small #page-mine .s-tag, body.fs-small #page-mine .connect-note, body.fs-small #page-mine .about-version, body.fs-small #page-mine .about-privacy, body.fs-small #page-mine .profile-info .desc, body.fs-small #page-mine .fb-hint, body.fs-small #page-mine .fb-thanks span, body.fs-small #page-mine .status-bar{ font-size: 13px; }
  body.fs-small #page-mine .header h1{ font-size: 26px; }
  body.fs-small #page-mine .page-title, body.fs-small #page-mine .profile-info .name{ font-size: 20px; }
  body.fs-small #page-mine .about-name{ font-size: 22px; }
  body.fs-small #page-mine .main-btn{ font-size: 17px; }
  body.fs-small #page-mine .stat-num{ font-size: 40px; }
  body.fs-small #page-mine .menu-icon{ font-size: 22px; }
  body.fs-small #page-mine .stat-emoji, body.fs-small #page-mine .empty-box .emoji{ font-size: 42px; }
  body.fs-small #page-mine .about-logo, body.fs-small #page-mine .fb-thanks .emoji{ font-size: 48px; }
  body.fs-small #page-mine .fb-type .fb-emoji{ font-size: 24px; }
  body.fs-small #page-mine .star{ font-size: 42px; }
  body.fs-small #page-mine .avatar{ font-size: 36px; }
  body.fs-small #page-mine .back-btn{ font-size: 24px; }

  /* 档位2：大 */
  body.fs-large #page-mine .menu-item, body.fs-large #page-mine .setting-label, body.fs-large #page-mine .radio-label, body.fs-large #page-mine .saved-item .s-title, body.fs-large #page-mine .section-title, body.fs-large #page-mine .fb-thanks p{ font-size: 21px; }
  body.fs-large #page-mine .about-desc p, body.fs-large #page-mine .fb-label, body.fs-large #page-mine .fb-input, body.fs-large #page-mine .empty-box p, body.fs-large #page-mine .fb-type, body.fs-large #page-mine .star-text{ font-size: 19px; }
  body.fs-large #page-mine .setting-sub, body.fs-large #page-mine .s-tag, body.fs-large #page-mine .connect-note, body.fs-large #page-mine .about-version, body.fs-large #page-mine .about-privacy, body.fs-large #page-mine .profile-info .desc, body.fs-large #page-mine .fb-hint, body.fs-large #page-mine .fb-thanks span, body.fs-large #page-mine .status-bar{ font-size: 17px; }
  body.fs-large #page-mine .header h1{ font-size: 32px; }
  body.fs-large #page-mine .page-title, body.fs-large #page-mine .profile-info .name{ font-size: 25px; }
  body.fs-large #page-mine .about-name{ font-size: 27px; }
  body.fs-large #page-mine .main-btn{ font-size: 22px; }
  body.fs-large #page-mine .stat-num{ font-size: 52px; }
  body.fs-large #page-mine .menu-icon{ font-size: 28px; }
  body.fs-large #page-mine .stat-emoji, body.fs-large #page-mine .empty-box .emoji{ font-size: 54px; }
  body.fs-large #page-mine .about-logo, body.fs-large #page-mine .fb-thanks .emoji{ font-size: 58px; }
  body.fs-large #page-mine .fb-type .fb-emoji{ font-size: 30px; }
  body.fs-large #page-mine .star{ font-size: 52px; }
  body.fs-large #page-mine .avatar{ font-size: 46px; }
  body.fs-large #page-mine .back-btn{ font-size: 30px; }

  /* 档位3：特大 */
  body.fs-xlarge #page-mine .menu-item, body.fs-xlarge #page-mine .setting-label, body.fs-xlarge #page-mine .radio-label, body.fs-xlarge #page-mine .saved-item .s-title, body.fs-xlarge #page-mine .section-title, body.fs-xlarge #page-mine .fb-thanks p{ font-size: 24px; }
  body.fs-xlarge #page-mine .about-desc p, body.fs-xlarge #page-mine .fb-label, body.fs-xlarge #page-mine .fb-input, body.fs-xlarge #page-mine .empty-box p, body.fs-xlarge #page-mine .fb-type, body.fs-xlarge #page-mine .star-text{ font-size: 22px; }
  body.fs-xlarge #page-mine .setting-sub, body.fs-xlarge #page-mine .s-tag, body.fs-xlarge #page-mine .connect-note, body.fs-xlarge #page-mine .about-version, body.fs-xlarge #page-mine .about-privacy, body.fs-xlarge #page-mine .profile-info .desc, body.fs-xlarge #page-mine .fb-hint, body.fs-xlarge #page-mine .fb-thanks span, body.fs-xlarge #page-mine .status-bar{ font-size: 19px; }
  body.fs-xlarge #page-mine .header h1{ font-size: 36px; }
  body.fs-xlarge #page-mine .page-title, body.fs-xlarge #page-mine .profile-info .name{ font-size: 28px; }
  body.fs-xlarge #page-mine .about-name{ font-size: 30px; }
  body.fs-xlarge #page-mine .main-btn{ font-size: 25px; }
  body.fs-xlarge #page-mine .stat-num{ font-size: 60px; }
  body.fs-xlarge #page-mine .menu-icon{ font-size: 32px; }
  body.fs-xlarge #page-mine .stat-emoji, body.fs-xlarge #page-mine .empty-box .emoji{ font-size: 62px; }
  body.fs-xlarge #page-mine .about-logo, body.fs-xlarge #page-mine .fb-thanks .emoji{ font-size: 66px; }
  body.fs-xlarge #page-mine .fb-type .fb-emoji{ font-size: 34px; }
  body.fs-xlarge #page-mine .star{ font-size: 60px; }
  body.fs-xlarge #page-mine .avatar{ font-size: 52px; }
  body.fs-xlarge #page-mine .back-btn{ font-size: 34px; }

  /* 高对比模式：背景加深、次要文字加深 */
  body.hc{ background: #b9d2f0; }
  body.hc .app{ background: #b9d2f0; }
  body.hc #page-mine .profile-info .desc, body.hc #page-mine .setting-sub, body.hc #page-mine .connect-note, body.hc #page-mine .about-version, body.hc #page-mine .s-tag, body.hc #page-mine .fb-hint, body.hc #page-mine .fb-thanks span, body.hc #page-mine .star-text{ color: #4a4a5a; }
  body.hc #page-mine .fb-type{ color: #444; }
  body.hc #page-mine .radio-dot{ border-color: #7a8aa0; }
  body.hc #page-mine .switch{ background: #a8b4c6; }
  body.hc #page-mine textarea.fb-input, body.hc #page-mine input.fb-input{ border-color: #7a8aa0; }
  body.hc #page-mine .menu-item:active, body.hc #page-mine .fb-type:active, body.hc #page-mine .radio-row:active{ background: #d6e6ff; }
  body.hc #page-mine .star{ color: #9aa5b5; }

  /* 加大行距 */
  body.spacing{ line-height: 1.7; }
  body.spacing #page-mine .about-desc p{ line-height: 2.2; }
  body.spacing #page-mine textarea.fb-input{ line-height: 1.9; }
  body.spacing #page-mine .setting-row, body.spacing #page-mine .menu-item{ padding-top: 20px; padding-bottom: 20px; }
  body.spacing #page-mine .radio-row{ padding-top: 18px; padding-bottom: 18px; }

  /* ====== 显示设置页面 ====== */
  #page-mine .fs-options{
    display: flex;
    gap: 10px;
  }
  #page-mine .fs-opt{
    flex: 1;
    background: #fff;
    border: 3px solid #e0e6f0;
    border-radius: 14px;
    padding: 14px 6px 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
  }
  #page-mine .fs-opt:active{ transform: scale(0.95); }
  #page-mine .fs-opt .fs-demo{
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.3;
  }
  #page-mine .fs-opt .fs-name{
    font-size: 13px;
    color: #999;
    margin-top: 4px;
  }
  #page-mine .fs-opt.checked{
    border-color: var(--mine-primary);
    background: var(--mine-bg-soft);
  }
  #page-mine .fs-opt.checked .fs-name{ color: var(--mine-primary); font-weight: 700; }
  #page-mine .fs-opt.sm .fs-demo{ font-size: 14px; }
  #page-mine .fs-opt.md .fs-demo{ font-size: 17px; }
  #page-mine .fs-opt.lg .fs-demo{ font-size: 20px; }
  #page-mine .fs-opt.xl .fs-demo{ font-size: 24px; }
  #page-mine .reset-link{
    display: block;
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    color: var(--mine-primary);
    background: none;
    border: none;
    margin: 10px auto 0;
    padding: 14px;
    cursor: pointer;
    width: 100%;
  }
  #page-mine .reset-link:active{ opacity: 0.6; }

  /* 主题颜色选择 */
  #page-mine .color-row{
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    padding: 4px 0 14px;
  }
  #page-mine .color-dot{
    width: 46px;
    height: 46px;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    border: 3px solid transparent;
    transition: transform 0.15s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
    flex-shrink: 0;
  }
  #page-mine .color-dot:active{ transform: scale(0.88); }
  #page-mine .color-dot .tick{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
  }
  #page-mine .color-dot.checked{ outline: 3px solid rgba(0,0,0,0.35); }
  #page-mine .color-picker-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid #f2f2f7;
    padding-top: 14px;
  }
  #page-mine input.color-picker{
    width: 60px;
    height: 42px;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
  }
  #page-mine .color-name-tip{
    font-size: 13px;
    color: #999;
    margin-top: 2px;
  }

  /* 页面布局：手机模式 / 全屏模式 */
  #page-mine .layout-options{
    display: flex;
    gap: 10px;
  }
  #page-mine .layout-opt{
    flex: 1;
    background: #fff;
    border: 3px solid #e0e6f0;
    border-radius: 14px;
    padding: 12px 8px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
  }
  #page-mine .layout-opt:active{ transform: scale(0.95); }
  #page-mine .layout-opt.checked{
    border-color: var(--mine-primary);
    background: var(--mine-bg-soft);
  }
  #page-mine .layout-opt .layout-name{
    font-size: 14px;
    color: #999;
    margin-top: 8px;
    font-weight: 600;
  }
  #page-mine .layout-opt.checked .layout-name{ color: var(--mine-primary); font-weight: 700; }
  #page-mine .layout-preview{
    height: 56px;
    background: var(--mine-bg);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px;
  }
  #page-mine .pv-mobile{
    width: 36%;
    height: 100%;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 0 6px rgba(0,0,0,0.15);
  }
  #page-mine .pv-wide{
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 5px;
  }
  /* 全屏模式：手机外壳铺满整个页面宽度 */
  body.layout-wide .app{ max-width: 100%; box-shadow: none; }

  /* ===================================================== */
  /* ====== 活动心愿池（队友作品融合，样式接入主题色）====== */
  /* ===================================================== */

  /* 心愿池用户信息卡 */
  #page-mine .wp-user-card{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px 14px;
    background: #fff;
    margin: 12px 16px 0;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(17,24,39,0.05);
  }
  #page-mine .wp-avatar{
    width: 54px; height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mine-primary), var(--mine-primary-light));
    color: #fff;
    font-size: 24px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px var(--mine-primary-shadow);
    flex-shrink: 0;
  }
  #page-mine .wp-user-meta{ flex: 1; min-width: 0; }
  #page-mine .wp-nickname{ font-size: 18px; font-weight: 700; letter-spacing: .5px; color: #1a1a2e; }
  #page-mine .wp-uid{ font-size: 13px; color: #999; margin-top: 3px; }
  #page-mine .active-pill{
    flex-shrink: 0;
    display: flex; align-items: center; gap: 4px;
    font-size: 13px; color: var(--mine-primary);
    background: var(--mine-bg-soft);
    padding: 6px 12px;
    border-radius: 16px;
    font-weight: 600;
  }

  /* 心愿池 Tab 栏 */
  #page-mine .wp-tabbar{
    flex-shrink: 0;
    display: flex;
    background: #fff;
    border-bottom: 1px solid #f0f1f3;
    margin-top: 10px;
    border-radius: 14px 14px 0 0;
    position: relative;
  }
  #page-mine .wp-tab{
    flex: 1;
    height: 46px;
    display: flex; align-items: center; justify-content: center;
    gap: 6px;
    font-size: 16px;
    color: #999;
    border: none; background: none;
    cursor: pointer;
    font-weight: 600;
    transition: color .2s;
  }
  #page-mine .wp-tab.active{ color: var(--mine-primary); font-weight: 700; }
  #page-mine .wp-tab .count{
    font-size: 12px;
    background: var(--mine-bg);
    color: #999;
    border-radius: 10px;
    padding: 1px 7px;
    font-weight: 600;
  }
  #page-mine .wp-tab.active .count{ background: var(--mine-bg-soft); color: var(--mine-primary); }

  /* 心愿池小节标题 */
  #page-mine .wp-section-title{
    font-size: 14px; color: #999;
    margin: 4px 2px 10px;
    display: flex; align-items: center; gap: 6px;
  }
  #page-mine .wp-section-title::before{ content: ""; width: 3px; height: 12px; background: var(--mine-primary); border-radius: 2px; }

  /* 心愿卡片 */
  #page-mine .wish-card{
    background: #fff;
    border: 1px solid #f0f1f3;
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 12px;
    box-shadow: 0 2px 10px rgba(17,24,39,0.05);
    animation: wpCardIn .35s ease both;
  }
  @keyframes wpCardIn {
    from { opacity: 0; transform: translateY(10px) scale(.98); }
    to { opacity: 1; transform: none; }
  }
  #page-mine .wish-main{ display: flex; gap: 12px; }
  #page-mine .wish-img{
    width: 84px; height: 84px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 38px;
  }
  #page-mine .wish-info{ flex: 1; min-width: 0; display: flex; flex-direction: column; }
  #page-mine .wish-title-row{ display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
  #page-mine .wish-title{ font-size: 16px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: break-all; color: #1a1a2e; }
  #page-mine .wish-desc{ font-size: 13px; color: #666; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  #page-mine .wish-time{ font-size: 12px; color: #999; margin-top: auto; padding-top: 4px; }

  /* 状态标签 */
  #page-mine .st{
    flex-shrink: 0;
    font-size: 12px;
    padding: 3px 9px;
    border-radius: 10px;
    font-weight: 600;
    line-height: 1.5;
  }
  #page-mine .st-helping{ background: var(--mine-bg-soft); color: var(--mine-primary); }
  #page-mine .st-done{ background: #e6f9f0; color: #00b578; }
  #page-mine .st-expired{ background: #f0f2f5; color: #999; }
  #page-mine .st-pending{ background: var(--mine-bg-soft); color: var(--mine-primary); }
  #page-mine .st-used{ background: #e6f9f0; color: #00b578; }
  #page-mine .st-shipping{ background: #fff3e0; color: #ff9800; }
  #page-mine .st-sent{ background: #e6f9f0; color: #00b578; }
  #page-mine .st-invalid{ background: #f0f2f5; color: #999; }

  /* 进度区 */
  #page-mine .prog{
    margin-top: 12px;
    background: #f0f2f5;
    border-radius: 10px;
    padding: 10px 12px;
  }
  #page-mine .prog-head{
    display: flex; align-items: center; justify-content: space-between;
    font-size: 13px; color: #666;
  }
  #page-mine .prog-head b{ color: var(--mine-primary); font-weight: 700; }
  #page-mine .prog-head .pct{ color: var(--mine-primary); font-weight: 700; font-size: 14px; }
  #page-mine .bar{
    margin-top: 8px;
    height: 6px;
    border-radius: 3px;
    background: #e9ebef;
    overflow: hidden;
  }
  #page-mine .bar i{
    display: block;
    height: 100%;
    width: 0;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--mine-primary), var(--mine-primary-light));
    transition: width 1s cubic-bezier(.22, .61, .36, 1);
  }
  #page-mine .bar i.green{ background: linear-gradient(90deg, #00b578, #3ed6a0); }
  #page-mine .bar i.gray{ background: #c8c9cc; }
  #page-mine .wish-card.is-expired .wish-img{ filter: grayscale(.65); opacity: .75; }
  #page-mine .wish-card.is-expired{ background: #fdfdfe; }

  /* 操作按钮 */
  #page-mine .wish-actions{
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f0f1f3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }
  #page-mine .wp-btn{
    height: 32px;
    padding: 0 14px;
    border-radius: 16px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    background: none;
    cursor: pointer;
    font-family: inherit;
    transition: transform .1s, opacity .15s;
    font-weight: 600;
  }
  #page-mine .wp-btn:active{ transform: scale(.94); }
  #page-mine .wp-btn-edit{ border-color: var(--mine-primary); color: var(--mine-primary); background: #fff; }
  #page-mine .wp-btn-del{ color: #fa5151; background: #fff1f1; }
  #page-mine .wp-btn-copy{ background: var(--mine-primary); color: #fff; box-shadow: 0 3px 8px var(--mine-primary-shadow); }
  #page-mine .wp-btn-shrink{ padding: 0 10px; font-size: 12px; height: 26px; border-radius: 13px; }

  /* 奖品卡片 */
  #page-mine .prize-card{
    background: #fff;
    border: 1px solid #f0f1f3;
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 12px;
    box-shadow: 0 2px 10px rgba(17,24,39,0.05);
    animation: wpCardIn .35s ease both;
  }
  #page-mine .prize-main{ display: flex; align-items: center; gap: 12px; }
  #page-mine .prize-img{
    width: 56px; height: 56px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px;
  }
  #page-mine .prize-info{ flex: 1; min-width: 0; }
  #page-mine .prize-name{ font-size: 15px; font-weight: 700; color: #1a1a2e; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
  #page-mine .prize-meta{ font-size: 13px; color: #999; margin-top: 4px; }
  #page-mine .code-box{
    margin-top: 12px;
    display: flex; align-items: center; justify-content: space-between;
    background: var(--mine-bg-soft);
    border: 1px dashed var(--mine-primary-shadow);
    border-radius: 10px;
    padding: 9px 12px;
    font-size: 13px; color: #666;
  }
  #page-mine .code-box .code{ font-family: "SFMono-Regular", Consolas, monospace; font-weight: 700; color: var(--mine-primary); font-size: 14px; letter-spacing: 1px; }
  #page-mine .code-tip{ margin-top: 8px; font-size: 12px; color: #999; }
  #page-mine .prize-card.is-invalid{ opacity: .72; }

  /* 奖品邮寄：待领奖提示 / 收货地址块 */
  #page-mine .prize-tip{
    margin-top: 12px;
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: #666;
    background: var(--mine-bg-soft);
    border-radius: 10px;
    padding: 9px 12px;
  }
  #page-mine .prize-tip .ic{ font-size: 15px; flex-shrink: 0; }
  #page-mine .prize-tip.sent{ background: #e6f9f0; color: #00b578; }
  #page-mine .prize-addr-btn{ margin-top: 10px; }
  #page-mine .addr-box{
    margin-top: 12px;
    background: #fafbfc;
    border: 1px solid #eef0f4;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    color: #666;
    line-height: 1.7;
  }
  #page-mine .addr-box .addr-recv{ font-weight: 700; color: #1a1a2e; }
  #page-mine .addr-box .addr-recv .phone{ color: #999; font-weight: 400; margin-left: 8px; }
  #page-mine .addr-box .addr-detail{ margin-top: 2px; word-break: break-all; }
  #page-mine .addr-actions{ display: flex; align-items: center; gap: 8px; margin-top: 10px; }

  /* 心愿池空状态 */
  #page-mine .wp-empty{
    padding: 60px 20px;
    text-align: center;
    color: #999;
    animation: wpFadeIn .3s ease;
  }
  @keyframes wpFadeIn { from { opacity: 0; } to { opacity: 1; } }
  #page-mine .wp-empty .emoji{ font-size: 52px; margin-bottom: 14px; }
  #page-mine .wp-empty .t1{ font-size: 16px; color: #666; font-weight: 600; }
  #page-mine .wp-empty .t2{ font-size: 13px; margin-top: 6px; }

  /* 心愿池底部入口 */
  #page-mine .wp-bottom-bar{
    flex-shrink: 0;
    background: #fff;
    border-top: 1px solid #f0f1f3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px calc(8px + env(safe-area-inset-bottom));
  }
  #page-mine .wp-entry{
    display: flex; align-items: center; justify-content: center;
    gap: 6px;
    height: 40px;
    border: none; background: none;
    font-size: 15px; color: #666;
    cursor: pointer;
    font-family: inherit;
    font-weight: 600;
    padding: 0 30px;
  }
  #page-mine .wp-entry:active{ opacity: .6; }
  #page-mine .wp-entry .ic{ font-size: 18px; }

  /* 弹层（编辑/删除/规则） */
  #page-mine .wp-overlay{
    position: fixed; inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 100;
    display: none;
    align-items: flex-end;
    justify-content: center;
  }
  #page-mine .wp-overlay.show{ display: flex; }
  #page-mine .wp-overlay.center{ align-items: center; }
  #page-mine .wp-sheet{
    width: 100%;
    max-width: 430px;
    background: #fff;
    border-radius: 18px 18px 0 0;
    padding: 8px 20px calc(20px + env(safe-area-inset-bottom));
    animation: wpSheetUp .28s cubic-bezier(.32, .72, .24, 1);
  }
  @keyframes wpSheetUp { from { transform: translateY(100%); } to { transform: none; } }
  #page-mine .wp-sheet .grab{
    width: 36px; height: 4px;
    border-radius: 2px;
    background: #e5e6eb;
    margin: 0 auto 18px;
  }
  #page-mine .wp-sheet-title{ font-size: 17px; font-weight: 700; text-align: center; margin-bottom: 18px; color: #1a1a2e; }

  #page-mine .wp-field{ margin-bottom: 16px; }
  #page-mine .wp-field label{ display: block; font-size: 14px; color: #666; margin-bottom: 8px; font-weight: 600; }
  #page-mine .wp-field input{
    width: 100%;
    height: 46px;
    border: 1px solid #e5e6eb;
    border-radius: 10px;
    padding: 0 14px;
    font-size: 16px;
    color: #1a1a2e;
    outline: none;
    background: #fafbfc;
    font-family: inherit;
    transition: border-color .2s, background .2s;
  }
  #page-mine .wp-field input:focus{ border-color: var(--mine-primary); background: #fff; }
  #page-mine .wp-field textarea{
    width: 100%;
    min-height: 84px;
    border: 1px solid #e5e6eb;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.6;
    color: #1a1a2e;
    outline: none;
    background: #fafbfc;
    font-family: inherit;
    resize: none;
    transition: border-color .2s, background .2s;
  }
  #page-mine .wp-field textarea:focus{ border-color: var(--mine-primary); background: #fff; }
  #page-mine .wp-field .wp-err{ font-size: 12px; color: #fa5151; margin-top: 6px; display: none; }
  #page-mine .wp-field.has-err .wp-err{ display: block; }
  #page-mine .wp-field.has-err input{ border-color: #fa5151; }
  #page-mine .wp-field.has-err textarea{ border-color: #fa5151; }

  #page-mine .wp-sheet-actions{ display: flex; gap: 12px; margin-top: 8px; }
  #page-mine .wp-sheet-actions .wp-btn{
    flex: 1;
    height: 46px;
    border-radius: 23px;
    font-size: 16px;
  }
  #page-mine .wp-btn-cancel{ background: #f0f2f5; color: #666; border: none; }
  #page-mine .wp-btn-primary{ background: var(--mine-primary); color: #fff; box-shadow: 0 4px 12px var(--mine-primary-shadow); }

  /* 对话框（删除确认/活动规则） */
  #page-mine .wp-dialog{
    width: calc(100% - 80px);
    max-width: 300px;
    background: #fff;
    border-radius: 16px;
    padding: 24px 20px 18px;
    text-align: center;
    animation: wpPopIn .25s cubic-bezier(.34, 1.3, .5, 1);
  }
  @keyframes wpPopIn { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
  #page-mine .wp-dialog .d-icon{ font-size: 40px; margin-bottom: 10px; }
  #page-mine .wp-dialog .d-title{ font-size: 17px; font-weight: 700; color: #1a1a2e; }
  #page-mine .wp-dialog .d-text{ font-size: 14px; color: #666; margin-top: 8px; line-height: 1.7; }
  #page-mine .wp-dialog .d-actions{ display: flex; gap: 12px; margin-top: 20px; }
  #page-mine .wp-dialog .d-actions .wp-btn{ flex: 1; height: 42px; border-radius: 21px; font-size: 15px; }
  #page-mine .wp-btn-danger{ background: #fa5151; color: #fff; }
  #page-mine .wp-rules-list{ text-align: left; max-height: 46vh; overflow-y: auto; }
  #page-mine .wp-rules-list li{
    display: flex; gap: 8px;
    font-size: 14px; color: #666;
    line-height: 1.7;
    margin-bottom: 12px;
    list-style: none;
  }
  #page-mine .wp-rules-list li::before{
    content: "";
    flex-shrink: 0;
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--mine-primary);
    margin-top: 8px;
  }
  #page-mine .wp-rules-list b{ color: #1a1a2e; }

  /* 提示条 */
  #page-mine .wp-toast{
    position: fixed;
    left: 50%;
    bottom: 120px;
    transform: translateX(-50%) translateY(8px);
    background: rgba(17,17,17,.88);
    color: #fff;
    font-size: 14px;
    padding: 10px 18px;
    border-radius: 22px;
    z-index: 200;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s, transform .25s;
    max-width: 82vw;
    text-align: center;
  }
  #page-mine .wp-toast.show{ opacity: 1; transform: translateX(-50%) translateY(0); }

  /* 心愿池面板切换 */
  #page-mine .wp-panel{ display: none; }
  #page-mine .wp-panel.show{ display: block; animation: wpFadeIn .25s ease; }

  /* 心愿池滚动区隐藏滚动条 */
  #pageWishpool .content::-webkit-scrollbar{ width: 0; }



/* ===== 2026-08 峰会上线适配(结构迁到探索家 app-kit 外壳;配色/布局仍是原作的科技蓝) ===== */
body{ --ak-primary:#2563eb; --ak-primary-2:#4f8df7; }
.app{ display:block; overflow:visible; }          /* 覆盖 app-kit 的 flex/hidden,保持原作文档流与整页滚动 */
.app-tabbar{ max-width:480px; }                   /* Tab 栏锁定在手机框宽度内(修复原版铺满全屏的问题) */
body.layout-wide .app-tabbar{ max-width:100%; }  /* 显示设置·宽布局时 Tab 栏跟随铺满 */
.app-tabbar .tab.active{ color:#2563eb; background:rgba(37,99,235,.08); }
#page-mine{ padding-bottom:96px; }                /* 固定 Tab 栏不再遮住「我的」页底部内容 */
#page-mine.screen.active{ display:flex; }         /* 「我的」页激活时保持原作的纵向 flex 布局 */

