.pick-box {
  background: var(--card);
  border: 1px solid var(--line);
  padding: 0.85rem 1rem;
  margin: 1rem 0 0.85rem;
}
.pick-head { display: flex; flex-wrap: wrap; gap: 0.35rem 0.8rem; align-items: baseline; margin-bottom: 0.5rem; }
.pick-head strong { font-size: 0.95rem; }
.pick-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: center; margin-top: 0.55rem; }
.hot-opt { font-size: 0.86rem; color: var(--muted); display: flex; align-items: center; gap: 0.3rem; }
.hot-opt input { min-width: 0; width: auto; }

.steps {
  display: flex; gap: 0.5rem; flex-wrap: wrap;
  list-style: none; margin: 0.7rem 0 0.5rem; padding: 0;
  font-size: 0.82rem;
}
.steps li {
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--muted);
}
.steps li.on {
  border-color: var(--ink);
  color: var(--ink);
  font-weight: 600;
}
.banner {
  background: #fbf3e6; border: 1px solid #e2c48a; color: #7a5520;
  padding: 0.55rem 0.8rem; margin: 0 0 0.85rem; font-size: 0.88rem; line-height: 1.45;
}
.banner.ok { background: #eaf4ef; border-color: #9cc9b4; color: #1f5c45; }
.banner.hidden { display: none; }

.filters { align-items: flex-start; }
.ledger-box {
  background: var(--card);
  border: 1px solid var(--line);
  padding: 0.45rem 0.8rem;
}
.ledger-box summary { cursor: pointer; font-size: 0.86rem; white-space: nowrap; }
.ledger-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.5rem 1rem;
  margin: 0.7rem 0 0.4rem;
}
.ledger-grid label {
  display: flex; justify-content: space-between; align-items: center;
  gap: 0.5rem; font-size: 0.86rem;
}
.ledger-grid input { width: 6.5rem; min-width: 0; }

.cards { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }

.card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.5rem; }
.card h3 { cursor: pointer; }
.card h3:hover { color: var(--accent); }

/* 进 → 卖 → 赚，一眼看完 */
.money-row {
  display: flex; align-items: baseline; flex-wrap: wrap;
  gap: 0.45rem; margin: 0.5rem 0 0.15rem;
  font-variant-numeric: tabular-nums;
}
.money-row span { font-size: 1.14rem; font-weight: 600; }
.money-row i { font-style: normal; font-size: 0.74rem; font-weight: 400; color: var(--muted); margin-right: 0.18rem; }
.money-row em { font-style: normal; font-size: 0.74rem; font-weight: 400; }
.money-row .arrow { color: var(--muted); font-weight: 400; font-size: 0.95rem; }
.money-row .earn { color: var(--accent); font-size: 1.32rem; }
.money-sub { font-size: 0.8rem; color: var(--muted); margin-bottom: 0.5rem; }
.money-sub b { color: var(--ink); }

.warns {
  background: #fbf3e6; border-left: 3px solid #c08a3e;
  padding: 0.35rem 0.55rem; font-size: 0.8rem; color: #7a5520;
  margin-bottom: 0.5rem;
}
.warns div + div { margin-top: 0.2rem; }

.stalls { margin-bottom: 0.5rem; }
.stalls-head { font-size: 0.86rem; font-weight: 600; margin-bottom: 0.3rem; }
.stall-list { list-style: none; margin: 0; padding: 0; }
.stall { border-top: 1px solid var(--line); padding: 0.4rem 0; }
.stall-line { display: flex; align-items: center; gap: 0.45rem; font-variant-numeric: tabular-nums; }
.rank {
  width: 1.15rem; height: 1.15rem; line-height: 1.15rem; text-align: center;
  background: var(--ink); color: #fff; font-size: 0.7rem; flex: none;
}
.stall-price { font-weight: 600; }
.stall-profit { color: var(--accent); font-size: 0.86rem; }
.stall-line .link-btn.sm { margin-left: auto; font-size: 0.76rem; padding: 0.2rem 0.4rem; }
.stall-title { font-size: 0.82rem; margin: 0.15rem 0 0.1rem; line-height: 1.35; }
.stall-meta { font-size: 0.75rem; color: var(--muted); }

.badge {
  display: inline-block; padding: 0.02rem 0.3rem; font-size: 0.7rem;
  border: 1px solid var(--line); color: var(--muted); margin-right: 0.15rem;
}
.badge.ok { color: var(--accent); border-color: var(--accent); }
.badge.warn { color: #8a6a1f; border-color: #c08a3e; }

.how { font-size: 0.8rem; margin-bottom: 0.4rem; }
.how summary { cursor: pointer; color: var(--muted); }
.how-body { padding: 0.35rem 0 0 0.6rem; color: var(--muted); line-height: 1.6; }
.how-body b { color: var(--ink); }

.card.plain .plain-line { font-size: 0.92rem; margin: 0.3rem 0 0.15rem; }

.verdict {
  display: inline-block; padding: 0.08rem 0.35rem; font-size: 0.72rem;
  border: 1px solid currentColor; flex: none;
}
.v-doable { color: var(--accent); }
.v-doable_risky { color: #8a6a1f; }

.detail-head { background: var(--card); border: 1px solid var(--line); padding: 0.85rem 1rem; margin: 0.8rem 0; }
.detail-head h2 { margin: 0 0 0.3rem; font-size: 1.3rem; }
.kv { display: flex; flex-wrap: wrap; gap: 0.3rem 1.3rem; font-size: 0.84rem; margin-top: 0.4rem; }
.kv b { font-variant-numeric: tabular-nums; }

table.offers { width: 100%; border-collapse: collapse; font-size: 0.85rem; background: var(--card); }
table.offers th, table.offers td {
  border-bottom: 1px solid var(--line); padding: 0.4rem 0.5rem; text-align: left; vertical-align: top;
}
table.offers th { background: #efe9dd; font-weight: 600; }
table.offers td.num { text-align: right; font-variant-numeric: tabular-nums; }
table.offers tr.bad td { color: var(--muted); background: #f6f2ea; }
table.offers img { width: 46px; height: 46px; object-fit: cover; }

pre.raw {
  background: var(--card); border: 1px solid var(--line); padding: 0.8rem;
  overflow: auto; max-height: 60vh; font-size: 0.8rem; white-space: pre-wrap;
}
