/* 小月 pond-shop-v1 两区制，接到真实寻霖塘弹窗；仅作用于商店面板。 */
.ps-shop-dialog {
  --ps-card: #fffbf2;
  --ps-ink: #513e29;
  --ps-ink-soft: #6b543a;
  --ps-wood: #8a6a45;
  --ps-wood-line: #d8c49a;
  --ps-gold: #d8a63c;
  --ps-accent: #a03e28;
  --ps-font: Georgia, "Songti SC", "STSong", serif;
  color: var(--ps-ink);
  font-family: var(--ps-font);
}
.ps-shop-dialog, .ps-shop-dialog *, .ps-shop-dialog *::before, .ps-shop-dialog *::after { box-sizing: border-box; }
.ps-zone-title { display: flex; align-items: baseline; gap: 8px; margin: 18px 0 10px; }
.ps-zone-title:first-of-type { margin-top: 8px; }
.ps-zone-title h2 { margin: 0; font-size: 16px; font-weight: 800; letter-spacing: 1px; }
.ps-zone-title .note { color: var(--ps-ink-soft); font-size: 11px; }
.ps-zone-title .line { flex: 1; align-self: center; border-top: 1.5px dashed var(--ps-wood-line); }
.ps-shop-dialog .ps-shelf { display: grid; gap: 10px; }
.ps-shop-dialog .ps-player-shop-only-hidden { display: none !important; }
.ps-shop-dialog .ps-goods { border-color: var(--ps-wood) !important; background: var(--ps-card) !important; box-shadow: 0 3px 0 rgba(138,106,69,.18); }
.ps-shop-dialog .ps-goods .ps-live-stock { margin-top: 4px; color: var(--ps-ink-soft); font-size: 11px; font-weight: 700; }
.ps-shop-dialog .ps-goods .ps-live-stock strong { color: var(--ps-accent); }
.ps-shop-dialog .ps-batch-hidden { display: none !important; }
.ps-shop-dialog .ps-btn { min-height: 44px; border-color: var(--ps-wood) !important; font-weight: 800; }
.ps-shop-dialog .ps-btn:focus-visible, .ps-shop-dialog .ps-dex-guide:focus-visible,
.ps-shop-dialog .ps-market-summary:focus-visible, .ps-shop-dialog .ps-market-buy:focus-visible { outline: 3px solid var(--ps-gold); outline-offset: 2px; }
.ps-shop-dialog .ps-btn.soldout { border-color: #c9bca4 !important; background: #eae2d2 !important; color: #7a6a55 !important; cursor: not-allowed; }
.ps-dex { position: relative; margin-top: 8px; padding: 14px 12px; border: 1.5px dashed #b89d6f; border-radius: 16px; background: rgba(244,234,210,.6); }
.ps-dex .no-sale { position: absolute; top: -11px; right: 14px; padding: 3px 10px; border-radius: 999px; background: var(--ps-ink-soft); color: var(--ps-card); font-size: 10px; font-weight: 800; letter-spacing: 1px; }
.ps-dex-list { display: grid; gap: 8px; margin-top: 6px; }
.ps-dex-item { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1.5px solid var(--ps-wood-line); border-left: 5px solid #8a6248; border-radius: 12px; background: var(--ps-card); }
.ps-dex-item.guide { border-left-color: #3e8e5a; }
.ps-dex-item.rare { border-left-color: #c89b2e; }
.ps-dex-item.bug2 { border-left-color: #6b4a8a; }
.ps-dex-item.bug3 { border-left-color: #4a3823; }
.ps-dex-item .icon { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1.5px solid var(--ps-wood-line); border-radius: 10px; background: linear-gradient(160deg,#fff8e8,#f0e2c8); font-size: 23px; }
.ps-dex-item .info { min-width: 0; flex: 1; }
.ps-dex-item .name { font-size: 14px; font-weight: 800; }
.ps-dex-item .code { margin-left: 5px; padding: 1px 6px; border: 1px solid var(--ps-wood-line); border-radius: 999px; color: var(--ps-ink-soft); font-size: 9px; letter-spacing: .5px; vertical-align: 1px; }
.ps-dex-item .effect { margin-top: 3px; color: var(--ps-ink); font-size: 11.5px; line-height: 1.5; }
.ps-dex-item .src { margin-top: 3px; color: var(--ps-ink-soft); font-size: 11px; }
.ps-market { margin-top: 8px; }
.ps-market-status, .ps-market-empty, .ps-market-feedback { padding: 7px 9px; border-radius: 9px; background: #f4ead4; color: var(--ps-ink-soft); font-size: 10.5px; line-height: 1.45; }
.ps-market-empty a { color: #77512f; font-weight: 800; text-underline-offset: 2px; }
.ps-market-feedback { margin-bottom: 6px; border: 1px solid #c9a86f; background: #fff4cf; color: #63441f; font-weight: 800; }
.ps-market-summary { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border: 1.5px solid #b89d6f; border-radius: 10px; background: linear-gradient(#fff9e9,#efdfbd); color: var(--ps-ink); text-align: left; }
.ps-market-live { font-size: 11px; font-weight: 800; }
.ps-market-open { flex: 0 0 auto; color: #8b4f2d; font-size: 10px; font-weight: 800; }
.ps-market-list { display: grid; gap: 6px; margin-top: 6px; }
.ps-market-offer { display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid #d8c49a; border-radius: 10px; background: #fffdf7; }
.ps-market-copy { min-width: 0; flex: 1; }
.ps-market-copy .shop { overflow: hidden; color: var(--ps-ink); font-size: 10.5px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ps-market-copy .meta { margin-top: 2px; color: var(--ps-ink-soft); font-size: 9.5px; }
.ps-market-buy { flex: 0 0 auto; min-height: 44px; max-width: 126px; padding: 6px 9px; border: 1.5px solid var(--ps-wood); border-radius: 999px; background: linear-gradient(#f9edd0,#e4c994); color: #5d4426; font-size: 10px; font-weight: 800; line-height: 1.25; }
.ps-market-buy:disabled { opacity: .62; cursor: wait; }
.ps-stove { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; gap: 2px; color: var(--ps-ink-soft); font-size: 9px; font-weight: 800; }
.ps-stove .lvl { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 2px solid var(--ps-wood); border-radius: 50%; background: linear-gradient(160deg,#fff8e8,#efddc0); font-size: 12px; }
.ps-dex-guide { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 12px; border: 2px solid var(--ps-wood); border-radius: 999px; background: linear-gradient(#fbf5e6,#ead8b2); color: #5d472f; font-size: 13px; font-weight: 800; text-decoration: none; }
@media (max-width: 340px) {
  .ps-zone-title .note { display: none; }
  .ps-dex-item { gap: 8px; padding: 9px 8px; }
  .ps-dex-item .code { display: block; width: max-content; margin: 3px 0 0; }
  .ps-market-offer { align-items: stretch; flex-direction: column; }
  .ps-market-buy { width: 100%; max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .ps-shop-dialog .ps-btn { transition: none !important; } }
