.store-main { padding-block: 48px 80px; }
.store-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.gem-balance { display: flex; align-items: center; gap: .5rem; padding: .6rem 1rem; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--panel); font-size: 1.05rem; }
.gem-balance b { font-variant-numeric: tabular-nums; }
.gem { width: 14px; height: 14px; background: #7fd3ff; transform: rotate(45deg); border-radius: 3px; box-shadow: inset -3px -3px 0 rgba(0,0,0,.25); }
.store-section h2 { margin: 2rem 0 .75rem; }
.store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 1rem; }
.store-card { display: flex; flex-direction: column; gap: .5rem; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.store-card[data-equipped="true"] { border-color: var(--accent); }
.store-preview { display: grid; place-items: center; height: 132px; border-radius: 8px; background: repeating-conic-gradient(#2a2733 0 25%, #1f1c27 0 50%) 0 0 / 16px 16px; }
.store-preview canvas { image-rendering: pixelated; width: 96px; height: 96px; }
.nameplate-preview { padding: .3rem .75rem; border: 2px solid; border-radius: 6px; font-weight: 600; }
.store-card h3 { margin: 0; font-size: 1.05rem; }
.store-card p { margin: 0; color: var(--muted); font-size: .9rem; min-height: 1.2em; }
.store-price { display: flex; align-items: center; gap: .4rem; font-variant-numeric: tabular-nums; }
.store-card .actions { margin-top: auto; display: flex; gap: .5rem; flex-wrap: wrap; }
.store-card .badge { font-size: .8rem; color: var(--accent-soft); }
.gem-pack-amount { display: flex; align-items: center; gap: .6rem; font-size: 1.4rem; font-weight: 700; font-variant-numeric: tabular-nums; }
#gem-packs > .fine { margin-bottom: 1rem; }
