/* 旧物星光 — 温暖质朴 + 毛玻璃卡片 */
.star-page { padding-top:64px; background:var(--bg); min-height:100vh; }

/* 风险横幅（可关闭） */
.star-banner {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 20px; font-size:12px; color:#b45309;
  background:rgba(230,147,64,0.08); border-bottom:1px solid rgba(230,147,64,0.12);
  line-height:1.6; gap:12px;
}
.star-banner .close-banner {
  background:none; border:none; color:inherit; font-size:16px; cursor:pointer;
  flex-shrink:0; opacity:0.5; padding:4px;
}
.star-banner .close-banner:hover { opacity:1; }
.star-banner.hidden { display:none; }

/* 板块头 */
.star-header {
  max-width:1100px; margin:0 auto; padding:28px 24px 16px;
  display:flex; align-items:center; justify-content:space-between;
}
.star-header h1 { font-size:24px; font-weight:700; color:var(--charcoal); }
.star-header .sub { font-size:13px; color:var(--gray); margin-top:4px; }

/* 搜索栏 */
.star-search-wrap { max-width:1100px; margin:0 auto; padding:0 24px 16px; }
.star-search {
  display:flex; gap:0; border-radius:24px; overflow:hidden;
  background:rgba(255,255,255,0.55); backdrop-filter:blur(8px);
  border:1px solid rgba(57,100,150,0.08);
}
.star-search input {
  flex:1; padding:12px 20px; border:none; outline:none; font-size:14px;
  background:transparent; font-family:inherit;
}
.star-search button {
  padding:12px 24px; border:none; background:var(--blue); color:#fff;
  font-size:13px; cursor:pointer; font-family:inherit;
}

/* 筛选栏 */
.star-filters {
  max-width:1100px; margin:0 auto; padding:0 24px 16px;
  display:flex; gap:8px; flex-wrap:wrap;
}
.star-filters select {
  padding:8px 14px; border-radius:8px; font-size:13px; outline:none;
  border:1px solid rgba(57,100,150,0.10); background:rgba(255,255,255,0.55);
  font-family:inherit; cursor:pointer;
}

/* 物品流 */
.star-feed { max-width:1100px; margin:0 auto; padding:0 24px 60px; }
.star-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.star-empty { text-align:center; padding:80px 24px; color:var(--gray); }
.star-empty h3 { font-size:18px; color:var(--charcoal); margin-bottom:8px; }

/* 物品卡片 */
.star-card {
  background:rgba(255,255,255,0.55); backdrop-filter:blur(6px);
  border:1px solid rgba(57,100,150,0.04); border-radius:16px;
  overflow:hidden; cursor:pointer;
  transition:transform 320ms var(--ease), box-shadow 320ms var(--ease);
}
.star-card:hover { transform:translateY(-3px); box-shadow:0 6px 24px rgba(57,100,150,0.06); }
.star-card-img {
  width:100%; aspect-ratio:16/9; object-fit:cover;
  background:rgba(57,100,150,0.04); position:relative;
}
.star-card-img .tag-cond {
  position:absolute; top:10px; left:10px;
  padding:3px 10px; border-radius:6px; font-size:10px; font-weight:600;
  color:#fff;
}
.tag-new   { background:rgba(16,185,129,0.85); }
.tag-gently{ background:rgba(98,151,201,0.85); }
.tag-old   { background:rgba(107,114,128,0.75); }

.star-card-img .tag-swap {
  position:absolute; top:10px; right:10px;
  padding:3px 10px; border-radius:6px; font-size:10px; font-weight:600;
  color:#fff;
}
.swap-free  { background:rgba(230,147,64,0.85); }
.swap-trade { background:rgba(139,92,246,0.75); }
.swap-paid  { background:rgba(98,151,201,0.85); }

