.shop-card:disabled { cursor: default; filter: grayscale(1) brightness(.65); }
.shop-card:disabled:hover { transform: none; }
.shop-card:disabled .card-art img { transform: scale(1.08); }
.shop-card.owned-monster:disabled::after { display: none; }
.sold-card { border-color: #67736755; background: radial-gradient(ellipse at center,#53644a13,transparent),#1b2522; align-items: center; justify-content: center; color: #9eaf96; gap: 7px; box-shadow: inset 0 0 20px #0002; }
.sold-card::before { display: none; }
.sold-card strong { font-size: 12px; font-weight: 500; }
.sold-card small { font-size: 9px; color: #778a7a; }
.sold-symbol { font-size: 26px; color: #a5b48d; }
.merge-hint { position: absolute; z-index: 3; top: 9px; right: 8px; padding: 5px 7px; border: 1px solid #f3d38a66; border-radius: 3px; background: #263326e8; color: #ffe5a7; font-size: 8px; letter-spacing: .7px; box-shadow: 0 2px 10px #10151060; }
.completes-merge { border-color: #dfc481; box-shadow: 0 0 0 1px #d9b75955,0 0 18px #d9b73022; }
.unit-visual { transform: scale(var(--unit-scale,1)); transform-origin: 0 0; pointer-events: none; }
.unit-star-badge { pointer-events: none; }
.unit-star-badge rect { fill: #24322ce8; stroke: #b9c7ac66; stroke-width: .8; }
.unit-stars { font-size: 12px; letter-spacing: 1px; fill: #d4dccc; }
.unit[data-stars="2"] .unit-stars,.unit[data-stars="3"] .unit-stars { fill: #ffe3a0; }
.unit[data-stars="3"] .unit-star-badge rect { stroke: #f5d18a; fill: #544325ed; }
.unit .unit-name { font-size: 11px; }
.unit[aria-pressed="true"] .unit-name { opacity: 1; }
.placing-unit .unit:not([aria-pressed="true"]) .unit-name { opacity: 0; }
#merge-effects { pointer-events: none; }
.merge-ghost { filter: drop-shadow(0 0 6px #ffe29d); }
.evolution-toast { position: absolute; z-index: 4; left: 50%; bottom: 46px; transform: translateX(-50%); pointer-events: none; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 13px 25px; border: 1px solid #e8d29860; background: linear-gradient(110deg,#26332ef2,#3e4131f2); border-radius: 4px; box-shadow: 0 0 35px #ead17a1c,0 7px 20px #10191855; color: #f8e5b4; white-space: nowrap; }
.evolution-title { font-size: 12px; letter-spacing: .3px; }
.evolution-stars { font-size: 24px; letter-spacing: 5px; margin-left: 5px; color: #ffe1a2; text-shadow: 0 0 15px #efce7380; }
.evolution-toast[data-stars="3"] { border-color: #ffe1a2; background: linear-gradient(110deg,#45422bf2,#333e2ff2); }
.level-panel { display: flex; align-items: center; }
.level-info { width: 100%; }
.xp-action:disabled { opacity: .35; }
.shop-actions .action-label small { font-size: 8px; }
.sell-drop-zone { position: absolute; z-index: 6; inset: 8px; width: calc(100% - 16px); border: 1px dashed #cbb776; border-radius: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #f5e3ad; background: radial-gradient(ellipse at center,#555336e8,#202c29f5 70%); box-shadow: inset 0 0 30px #d8b9570e; transition: border-color .15s, background .15s, box-shadow .15s; }
.sell-drop-zone[hidden] { display: none; }
.sell-eyebrow { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #c6ba90; }
.sell-monster { font-size: 23px; font-weight: 550; }
.sell-refund { color: #ffdf8d; font-size: 29px; font-weight: 650; text-shadow: 0 0 20px #e5c56a50; }
.sell-help { font-size: 10px; color: #b5bba6; margin-top: 3px; }
.selling-unit .shop-inner { opacity: .2; }
.sell-hover .sell-drop-zone,.sell-drop-zone:hover,.sell-drop-zone:focus-visible { border: 2px solid #f8d582; background: radial-gradient(ellipse at center,#706238f5,#26382ff5 75%); box-shadow: inset 0 0 55px #d8b95722,0 0 20px #d8b95722; outline: none; }
.monster-drag-ghost { position: fixed; z-index: 100; pointer-events: none; width: 64px; transform: translate(-50%,-85%); display: flex; flex-direction: column; align-items: center; filter: drop-shadow(0 8px 5px #1118); }
.monster-drag-ghost img { width: 64px; height: 64px; object-fit: contain; }
.monster-drag-ghost span { border: 1px solid #e9c97980; border-radius: 8px; padding: 0 6px; color: #ffe3a0; background: #24322ce8; font-size: 12px; line-height: 16px; letter-spacing: 1px; }
.unit.dragging { opacity: 0; }
@media(prefers-reduced-motion:reduce){.sell-drop-zone{transition:none}}
@media(max-width:520px){.preview-badge{display:none}.merge-hint{font-size:7px;right:6px;padding:4px}.evolution-toast{bottom:55px;padding:10px 18px}.evolution-title{font-size:11px}.evolution-stars{font-size:21px}}
