    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent;
    }

    body {
      background: #f5f5f5;
      font-family: -apple-system, 'Helvetica Neue', 'Segoe UI', Roboto, sans-serif;
      color: #1a1a1a;
      padding-bottom: 70px;
      min-height: 100vh;
      line-height: 1.4;
    }

    .app {
      max-width: 480px;
      margin: 0 auto;
      background: #f5f5f5;
      padding: 12px 10px 0;
      position: relative;
    }

    /* ===== 页面切换 ===== */
    .page {
      display: none;
    }
    .page.active {
      display: block;
    }

    /* ===== 顶部标题栏 ===== */
    .top-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 4px 0 12px;
    }

    .top-bar .title {
      font-size: 1.15rem;
      font-weight: 700;
      color: #222;
      letter-spacing: 0.5px;
    }

    .top-bar .actions {
      display: flex;
      gap: 16px;
      font-size: 1.2rem;
      color: #444;
    }

    .top-bar .actions i {
      cursor: pointer;
    }

    .top-bar .back-btn {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.95rem;
      color: #333;
      font-weight: 500;
      cursor: pointer;
    }
    .top-bar .back-btn i {
      font-size: 1.1rem;
    }

    /* ===== 品牌头部（首页） ===== */
    .brand-header {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 2px 0 14px;
    }

    .brand-logo {
      width: 40px;
      height: 40px;
      border-radius: 12px;
      background: linear-gradient(135deg, #ffc107, #ff9800);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.3rem;
      font-weight: 900;
      color: #1a1a1a;
      box-shadow: 0 4px 10px rgba(255, 193, 7, 0.35);
    }

    .brand-text {
      display: flex;
      flex-direction: column;
    }

    .brand-text .name {
      font-size: 1.15rem;
      font-weight: 800;
      color: #1a1a1a;
      letter-spacing: 1px;
    }

    .brand-text .slogan {
      font-size: 0.65rem;
      color: #999;
      letter-spacing: 2px;
      margin-top: -2px;
    }

    /* ===== 分类选项卡 ===== */
    .tabs {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 14px;
    }

    .tab-btn {
      flex: 1;
      text-align: center;
      padding: 10px 0;
      border-radius: 40px;
      font-size: 0.95rem;
      font-weight: 600;
      background: #ffffff;
      color: #666;
      border: none;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
      transition: 0.2s;
      cursor: pointer;
    }

    .tab-btn.active {
      background: #ffc107;
      color: #1a1a1a;
      box-shadow: 0 2px 8px rgba(255, 193, 7, 0.4);
    }

    .filter-btn {
      display: flex;
      align-items: center;
      gap: 4px;
      padding: 10px 16px;
      border-radius: 40px;
      background: #ffffff;
      color: #666;
      font-size: 0.9rem;
      font-weight: 500;
      border: none;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
      cursor: pointer;
      white-space: nowrap;
    }

    .filter-btn i {
      font-size: 0.7rem;
      color: #999;
    }

    /* ===== 商品网格（双列） ===== */
    .goods-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 10px;
    }

    .goods-card {
      background: #ffffff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      transition: 0.15s;
      cursor: pointer;
      display: flex;
      flex-direction: column;
    }

    .goods-card:active {
      transform: scale(0.98);
      opacity: 0.9;
    }

    .goods-img {
      width: 100%;
      aspect-ratio: 1 / 1;
      background: #1a2633;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .goods-img .promo-text {
      color: #fff;
      font-weight: 900;
      font-size: 1.5rem;
      text-align: center;
      text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
      letter-spacing: 2px;
      line-height: 1.2;
      padding: 10px;
      z-index: 2;
    }

    .goods-img .promo-text small {
      display: block;
      font-size: 0.7rem;
      font-weight: 400;
      color: #ffc107;
      letter-spacing: 0;
      margin-top: 4px;
    }

    .goods-img.bg1 { background: linear-gradient(145deg, #2d3e4f, #1a2633); }
    .goods-img.bg2 { background: linear-gradient(145deg, #3a2e28, #1f1a17); }
    .goods-img.bg3 { background: linear-gradient(145deg, #1e3d3a, #0f2320); }
    .goods-img.bg4 { background: linear-gradient(145deg, #2f2b3a, #1a1725); }

    .goods-img .corner-tag {
      position: absolute;
      top: 8px;
      left: 8px;
      background: rgba(0, 0, 0, 0.6);
      color: #fff;
      font-size: 0.6rem;
      padding: 3px 8px;
      border-radius: 20px;
      font-weight: 500;
      z-index: 3;
      backdrop-filter: blur(4px);
    }

    .goods-img::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 50%;
      background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
      z-index: 1;
      pointer-events: none;
    }

    .goods-info {
      padding: 10px 10px 12px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .goods-title {
      font-size: 0.95rem;
      font-weight: 600;
      color: #1a1a1a;
      margin-bottom: 4px;
      line-height: 1.3;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .goods-desc {
      font-size: 0.7rem;
      color: #999;
      margin-bottom: 8px;
      line-height: 1.3;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .goods-price-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      margin-top: auto;
    }

    .price {
      font-size: 1.1rem;
      font-weight: 800;
      color: #ff3b30;
      letter-spacing: -0.3px;
    }

    .sold {
      font-size: 0.65rem;
      color: #b0b0b0;
    }

    /* ===== 下单详情页 ===== */
    .order-detail {
      padding-bottom: 20px;
    }

    .order-hero {
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 14px;
      position: relative;
    }

    .order-hero .hero-img {
      width: 100%;
      aspect-ratio: 16 / 10;
      background: #1a2633;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .order-hero .hero-img .promo-text {
      color: #fff;
      font-weight: 900;
      font-size: 2rem;
      text-align: center;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
      letter-spacing: 3px;
      line-height: 1.2;
      z-index: 2;
      padding: 10px;
    }

    .order-hero .hero-img .promo-text small {
      display: block;
      font-size: 0.8rem;
      font-weight: 400;
      color: #ffc107;
      letter-spacing: 0;
      margin-top: 6px;
    }

    .order-hero .hero-img::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 60%;
      background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
      z-index: 1;
    }

    .order-hero .hero-img.bg1 { background: linear-gradient(145deg, #2d3e4f, #1a2633); }
    .order-hero .hero-img.bg2 { background: linear-gradient(145deg, #3a2e28, #1f1a17); }
    .order-hero .hero-img.bg3 { background: linear-gradient(145deg, #1e3d3a, #0f2320); }
    .order-hero .hero-img.bg4 { background: linear-gradient(145deg, #2f2b3a, #1a1725); }

    .order-info-card {
      background: #ffffff;
      border-radius: 16px;
      padding: 16px;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      margin-bottom: 14px;
    }

    .order-info-card .product-title {
      font-size: 1.2rem;
      font-weight: 700;
      color: #1a1a1a;
      margin-bottom: 6px;
    }

    .order-info-card .product-sub {
      font-size: 0.8rem;
      color: #888;
      margin-bottom: 12px;
      line-height: 1.4;
    }

    .order-info-card .price-big {
      font-size: 1.6rem;
      font-weight: 800;
      color: #ff3b30;
      letter-spacing: -0.5px;
    }

    .order-info-card .price-big small {
      font-size: 0.8rem;
      font-weight: 400;
      color: #999;
      margin-left: 4px;
    }

    .form-section {
      background: #ffffff;
      border-radius: 16px;
      padding: 16px;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      margin-bottom: 14px;
    }

    .form-section .section-label {
      font-size: 0.95rem;
      font-weight: 700;
      color: #1a1a1a;
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .form-section .section-label i {
      color: #ffc107;
      font-size: 0.9rem;
    }

    .form-group {
      margin-bottom: 14px;
    }

    .form-group:last-child {
      margin-bottom: 0;
    }

    .form-label {
      display: block;
      font-size: 0.8rem;
      font-weight: 600;
      color: #444;
      margin-bottom: 6px;
    }

    .form-label span {
      color: #ff3b30;
      margin-left: 2px;
    }

    .form-input, .form-select, .form-textarea {
      width: 100%;
      padding: 12px 14px;
      border: 1.5px solid #e8e8e8;
      border-radius: 12px;
      font-size: 0.9rem;
      color: #1a1a1a;
      background: #fafafa;
      transition: 0.2s;
      font-family: inherit;
      outline: none;
    }

    .form-input:focus, .form-select:focus, .form-textarea:focus {
      border-color: #ffc107;
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.15);
    }

    .form-textarea {
      min-height: 70px;
      resize: vertical;
    }

    .qty-selector {
      display: flex;
      align-items: center;
      gap: 0;
      border: 1.5px solid #e8e8e8;
      border-radius: 12px;
      overflow: hidden;
      background: #fafafa;
      width: fit-content;
    }

    .qty-selector button {
      width: 40px;
      height: 44px;
      border: none;
      background: #fafafa;
      font-size: 1.2rem;
      color: #333;
      cursor: pointer;
      transition: 0.15s;
      font-weight: 600;
    }

    .qty-selector button:active {
      background: #f0f0f0;
    }

    .qty-selector input {
      width: 60px;
      height: 44px;
      border: none;
      border-left: 1.5px solid #e8e8e8;
      border-right: 1.5px solid #e8e8e8;
      text-align: center;
      font-size: 1rem;
      font-weight: 600;
      color: #1a1a1a;
      background: #ffffff;
      outline: none;
      font-family: inherit;
    }

    .submit-btn {
      width: 100%;
      padding: 16px 0;
      background: #ffc107;
      color: #1a1a1a;
      border: none;
      border-radius: 14px;
      font-size: 1rem;
      font-weight: 700;
      cursor: pointer;
      transition: 0.2s;
      margin-top: 6px;
      letter-spacing: 0.5px;
    }

    .submit-btn:active {
      background: #e6a800;
      transform: scale(0.98);
    }

    .submit-btn i {
      margin-right: 6px;
    }

    .guarantee {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px 16px;
      margin-top: 14px;
      font-size: 0.7rem;
      color: #999;
    }

    .guarantee span {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .guarantee i {
      color: #ffc107;
      font-size: 0.75rem;
    }

    /* ===== 分类页 ===== */
    .category-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 14px;
    }

    .category-card {
      background: #ffffff;
      border-radius: 16px;
      padding: 18px 16px;
      display: flex;
      align-items: center;
      gap: 14px;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      cursor: pointer;
      transition: 0.15s;
    }

    .category-card:active {
      transform: scale(0.98);
      background: #fafafa;
    }

    .category-card .cat-icon {
      width: 50px;
      height: 50px;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      flex-shrink: 0;
    }

    .category-card .cat-icon.yellow { background: #fff8e1; color: #ffc107; }
    .category-card .cat-icon.blue { background: #e3f2fd; color: #2196f3; }
    .category-card .cat-icon.green { background: #e8f5e9; color: #4caf50; }
    .category-card .cat-icon.purple { background: #f3e5f5; color: #9c27b0; }
    .category-card .cat-icon.red { background: #ffebee; color: #f44336; }
    .category-card .cat-icon.teal { background: #e0f2f1; color: #009688; }

    .category-card .cat-info {
      flex: 1;
    }

    .category-card .cat-info .cat-name {
      font-size: 1rem;
      font-weight: 700;
      color: #1a1a1a;
      margin-bottom: 3px;
    }

    .category-card .cat-info .cat-desc {
      font-size: 0.75rem;
      color: #999;
      line-height: 1.3;
    }

    .category-card .cat-arrow {
      color: #ccc;
      font-size: 0.9rem;
    }

    /* ===== 打手页 ===== */
    .booster-card {
      background: #ffffff;
      border-radius: 16px;
      padding: 16px;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 14px;
      cursor: pointer;
      transition: 0.15s;
    }

    .booster-card:active {
      transform: scale(0.98);
      background: #fafafa;
    }

    .booster-avatar {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: linear-gradient(135deg, #1a2633, #2d3e4f);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      font-weight: 800;
      color: #ffc107;
      flex-shrink: 0;
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
    }

    .booster-info {
      flex: 1;
    }

    .booster-info .booster-name {
      font-size: 1rem;
      font-weight: 700;
      color: #1a1a1a;
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 4px;
    }

    .booster-info .booster-name .level-tag {
      font-size: 0.6rem;
      background: #ffc107;
      color: #1a1a1a;
      padding: 1px 6px;
      border-radius: 20px;
      font-weight: 700;
    }

    .booster-info .booster-desc {
      font-size: 0.75rem;
      color: #999;
      margin-bottom: 6px;
      line-height: 1.3;
    }

    .booster-info .booster-tags {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }

    .booster-info .booster-tags span {
      font-size: 0.6rem;
      background: #f5f5f5;
      color: #666;
      padding: 2px 8px;
      border-radius: 20px;
    }

    .booster-status {
      text-align: right;
      flex-shrink: 0;
    }

    .booster-status .status-dot {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-size: 0.7rem;
      color: #34c759;
      font-weight: 600;
    }

    .booster-status .status-dot::before {
      content: '';
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #34c759;
      box-shadow: 0 0 6px #34c759;
    }

    .booster-status .price-from {
      font-size: 0.8rem;
      color: #ff3b30;
      font-weight: 700;
      margin-top: 6px;
    }

    /* ===== 我的页面（重新优化） ===== */
    .profile-header {
      background: linear-gradient(135deg, #1a2633, #2d3e4f);
      border-radius: 20px;
      padding: 22px 18px;
      color: #fff;
      margin: 0 0 14px;
      position: relative;
      overflow: hidden;
    }

    .profile-header::before {
      content: '';
      position: absolute;
      top: -30px;
      right: -20px;
      width: 120px;
      height: 120px;
      border-radius: 50%;
      background: rgba(255, 193, 7, 0.12);
    }

    .profile-header::after {
      content: '';
      position: absolute;
      bottom: -40px;
      left: -10px;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      background: rgba(255, 193, 7, 0.08);
    }

    .profile-top {
      display: flex;
      align-items: center;
      gap: 14px;
      position: relative;
      z-index: 1;
    }

    .profile-avatar {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: linear-gradient(135deg, #ffc107, #ff9800);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      font-weight: 900;
      color: #1a2633;
      flex-shrink: 0;
      box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.3);
    }

    .profile-user {
      flex: 1;
    }

    .profile-user .user-name {
      font-size: 1.2rem;
      font-weight: 700;
      margin-bottom: 4px;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .profile-user .user-name .vip-tag {
      font-size: 0.6rem;
      background: #ffc107;
      color: #1a1a1a;
      padding: 1px 7px;
      border-radius: 20px;
      font-weight: 800;
    }

    .profile-user .user-id {
      font-size: 0.7rem;
      color: #8fa8bd;
      margin-bottom: 6px;
    }

    .profile-user .user-level {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-size: 0.65rem;
      background: rgba(255, 193, 7, 0.15);
      color: #ffc107;
      padding: 3px 10px;
      border-radius: 20px;
    }

    .profile-edit {
      position: absolute;
      top: 22px;
      right: 18px;
      font-size: 0.75rem;
      color: #8fa8bd;
      border: 1px solid rgba(255, 255, 255, 0.2);
      padding: 4px 12px;
      border-radius: 20px;
      z-index: 2;
      cursor: pointer;
    }

    /* 资产统计 */
    .assets-row {
      display: flex;
      justify-content: space-around;
      margin-top: 18px;
      position: relative;
      z-index: 1;
      padding-top: 16px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .asset-item {
      text-align: center;
    }

    .asset-item .asset-num {
      font-size: 1.1rem;
      font-weight: 800;
      color: #ffc107;
    }

    .asset-item .asset-label {
      font-size: 0.65rem;
      color: #8fa8bd;
      margin-top: 2px;
    }

    /* 订单快捷入口 */
    .order-shortcuts {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
      background: #ffffff;
      border-radius: 16px;
      padding: 16px 8px;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      margin-bottom: 14px;
    }

    .shortcut-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      cursor: pointer;
      position: relative;
      padding: 4px 0;
      border-radius: 10px;
      transition: 0.15s;
    }

    .shortcut-item:active {
      background: #fafafa;
    }

    .shortcut-item i {
      font-size: 1.3rem;
      color: #ffc107;
    }

    .shortcut-item span {
      font-size: 0.7rem;
      color: #555;
      font-weight: 500;
    }

    .shortcut-item .badge {
      position: absolute;
      top: 0;
      right: 50%;
      transform: translateX(16px);
      background: #ff3b30;
      color: #fff;
      font-size: 0.55rem;
      padding: 1px 5px;
      border-radius: 20px;
      font-weight: 700;
      min-width: 16px;
      text-align: center;
    }

    /* 我的页面板块 */
    .profile-section {
      background: #ffffff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
      margin-bottom: 14px;
    }

    .profile-section .section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 16px 10px;
    }

    .profile-section .section-head .head-title {
      font-size: 0.95rem;
      font-weight: 700;
      color: #1a1a1a;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .profile-section .section-head .head-title i {
      color: #ffc107;
      font-size: 0.9rem;
    }

    .profile-section .section-head .head-more {
      font-size: 0.7rem;
      color: #999;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 2px;
    }

    .profile-section .section-head .head-more i {
      font-size: 0.6rem;
    }

    .menu-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 16px;
      cursor: pointer;
      transition: 0.15s;
      border-top: 1px solid #f5f5f5;
    }

    .menu-row:active {
      background: #fafafa;
    }

    .menu-row .row-left {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .menu-row .row-left i {
      width: 20px;
      font-size: 1rem;
      color: #ffc107;
      text-align: center;
    }

    .menu-row .row-left span {
      font-size: 0.88rem;
      font-weight: 500;
      color: #1a1a1a;
    }

    .menu-row .row-right {
      display: flex;
      align-items: center;
      gap: 6px;
      color: #ccc;
      font-size: 0.75rem;
    }

    .menu-row .row-right i {
      font-size: 0.65rem;
    }

    .menu-row .row-right .badge-red {
      background: #ff3b30;
      color: #fff;
      font-size: 0.55rem;
      padding: 1px 6px;
      border-radius: 20px;
      font-weight: 700;
    }

    /* 订单列表（我的页面） */
    .my-order-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      border-top: 1px solid #f5f5f5;
      cursor: pointer;
    }

    .my-order-item:active {
      background: #fafafa;
    }

    .my-order-item .mo-icon {
      width: 40px;
      height: 40px;
      border-radius: 12px;
      background: #f5f5f5;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      color: #ffc107;
      flex-shrink: 0;
    }

    .my-order-item .mo-info {
      flex: 1;
    }

    .my-order-item .mo-info .mo-name {
      font-size: 0.85rem;
      font-weight: 600;
      color: #1a1a1a;
    }

    .my-order-item .mo-info .mo-time {
      font-size: 0.65rem;
      color: #999;
      margin-top: 2px;
    }

    .my-order-item .mo-status {
      font-size: 0.7rem;
      font-weight: 600;
      color: #ffc107;
      flex-shrink: 0;
    }

    .my-order-item .mo-status.done {
      color: #34c759;
    }

    /* 空状态 */
    .empty-tip {
      text-align: center;
      padding: 20px 0;
      font-size: 0.75rem;
      color: #bbb;
    }

    .tips {
      font-size: 0.7rem;
      color: #aaa;
      text-align: center;
      padding: 16px 0 8px;
    }

    /* ===== 底部导航栏 ===== */
    .bottom-nav {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      max-width: 480px;
      margin: 0 auto;
      background: #ffffff;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: 8px 0 calc(8px + env(safe-area-inset-bottom));
      border-top: 1px solid #e8e8e8;
      box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.03);
      z-index: 100;
      border-radius: 20px 20px 0 0;
    }

    .nav-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      font-size: 0.65rem;
      color: #999;
      transition: 0.15s;
      cursor: pointer;
      padding: 2px 8px;
      border-radius: 10px;
      text-decoration: none;
      background: transparent;
      border: none;
      font-family: inherit;
    }

    .nav-item i {
      font-size: 1.3rem;
      color: #999;
    }

    .nav-item.active i {
      color: #ffc107;
    }

    .nav-item.active {
      color: #1a1a1a;
      font-weight: 600;
    }

    ::-webkit-scrollbar {
      display: none;
    }

    @media (max-width: 360px) {
      .goods-title { font-size: 0.85rem; }
      .price { font-size: 1rem; }
      .goods-desc { font-size: 0.65rem; }
      .promo-text { font-size: 1.2rem !important; }
      .profile-header { padding: 18px 14px; }
      .profile-avatar { width: 54px; height: 54px; font-size: 1.4rem; }
      .assets-row { margin-top: 14px; padding-top: 12px; }
    }

/* ================= v2 追加样式 ================= */

/* 链接元素承载卡片样式时的重置 */
a { text-decoration: none; color: inherit; }
a.goods-card, a.category-card, a.booster-card, a.my-order-item,
a.menu-row, a.tab-btn, a.nav-item, a.back-btn, a.plain-link { color: inherit; }
a.nav-item { text-decoration: none; }

/* flash 提示 */
.flash {
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 0.8rem;
  margin-bottom: 12px;
  line-height: 1.5;
}
.flash-info  { background: #e3f2fd; color: #1565c0; }
.flash-error { background: #ffebee; color: #c62828; }
.flash-success { background: #e8f5e9; color: #2e7d32; }

/* 下单页合计条 */
.total-bar {
  background: #fff8e1;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 0.9rem;
  color: #7a5c00;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.total-bar strong { font-size: 1.25rem; color: #ff3b30; font-weight: 800; }

/* 成功页 */
.success-card {
  background: #fff;
  border-radius: 18px;
  padding: 28px 18px 24px;
  text-align: center;
  box-shadow: 0 1px 6px rgba(0,0,0,.05);
  margin-top: 6px;
}
.success-icon { font-size: 3rem; color: #34c759; margin-bottom: 8px; }
.success-card h2 { font-size: 1.25rem; margin-bottom: 6px; color: #1a1a1a; }
.success-sub { font-size: 0.78rem; color: #999; margin-bottom: 18px; }
.plain-link { display: inline-block; margin-top: 14px; font-size: 0.8rem; color: #999; }

/* 键值列表 */
.kv-list { text-align: left; margin: 4px 0 14px; }
.kv {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #f2f2f2;
  font-size: 0.82rem;
}
.kv:last-child { border-bottom: none; }
.kv span { color: #999; flex-shrink: 0; }
.kv b { color: #1a1a1a; text-align: right; word-break: break-all; }
.kv b.red { color: #ff3b30; font-weight: 800; }

/* 订单状态色 */
.status-pending    { color: #ff9800; }
.status-processing { color: #2196f3; }
.status-done       { color: #34c759; }
.status-cancelled  { color: #9e9e9e; }

/* 禁用态按钮 */
.submit-btn:disabled { cursor: not-allowed; }

/* ================= 用户系统样式 ================= */
.auth-hero { text-align: center; padding: 18px 0 16px; }
.auth-logo {
  width: 62px; height: 62px; margin: 0 auto 12px; border-radius: 18px;
  background: linear-gradient(135deg, #ffc107, #ff9800);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.8rem; font-weight: 900; color: #1a2633;
  box-shadow: 0 6px 18px rgba(255,193,7,.4);
}
.auth-title { font-size: 1.2rem; font-weight: 800; color: #1a1a1a; letter-spacing: 1px; }
.auth-sub { font-size: .75rem; color: #999; margin-top: 5px; }
.auth-switch { text-align: center; font-size: .8rem; color: #888; padding: 16px 0 4px; }
.auth-switch a { color: #ff9800; font-weight: 700; text-decoration: none; }

.guest-card {
  background: #fff; border-radius: 18px; padding: 26px 18px 22px; text-align: center;
  box-shadow: 0 1px 6px rgba(0,0,0,.05); margin-bottom: 14px;
}
.guest-card .auth-logo { width: 54px; height: 54px; font-size: 1.5rem; }
.guest-title { font-size: 1.05rem; font-weight: 700; color: #1a1a1a; }
.guest-sub { font-size: .75rem; color: #999; margin: 6px 0 0; }
.guest-actions { margin-top: 16px; }
.guest-actions .submit-btn { margin-top: 0; }

/* 已登录头像在底栏的提示点 */
a.nav-item .nav-dot {
  position: absolute; top: 2px; right: 12px; width: 6px; height: 6px;
  border-radius: 50%; background: #34c759;
}

/* 底栏用户在线小点定位 */
.nav-item { position: relative; }

/* 下单页：打手选择提示 */
.form-label .opt-hint { color: #b0b8c1; font-weight: 400; font-size: .75rem; }
.form-tip { font-size: .7rem; color: #98a2ad; margin-top: 6px; line-height: 1.5; }

/* 订单里的打手标签 */
.booster-chip {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 20px;
  background: #eef4ff; color: #2b6cb0; font-size: .7rem; font-weight: 700;
}
.booster-chip.pool { background: #fff4e0; color: #b7791f; }
.booster-chip.onme { background: #e6f7ec; color: #218838; }

/* ============================================================
   v3：钱包 / 通知 / 客服 / 打手主页 / 订单流程
   ============================================================ */

/* ---- 余额支付条 ---- */
.balance-bar{display:flex;justify-content:space-between;align-items:center;background:#eaf7ee;border:1px solid #c9ecd6;
  border-radius:12px;padding:11px 14px;margin:0 0 10px;font-size:.82rem;color:#1d7a3c}
.balance-bar b{font-size:.95rem}
.bb-pay{display:flex;align-items:center;gap:6px;color:#2a3b4d;cursor:pointer;font-weight:700}

/* ---- 通知中心 ---- */
.notif-item{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid #f0f4f8;background:#fff}
.notif-item.unread{background:#f4fbff}
.notif-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#e8f4fb;color:#1a8cff;
  display:flex;align-items:center;justify-content:center;font-size:.95rem}
.notif-icon.order{background:#e8f1ff;color:#2b6cff}
.notif-icon.wallet{background:#fff4e5;color:#e8890c}
.notif-icon.withdraw{background:#eaf7ee;color:#1d9d4f}
.notif-icon.recharge{background:#f0ebff;color:#7048e8}
.notif-icon.review{background:#fff8e1;color:#d9a300}
.notif-body{flex:1;min-width:0}
.notif-title{font-weight:700;font-size:.86rem;color:#1a2633;margin-bottom:3px}
.notif-text{font-size:.76rem;color:#6b7a89;line-height:1.55}
.notif-time{font-size:.68rem;color:#a3b1bf;margin-top:5px}
.notif-dot{width:8px;height:8px;border-radius:50%;background:#ff5252;flex:0 0 8px;margin-top:6px}
.notif-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fff;
  border-bottom:1px solid #eef2f6;font-size:.76rem;color:#7b8a99}
.notif-bar a{color:#1a8cff;text-decoration:none}

/* ---- 钱包 ---- */
.wallet-card{margin:14px 16px;border-radius:16px;padding:22px 20px;color:#fff;
  background:linear-gradient(135deg,#1a8cff,#0a5fd6);box-shadow:0 8px 24px rgba(26,140,255,.28)}
.wallet-card .wc-label{font-size:.75rem;opacity:.85}
.wallet-card .wc-balance{font-size:2rem;font-weight:800;margin:4px 0 12px;letter-spacing:-.5px}
.wallet-card .wc-row{display:flex;gap:20px;font-size:.75rem;opacity:.92}
.wallet-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px 6px}
.wallet-actions a,.wallet-actions button{display:block;text-align:center;padding:13px;border-radius:12px;
  border:none;background:#fff;color:#1a2633;font-weight:700;font-size:.85rem;text-decoration:none;
  box-shadow:0 1px 4px rgba(0,0,0,.06);cursor:pointer}
.wallet-actions .primary{background:#1a8cff;color:#fff}
.txn-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f4f8}
.txn-left .txn-name{font-size:.83rem;color:#1a2633;font-weight:600}
.txn-left .txn-sub{font-size:.7rem;color:#9aa8b6;margin-top:3px}
.txn-amt{font-weight:800;font-size:.9rem}
.txn-amt.plus{color:#1d9d4f}
.txn-amt.minus{color:#e04a4a}
.pill-mini{display:inline-block;padding:2px 7px;border-radius:8px;font-size:.66rem;font-weight:700;margin-left:5px}
.pill-mini.pending{background:#fff4e0;color:#b7791f}
.pill-mini.paid{background:#e6f7ec;color:#1d7a3c}
.pill-mini.rejected{background:#fdecec;color:#c62828}

/* ---- 打手主页 ---- */
.bh-hero{background:linear-gradient(160deg,#12263f,#1c3b5e);color:#fff;padding:22px 18px 18px;position:relative}
.bh-top{display:flex;gap:14px;align-items:center}
.bh-avatar{width:64px;height:64px;border-radius:20px;background:#2b5f92;display:flex;align-items:center;
  justify-content:center;font-size:1.6rem;font-weight:800;overflow:hidden;flex:0 0 64px}
.bh-avatar img{width:100%;height:100%;object-fit:cover}
.bh-name{font-size:1.15rem;font-weight:800}
.bh-sign{font-size:.75rem;color:#a9c2d8;margin-top:5px}
.bh-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.bh-tags span{background:rgba(255,255,255,.14);border-radius:8px;padding:3px 9px;font-size:.68rem}
.bh-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.bh-stat{background:rgba(255,255,255,.09);border-radius:12px;padding:11px 8px;text-align:center}
.bh-stat .n{font-size:1.05rem;font-weight:800;color:#ffd166}
.bh-stat .l{font-size:.66rem;color:#a9c2d8;margin-top:3px}
.stars{color:#ffc107;letter-spacing:1px}
.intro-card{margin:14px 16px;background:#fff;border-radius:14px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.intro-card h4{margin:0 0 10px;font-size:.85rem;color:#3d4f5f}
.intro-card p{margin:0;font-size:.82rem;color:#5a6b7a;line-height:1.75;white-space:pre-wrap}
.voice-box{display:flex;align-items:center;gap:12px;background:#f2f8ff;border-radius:12px;padding:12px 14px;margin-top:12px}
.voice-box audio{flex:1;height:34px}
.review-item{padding:13px 16px;border-bottom:1px solid #f0f4f8}
.review-head{display:flex;justify-content:space-between;font-size:.78rem;color:#3d4f5f;font-weight:700}
.review-body{font-size:.78rem;color:#6b7a89;margin-top:6px;line-height:1.6}

/* ---- 订单截图 ---- */
.shot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px 8px}
.shot-cell{background:#f7fafc;border-radius:12px;overflow:hidden;border:1px solid #eef2f6}
.shot-cell img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.shot-cell .sc-label{font-size:.7rem;color:#7b8a99;padding:7px 10px;text-align:center}
.shot-upload{margin:0 16px 12px;background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.05)}

/* ---- 时间轴 ---- */
.timeline{padding:6px 16px 4px}
.tl-item{display:flex;gap:12px;position:relative;padding-bottom:18px}
.tl-item:last-child{padding-bottom:4px}
.tl-line{position:absolute;left:8px;top:20px;bottom:0;width:2px;background:#e6ecf2}
.tl-item:last-child .tl-line{display:none}
.tl-dot{width:18px;height:18px;border-radius:50%;background:#dfe7ef;flex:0 0 18px;z-index:1;
  display:flex;align-items:center;justify-content:center;font-size:.55rem;color:#fff}
.tl-item.on .tl-dot{background:#1d9d4f}
.tl-item.now .tl-dot{background:#1a8cff;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(26,140,255,.5)}50%{box-shadow:0 0 0 6px rgba(26,140,255,0)}}
.tl-body{flex:1;padding-top:1px}
.tl-title{font-size:.82rem;font-weight:700;color:#2a3b4d}
.tl-item:not(.on):not(.now) .tl-title{color:#a3b1bf;font-weight:600}
.tl-time{font-size:.68rem;color:#a3b1bf;margin-top:3px}

/* ---- 评分选择 ---- */
.rate-picker{display:flex;gap:8px;padding:4px 0 10px;font-size:1.5rem;color:#dfe7ef;cursor:pointer}
.rate-picker i.on{color:#ffc107}

/* ---- 客服悬浮窗 ---- */
.cs-fab{position:fixed;right:16px;bottom:86px;width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#1a8cff,#0a5fd6);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;box-shadow:0 6px 18px rgba(26,140,255,.42);cursor:pointer;z-index:900;border:none}
.cs-fab .badge{position:absolute;top:-3px;right:-3px;background:#ff3b30;color:#fff;border-radius:10px;
  padding:1px 6px;font-size:.62rem;font-weight:700}
.cs-mask{position:fixed;inset:0;background:rgba(10,20,32,.45);z-index:950;display:none}
.cs-mask.show{display:block}
.cs-panel{position:fixed;right:0;bottom:0;width:100%;max-width:420px;height:78vh;background:#f4f7fb;
  border-radius:18px 18px 0 0;z-index:960;display:none;flex-direction:column;overflow:hidden;
  box-shadow:0 -8px 30px rgba(0,0,0,.2)}
.cs-panel.show{display:flex}
.cs-header{background:linear-gradient(135deg,#1a8cff,#0a5fd6);color:#fff;padding:14px 16px;display:flex;
  justify-content:space-between;align-items:center}
.cs-header .ch-name{font-weight:800;font-size:.92rem}
.cs-header .ch-sub{font-size:.68rem;opacity:.85;margin-top:2px}
.cs-header button{background:rgba(255,255,255,.2);border:none;color:#fff;width:30px;height:30px;
  border-radius:50%;cursor:pointer;font-size:.9rem}
.cs-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.cs-msg{max-width:78%;padding:10px 13px;border-radius:14px;font-size:.82rem;line-height:1.55;word-break:break-word}
.cs-msg.cs{background:#fff;color:#2a3b4d;align-self:flex-start;border-bottom-left-radius:4px;
  box-shadow:0 1px 3px rgba(0,0,0,.06)}
.cs-msg.me{background:#1a8cff;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.cs-msg .cs-t{display:block;font-size:.62rem;opacity:.6;margin-top:4px}
.cs-tip{align-self:center;font-size:.68rem;color:#93a3b1;background:#e9eef4;padding:5px 12px;border-radius:10px}
.cs-input{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #eef2f6}
.cs-input input{flex:1;border:1px solid #e2e9f0;border-radius:20px;padding:11px 15px;font-size:.85rem;outline:none}
.cs-input input:focus{border-color:#1a8cff}
.cs-input button{border:none;background:#1a8cff;color:#fff;border-radius:20px;padding:0 18px;font-weight:700;cursor:pointer}

/* ---- 空状态 / 通用 ---- */
.list-card{background:#fff;border-radius:14px;margin:0 16px 14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.sec-title{font-size:.85rem;color:#3d4f5f;font-weight:700;padding:16px 16px 8px;display:flex;
  justify-content:space-between;align-items:center}
.sec-title a{font-size:.75rem;color:#1a8cff;text-decoration:none;font-weight:400}

/* ---- v3 补充 ---- */
.chip-radio{position:relative;cursor:pointer}
.chip-radio input{position:absolute;opacity:0;pointer-events:none}
.chip-radio span{display:inline-block;padding:9px 18px;border-radius:11px;border:1px solid #dfe7ef;
  font-size:.85rem;font-weight:700;color:#5a6b7a;background:#fff}
.chip-radio input:checked+span{border-color:#1a8cff;background:#eaf4ff;color:#1a8cff}
.escrow-tag{margin-top:12px;background:#eaf7ee;border:1px solid #c9ecd6;color:#1d7a3c;border-radius:11px;
  padding:10px 13px;font-size:.76rem;text-align:center}
.escrow-tag.ok{background:#eef6ff;border-color:#cfe3ff;color:#1565c0}
.status-dot-inline{font-size:.68rem;color:#8b98a5;margin-left:6px}
.status-dot-inline.on{color:#34c759}
.nav-dot-num{background:#ff3b30;color:#fff;font-size:.6rem;padding:1px 5px;border-radius:9px;line-height:1.3;
  position:absolute;top:6px;margin-left:2px}
.bottom-nav .nav-item{position:relative}
.status-pending{color:#b7791f}
.status-processing{color:#1565c0}
.status-reviewing{color:#c2410c}
.status-done{color:#1d7a3c}
.status-cancelled{color:#c62828}

/* ============================================================
   多游戏：首页游戏 logo 条 + 游戏列表头像补丁
   ============================================================ */
.game-strip {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 6px 14px 14px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.game-strip::-webkit-scrollbar { display: none; }

.game-chip {
  flex: 0 0 auto;
  width: 66px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #7b8aa0;
}
.game-chip .gc-ico {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  overflow: hidden;
  background: #eef3fb;
  color: #2f6bff;
  border: 2px solid transparent;
  transition: 0.18s;
}
.game-chip .gc-ico img { width: 100%; height: 100%; object-fit: cover; }
.game-chip .gc-ico.blue   { background: #e3f2fd; color: #2196f3; }
.game-chip .gc-ico.purple { background: #f3e5f5; color: #9c27b0; }
.game-chip .gc-ico.green  { background: #e8f5e9; color: #4caf50; }
.game-chip .gc-ico.yellow { background: #fff8e1; color: #ffb300; }
.game-chip .gc-ico.red    { background: #ffebee; color: #f44336; }
.game-chip .gc-ico.teal   { background: #e0f2f1; color: #009688; }
.game-chip .gc-name {
  font-size: 12px;
  line-height: 1.2;
  max-width: 66px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.game-chip.is-active .gc-ico {
  border-color: #2f6bff;
  box-shadow: 0 6px 16px rgba(47, 107, 255, 0.26);
}
.game-chip.is-active .gc-name { color: #2f6bff; font-weight: 600; }

.game-here {
  margin: 0 14px 12px;
  padding: 8px 12px;
  background: #eef3fb;
  border-radius: 10px;
  font-size: 12.5px;
  color: #5a6b82;
}
.game-here b { color: #2f6bff; }

/* 游戏列表里 cat-icon 换成 logo 图片时铺满圆角 */
.category-card .cat-icon { overflow: hidden; }
.category-card .cat-icon img { width: 100%; height: 100%; object-fit: cover; }
