/* ====== 心意速递专属样式 ====== */
.char-picker {
  background: var(--card); padding: 12px 16px; display: flex; gap: 12px;
  overflow-x: auto; -webkit-overflow-scrolling: touch; border-bottom: .5px solid var(--gl);
  flex-shrink: 0;
}
.char-picker::-webkit-scrollbar { display: none; }

.char-item { display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; opacity: 0.5; transition: all .2s; flex-shrink: 0; }
.char-item.active { opacity: 1; transform: scale(1.05); }
.char-av-box { width: 50px; height: 50px; border-radius: 50%; background: var(--gl); display: flex; align-items: center; justify-content: center; font-size: 22px; border: 2px solid transparent; overflow: hidden; }
.char-item.active .char-av-box { border-color: var(--blue); box-shadow: 0 2px 10px rgba(0,122,255,.2); }
.char-item img { width:100%; height:100%; object-fit:cover; }

.gift-section { display:none; animation:fadeIn .3s ease; }
.gift-section.active { display:block; }

.item-card { background:var(--card); border-radius:16px; padding:16px; margin-bottom:12px; display:flex; align-items:center; gap:14px; box-shadow:0 2px 10px rgba(0,0,0,.02); border: 1px solid var(--gl); }
.item-icon { width:60px; height:60px; border-radius:14px; background:var(--bg); display:flex; align-items:center; justify-content:center; font-size:32px; flex-shrink:0; }
.item-info { flex:1; min-width:0; }
.item-name { font-size:16px; font-weight:600; margin-bottom:4px; }
.item-desc { font-size:12px; color:var(--gm); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.item-price { font-size:16px; font-weight:700; color:var(--orange); }

.buy-btn { padding:6px 16px; background:var(--blue); color:white; border:none; border-radius:12px; font-size:13px; font-weight:600; cursor:pointer; }

.order-card { background:var(--card); border-radius:16px; padding:16px; margin-bottom:14px; box-shadow:0 2px 12px rgba(0,0,0,.04); border:1px solid var(--gl); }
.order-status { color:var(--blue); font-weight:600; background:rgba(0,122,255,.1); padding:2px 8px; border-radius:8px; font-size:12px; }
.order-status.done { color:var(--green); background:rgba(52,199,89,.1); }

.track-wrap { position:relative; height:6px; background:var(--gl); border-radius:3px; margin:20px 10px 6px; }
.track-fill { position:absolute; left:0; top:0; height:100%; background:var(--blue); border-radius:3px; transition:width 0.5s linear; }
.track-rider { position:absolute; top:-18px; left:0; font-size:20px; margin-left: -10px; transform: scaleX(-1); transition:left 0.5s linear; }
.track-nodes { display:flex; justify-content:space-between; margin-top:8px; font-size:11px; color:var(--gm); }
.time-left { text-align:center; font-size:12px; color:var(--orange); margin-top:8px; font-weight:500; }

.gift-empty-state {
  padding: 60px 20px;
  text-align: center;
  color: var(--gm);
  font-size: 14px;
  line-height: 1.6;
}

/* 收到礼物的卡片样式 */
.gift-recv-card {
  width: 240px; border-radius: 14px; overflow: hidden; cursor: default;
  background: linear-gradient(135deg, #667eea, #764ba2); color: white;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3); margin: 4px 0;
}
.gr-top { padding: 14px 16px; display: flex; align-items: center; gap: 12px; }
.gr-icon { font-size: 36px; flex-shrink: 0; }
.gr-info { flex: 1; min-width: 0; }
.gr-name { font-size: 16px; font-weight: 700; margin-bottom: 2px; }
.gr-note { font-size: 12px; opacity: 0.8; font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gr-bottom { background: rgba(0,0,0,0.15); padding: 6px 16px; font-size: 11px; color: rgba(255,255,255,0.7); text-align: right; }

/* 收到礼物的边框颜色 */
.order-card[style*="var(--purple)"] {
  background: linear-gradient(to right, rgba(175, 82, 222, 0.05), var(--card));
}