.star-card-body { padding:14px 16px; }
.star-card-body .title { font-size:15px; font-weight:600; color:var(--charcoal); margin-bottom:4px; }
.star-card-body .desc { font-size:12px; color:var(--gray); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.star-card-body .meta { font-size:11px; color:var(--gray); margin-top:8px; display:flex; gap:12px; }

/* 详情页 */
.star-detail { max-width:700px; margin:0 auto; padding:80px 24px 60px; }
.star-detail .images { display:flex; gap:8px; overflow-x:auto; margin-bottom:20px; border-radius:16px; }
.star-detail .images img { width:100%; max-width:500px; border-radius:12px; object-fit:cover; }

.star-detail .risk-inline { padding:10px 14px; border-radius:10px; background:rgba(230,147,64,0.06); color:#b45309; font-size:12px; margin-bottom:16px; }
.star-detail h2 { font-size:20px; font-weight:700; margin-bottom:8px; }
.star-detail .detail-tags { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.star-detail .detail-tags span { padding:4px 12px; border-radius:8px; font-size:11px; font-weight:600; }
.star-detail .author { display:flex; align-items:center; gap:10px; padding:14px; border-radius:12px; background:rgba(255,255,255,0.50); margin-bottom:16px; }
.star-detail .author-avatar { width:40px; height:40px; border-radius:50%; background:rgba(57,100,150,0.10); display:flex; align-items:center; justify-content:center; font-weight:600; color:var(--blue); }
.star-detail .desc-text { font-size:14px; line-height:1.9; color:var(--charcoal); margin-bottom:20px; }
.star-detail .actions { display:flex; gap:12px; flex-wrap:wrap; padding-top:16px; border-top:1px solid rgba(0,0,0,0.04); }
.star-detail .btm-note { font-size:11px; color:var(--gray); margin-top:16px; padding:10px 14px; border-radius:8px; background:rgba(0,0,0,0.02); }

/* 跨板块引导 */
.star-cross { max-width:700px; margin:0 auto; padding:20px 24px 60px; text-align:center; font-size:12px; color:var(--gray); }
.star-cross a { color:var(--blue); }

/* 发帖弹窗 */
.star-modal-overlay { position:fixed; inset:0; z-index:300; background:rgba(13,17,23,0.40); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity 320ms; }
.star-modal-overlay.open { opacity:1; pointer-events:auto; }
.star-modal { width:92%; max-width:520px; max-height:88vh; overflow-y:auto; padding:28px; border-radius:20px; background:rgba(255,255,255,0.90); backdrop-filter:blur(16px); border:1px solid rgba(57,100,150,0.06); animation:modalIn 320ms var(--ease); }
@keyframes modalIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.star-modal input[type="text"], .star-modal textarea { width:100%; padding:12px 16px; border-radius:10px; font-size:14px; border:1px solid rgba(57,100,150,0.10); outline:none; font-family:inherit; margin-bottom:12px; background:rgba(255,255,255,0.60); }
.star-modal textarea { min-height:100px; resize:vertical; }
.star-modal input:focus, .star-modal textarea:focus { border-color:var(--blue); }
.star-modal .opt-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.star-modal .opt-btn { padding:8px 16px; border-radius:20px; border:1px solid rgba(57,100,150,0.12); font-size:12px; cursor:pointer; background:transparent; color:var(--gray); transition:all 200ms; font-family:inherit; }
.star-modal .opt-btn:hover, .star-modal .opt-btn.sel { background:var(--blue); color:#fff; border-color:var(--blue); }
.star-modal .upload-zone { border:2px dashed rgba(57,100,150,0.15); border-radius:14px; padding:36px; text-align:center; color:var(--gray); font-size:13px; cursor:pointer; margin-bottom:12px; transition:border-color 240ms; }
.star-modal .upload-zone:hover { border-color:var(--blue); }
.star-modal .notice { font-size:11px; color:var(--gray); margin-bottom:12px; padding:10px 14px; border-radius:8px; background:rgba(230,147,64,0.05); }
.star-modal .agreement { font-size:12px; color:var(--gray); display:flex; align-items:flex-start; gap:8px; margin:12px 0; }
.star-modal .agreement input { margin-top:2px; accent-color:var(--blue); }

/* 物品专属聊天面板 */
.star-chat-panel {
  position:fixed; bottom:0; left:0; right:0; z-index:250;
  max-height:60vh; background:rgba(255,255,255,0.96); backdrop-filter:blur(20px);
  border-top:1px solid rgba(57,100,150,0.08); border-radius:20px 20px 0 0;
  display:flex; flex-direction:column;
  transform:translateY(100%); transition:transform 360ms var(--ease);
  box-shadow:0 -4px 32px rgba(0,0,0,0.08);
}
.star-chat-panel.open { transform:translateY(0); }
.star-chat-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; border-bottom:1px solid rgba(0,0,0,0.04);
}
.star-chat-header h4 { font-size:15px; font-weight:600; }
.star-chat-header .item-ref { font-size:11px; color:var(--gray); }
.star-chat-close { background:none; border:none; font-size:20px; cursor:pointer; color:var(--gray); }
.star-chat-msgs { flex:1; overflow-y:auto; padding:16px 20px; display:flex; flex-direction:column; gap:12px; max-height:300px; }
.star-chat-msg { max-width:80%; padding:10px 14px; border-radius:14px; font-size:13px; line-height:1.6; }
.star-chat-msg.mine { align-self:flex-end; background:var(--blue); color:#fff; border-bottom-right-radius:4px; }
.star-chat-msg.theirs { align-self:flex-start; background:rgba(57,100,150,0.06); color:var(--charcoal); border-bottom-left-radius:4px; }
.star-chat-msg .time { font-size:10px; opacity:0.6; margin-top:4px; }
.star-chat-input-row { display:flex; gap:8px; padding:12px 20px; border-top:1px solid rgba(0,0,0,0.04); }
.star-chat-input-row input { flex:1; padding:10px 16px; border-radius:20px; border:1px solid rgba(57,100,150,0.12); outline:none; font-size:13px; font-family:inherit; }
.star-chat-input-row button { padding:10px 20px; border-radius:20px; border:none; background:var(--blue); color:#fff; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; }

/* 交易完成确认弹窗 */
.star-done-overlay { position:fixed; inset:0; z-index:400; background:rgba(13,17,23,0.45); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity 320ms; }
.star-done-overlay.open { opacity:1; pointer-events:auto; }
.star-done-card { width:90%; max-width:380px; padding:32px 28px; border-radius:20px; background:rgba(255,255,255,0.92); backdrop-filter:blur(16px); text-align:center; animation:modalIn 320ms var(--ease); }
.star-done-card h3 { font-size:18px; margin-bottom:8px; }
.star-done-card p { font-size:13px; color:var(--gray); margin-bottom:20px; line-height:1.7; }
.star-done-card .pts { display:inline-block; padding:8px 20px; border-radius:20px; background:rgba(230,147,64,0.10); color:var(--amber); font-weight:700; font-size:16px; margin-bottom:16px; }

@media(max-width:768px){
  .star-grid{grid-template-columns:1fr}
  .star-detail{padding:70px 16px 40px}
}
