/* ==========================================================================
   STICK SURVIVORS: GUT GENUG — SHOP (every boss, after the arena reroll)
   Single-owner stylesheet for src/systems/credits_and_shop.js.
   Reuses the existing .cyber-rarity--* accent classes (common/rare/epic/
   unique/exceptional) already defined in ui_overhaul.css / final_0943's
   injected CSS, so shop cards match the same rarity language as the rest
   of the game.
   ========================================================================== */

#shopScreen {
  position: fixed;
  inset: 0;
  z-index: var(--cyber-z-panel);
  background:
    radial-gradient(circle at 50% 8%, rgba(101, 255, 200, 0.10), transparent 32%),
    rgba(2, 4, 10, 0.94);
  padding: 24px;
  overflow: auto;
  align-items: center;
  justify-content: center;
}
#shopScreen:not(.hidden) { display: flex !important; }

.shop-panel {
  width: min(1240px, 96vw);
  max-height: 94vh;
  overflow: auto;
  border-radius: var(--cyber-radius-lg);
  border: 1px solid var(--cyber-line);
  background: linear-gradient(150deg, rgba(8, 12, 24, 0.97), rgba(4, 7, 16, 0.95));
  box-shadow: 0 30px 110px rgba(0, 0, 0, 0.6), 0 0 90px rgba(101, 255, 200, 0.10);
  padding: 26px;
  scrollbar-width: thin;
}

.shop-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--cyber-line-soft);
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.shop-kicker {
  font-family: var(--cyber-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.3em;
  color: var(--cyber-mint);
  text-shadow: 0 0 16px rgba(101, 255, 200, 0.5);
}
.shop-head h2 {
  font-family: var(--cyber-font-display);
  font-weight: 900;
  letter-spacing: 0.1em;
  font-size: clamp(28px, 3.6vw, 40px);
  margin: 6px 0 6px;
  color: var(--cyber-white);
}
.shop-head p { max-width: 560px; color: var(--cyber-grey); line-height: 1.5; font-size: 0.86rem; }
.shop-credits {
  font-family: var(--cyber-font-mono);
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  color: var(--cyber-grey);
  border: 1px solid var(--cyber-line-soft);
  border-radius: 999px;
  padding: 10px 18px;
  white-space: nowrap;
}
.shop-credits b { color: var(--cyber-mint); font-size: 1.15rem; }

.shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.shop-card {
  position: relative;
  border-radius: var(--cyber-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient(160deg, rgba(10, 14, 26, 0.92), rgba(6, 9, 18, 0.85));
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.shop-card__icon { font-size: 2rem; }
.shop-card__rarity { font-family: var(--cyber-font-mono); font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; opacity: .85; }
.shop-card__name { font-family: var(--cyber-font-display); font-weight: 900; font-size: 1rem; color: var(--cyber-white); }
.shop-card__desc { font-size: 0.78rem; color: var(--cyber-grey); line-height: 1.4; min-height: 44px; }
.shop-card__buy {
  margin-top: auto;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid var(--cyber-mint);
  background: rgba(101, 255, 200, 0.10);
  color: var(--cyber-white);
  font-family: var(--cyber-font-mono);
  font-weight: 900;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background .2s, transform .15s;
}
.shop-card__buy:hover { background: rgba(101, 255, 200, 0.22); transform: translateY(-1px); }
.shop-card__buy:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.shop-card--bought { opacity: 0.5; }
.shop-card--bought .shop-card__buy { pointer-events: none; }

.shop-card--spinning {
  filter: blur(0.5px);
  border-color: rgba(98, 246, 255, 0.35);
}
.shop-card--spinning .shop-card__icon,
.shop-card--spinning .shop-card__name,
.shop-card--spinning .shop-card__rarity {
  animation: shop-slot-cycle 0.09s linear infinite;
}
@keyframes shop-slot-cycle {
  0% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(-3px); opacity: 0.75; }
  100% { transform: translateY(0); opacity: 1; }
}
.shop-card--landed {
  animation: shop-slot-land 0.4s var(--cyber-ease, ease-out);
}
@keyframes shop-slot-land {
  0% { transform: scale(1.12); box-shadow: 0 0 40px currentColor; }
  60% { transform: scale(0.97); }
  100% { transform: scale(1); }
}
.shop-card__buy:disabled.shop-card__buy--spin { opacity: 0.15; }

.shop-actions { display: flex; gap: 12px; }
.shop-actions #shopContinueButton { flex: 2; }
.shop-actions #shopRerollButton { flex: 1; white-space: nowrap; }
.shop-actions button:disabled { opacity: 0.4; cursor: not-allowed; }

@media (max-width: 640px) {
  .shop-head { flex-direction: column; }
}
