.btn { width: 22px; height: 22px; border-radius: 4px; border: 1px solid rgba(var(--gold-rgb), 0.25); background: var(--bg-inset); color: var(--text-secondary); cursor: pointer; font-size: 0.75rem; display: flex; align-items: center; justify-content: center; transition: border-color 0.15s, color 0.15s, background 0.15s, box-shadow 0.15s; box-shadow: inset 0 1px 2px rgba(var(--shadow-rgb), 0.3); } .btn:hover { border-color: rgba(var(--gold-rgb), 0.6); color: var(--gold); background: rgba(var(--gold-rgb), 0.08); box-shadow: 0 0 6px rgba(var(--gold-rgb), 0.15), inset 0 1px 2px rgba(var(--shadow-rgb), 0.2); } .btn:active { background: rgba(var(--gold-rgb), 0.15); } .btn.crit { border-color: var(--crit); color: var(--crit); animation: critPulse 1s ease-in-out infinite; box-shadow: 0 0 8px rgba(var(--crit-rgb), 0.3); } @keyframes critPulse { 0%, 100% { box-shadow: 0 0 4px rgba(var(--crit-rgb), 0.3); } 50% { box-shadow: 0 0 12px rgba(var(--crit-rgb), 0.6); } }