/* ============================
   商店样式
   ============================ */
#screen-shop {
  background: radial-gradient(ellipse at center, rgba(255,215,0,0.03) 0%, transparent 70%);
  flex-direction: column;
  padding-top: 60px;
  overflow-y: auto;
}
.shop-header {
  text-align: center;
  margin-bottom: 16px;
}
.shop-header h2 {
  font-size: 28px;
  font-weight: 900;
  text-shadow: 0 0 15px rgba(255,215,0,0.3);
  margin-bottom: 4px;
}
.shop-gold-display {
  font-size: 12px;
  color: var(--gold);
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(2, 240px);
  gap: 20px;
  padding: 10px 20px 40px;
}

.shop-card {
  width: 240px; height: 200px;
  border-radius: 14px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  background: linear-gradient(180deg, rgba(12,18,42,0.92), rgba(8,12,32,0.88));
  border: 1px solid rgba(60,60,80,0.3);
}
.shop-card.can-buy {
  border-color: rgba(255,215,0,0.5);
}
.shop-card.can-buy:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 30px rgba(255,215,0,0.2);
  border-color: var(--gold);
}
.shop-card.maxed {
  cursor: default;
  opacity: 0.5;
}

.shop-card-body {
  padding: 16px;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.shop-card-icon {
  font-size: 28px;
  margin-bottom: 8px;
}
.shop-card-name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px;
}
.shop-card-desc {
  font-size: 11px;
  color: var(--dim);
  margin-bottom: auto;
}
.shop-card-level {
  font-size: 10px;
  margin-bottom: 6px;
}
.shop-card-level-dots {
  display: flex;
  gap: 3px;
  justify-content: center;
}
.shop-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
}
.shop-dot.filled {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 0 6px rgba(255,215,0,0.4);
}
.shop-card-price {
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
}
.shop-card.maxed .shop-card-price {
  color: var(--green);
}
